Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Release Notes for Nuke and Hiero 15.1v1

# Release Date

13 June 2024

# New Features

## OpenAssetIO

- OpenAssetIO Support for Ingest Nodes
  We are expanding OpenAssetIO integration in Nuke. In Nuke 15.1, file knobs may contain OpenAssetIO entity references instead of direct file paths. References point to assets managed by an external asset system. Nuke will resolve the reference to a file or sequence of files as needed. Frame Range, Original Range and Input Transform/Colorspace properties can also be configured automatically from the asset if they are available.

## BlinkScript

- Usability Updates
  We’ve made some targeted changes to enhance existing workflows and make it simpler for new users to get started with Blink. The Blinkscript Documentation, found in the Documentations > Blink User Guide folder included with the Nuke build, has been updated to make information clearer and easier to discover. We’ve also added new documentation on areas that were previously missing like Variable Types including Matrices, Maths Functions and supported C++ language features and specializations.
  Existing Blink users will also see the benefits of the updated documentation and from improvements made to error handling that mean that where previously certain errors would fail silently on some platforms, now when a compilation error occurs the relevant details will be given as warning, making kernels easier to troubleshoot.

- Unlocked Layer Channel Mapping
  In 15.1 we’ve streamlined BlinkScript workflows for artists and technical developers by extending the BlinkScript node to pass in up to four channels of any kind of image layer into an input pipe. By taking advantage of the unlocked multiple image inputs you can now more easily build non RGBA channels into your custom BlinkScript effects. Artists can take full advantage of these parameters without needing to use any unnecessary shuffle nodes on input. This update extends to the node’s output, which will now pass up to four channels of any image layer type.

## OpenTimelineIO

- OTIO Full Round Trip

  This feature is for Nuke Studio and Hiero users who need to import a timeline from an editorial suite (including round-tripping).

  - To access the Import dialog go to File > Import OTIO. You can also import an OTIO as an additional track in an existing timeline by right-clicking on the track and selecting New Track > New Track(s) from OTIO. For exporting, access the export dialog from the File menu, right-click bin and timeline menus, or using the keyboard shortcut Ctrl/Cmd+Shift+E.
  - Nuke Studio, Hiero or Hiero Player can Import an OTIO created by Nuke family products, retaining all metadata.
  - You will be able to import OTIOs created by most other editing software.
  - You will also be able to export (and re-import) Nuke Studio or Hiero multi-track timelines as OTIO metadata sequences, retaining the following: Shot and track effects, Shot and track enabled state, Timewarps (with keyframes), Track Blend mode, Shot colorspace, Linear retimes, Linear and non-linear transitions, Sequence format, Shot reformat properties, Tags and editorial markers, Audio tracks, Track item link status, Track locked state.
  - Nuke comp containers can be linked to either the Nuke Scripts or the rendered media, and we have also included an option to export either with or without Soft Effects.

  Pipeline-ability

  - OTIO’s JSON text format is human-readable, and procedurally manipulable (e.g. by Python). We are hoping this will open many options for custom modification, and creation of OTIOs - compatible with Nuke Studio, Hiero & Hiero Player.

  NOTE

  - Non-standard OTIO effects are stored in custom OTIO metadata objects.
  - Hiero Player only supports importing OTIO (exporting will require a Hiero license).

## Viewer Saturation Control

- For Nuke 14.1 and 15.0, we added a saturation slider to Nuke’s Comp Viewer. This was a small but much-requested feature, designed to help you check your work, much like the Gamma and Gain controls already available. For Nuke 15.1, we have added the Saturation Slider to the Timeline Viewer, including Monitor Out, and the Flipbook Viewer, so that you can review the saturation levels across your shots in context.

## Compare Review

- Compare Review
  In a further enhancement to our review capabilities we have updated the Compare tools in both nodegraph and the timeline products.
  Compare is an integral part of the review process and these improvements are designed to make compare easier to use, quicker and more informative.

  - Compare tools GUI updates

    - All products

      - New Compare tool grouping
      - New compare ON/OFF control
      - New Preference for Compare mode
      - Viewer process control made variable width

    - Nuke Studio/Hiero only

      - The Tag and Track chooser have been separated
      - Display of active play head being used
      - Label to display sequence name when different sequences in A & B buffer

## Compare

- In order to improve the Compare experience in Nuke Studio/Hiero we have updated the GUI to make it easier to use the compare tools (A&B Buffers, multi head etc)
  This should make it quicker and easier whilst providing good feedback from the GUI thus helping the user to understand at a glance what they are looking at.

## Monitor Out Improvements

- NDI Resolution Control

  We are continuing with further improvements to NDI and in this release are pleased to announce support for Resolution control when using NDI in the Monitor Out.
  The implementation is an enhancement to the “Display Mode” knob and adds resolution control as well as frame rate.

  This feature is primarily for Nuke Studio users who wish to limit the resolution of the NDI stream (maybe for hardware downstream related reasons) whilst maintaining the resolution of their local timeline display. In Nuke Studio the image will be scaled from the timeline resolution (this is the same behavior as in SDI cards) ie "a non video friendly timeline working resolution like 4096x2160 - could be fitted to 1920x1080 to display on any NDI receiving device - resulting in a scaled by width view of your timeline, with small black bars top and bottom on the receiving screen."

- “Show Panel” option for Output Transform

  For users who register their own viewer processes directly in Nuke the “show panel” option in the View Transform menu has always been extremely useful. This functionality has now also been added to the Monitor Out Output Transform.
  This allows users to easily access the node properties for the custom viewer process being applied to the monitor out device.

## Custom USD Version

- Supporting pipelines wanting to work with their own custom USD versions, we have updated and reorganized how we provide our USD data so that it lives in its own subfolder and has the same structure as a USD build. All of this should make it easier to work with both your Nuke and USD versions of choice.

## Stage Building Improvements

- In this release we are further optimizing how Nuke builds and composes stages in the new 3D stages. By improving the efficiency of when stage calls happen and reducing how often they occur, we can continue to push the new 3D systems performance to allow you to work at even greater scales in Nuke. For artists you won't have to change how you work, but will just see greater performance responsiveness when working with large scenes or long chains of 3D nodes.

## Time Ops - Time Remapping

- Working with time is a key component to 3D workflows in Nuke. A USD architecture provides new opportunities and new challenges, so with this release we are focusing on how we can ensure artists can continue to work with workflows they are used to in the new 3D system. The TimeOffset and FrameHold nodes now have a new Fractional Time mode to support subframe adjustments to give artists even greater control when working with 3D animation data. The GeoImport and GeoReference nodes have new Time remapping knobs that allow you to speed up, slow down, or offset an entire stage or specific parts. And the new GeoUVProject node now has the ability to set a reference frame for the projection essentially allowing you to stick your projection to moving geometry.

## USD Version 23.11

- In this release users can work with USD Version 23.11 right out of the box with Nuke, helping to ensure all Nuke users can get access to an up to date version of USD.

## File Format and SDK updates

- Data Range control when reading in .mov files

  The Data Range control knob has been enabled when reading in .mov files. This knob existed before but was restricted to use with DNx files only. This functionality has now been expanded to include .mov files and the associated tooltip has been updated accordingly.

  This feature gives users more control over the processing of the image when read into Nuke

- Red R3D SDK Update - 8.4.0

  This SDK update contains bug fixes for previous releases and includes

  - Initial support for the new V-Raptor [X] camera.
  - Important additional lens metadata is now available to Nuke users.

  NOTE: This SDK provides an improved IPP2 demosaic edge interpolation on strong color transitions - this may affect image appearance on projects from older versions of Nuke

- DNxHD .mxf Writing

  Support has been added for writing DNxHD files in an MXF wrapper

  - Feature is very similar to the currently supported DNxHR.mxf writing
  - Possible to write both OP-Atom and OP-1A patterns
  - Only possible to export fixed frame rates

  - Codec Profiles use new style naming conventions ie HQX, SQ etc

    - In this respect, it is different to the current DNxHD.mov writer

  This new feature will greatly enhance Avid-based workflows and will allow all users to import Nuke created DNxHD files automatically into Avid bins.

- Sony RAW SDK update - 5.0.0

  This SDK update contains bug fixes for previous releases and also includes

  - Support for the new Burano camera.
  - Supports updated Venice 2
  - Support ICVFX Mode on X-OCN of MPC-3628 or MPC-3626 V3.0
  - New camera metadata added
  - Nesting of Linear Gain controls

## Machine Learning

- Added the ability to use Mixed Precision training in CopyCat.
  When this option is turned on, CopyCat will use half-precision floating point on some operations during training (i.e. linear layers and convolutions) while keeping the full floating point datatype on operations that require the precision (i.e. reductions). Matching each op to its appropriate datatype can reduce your network’s memory footprint and increase the performance (up to 2x).
  This option is only available when training using NVidia GPUs and primarily benefits Tensor Core-enabled architectures (Volta, Turing, Ampere).

- A new context menu has been added to CopyCat's run table allowing users to manage their runs, the available options are:

  - Toggle Visibility: this is a welcomed quality of life improvement, allowing to control what's displayed in the graph in a much more direct and quick way.
  - Delete Training Runs: this option allow users to delete runs (by deleting all the files associated with a run) from CopyCat, enabling artist to manage their data.
  - Create Inference: as the name indicates, it's now easier than ever to create inference nodes using the latest checkpoints of the selected runs.
  - Resume Training: until now, it was only possible to resume the most recent run, this option allows to pick any of your existing runs and continue training from there.

- PyTorch updated - 2.1.1

  This update brings improved performance and stability, particularly for Mac users, and greater compatibility when converting PyTorch models for use in Nuke.

## Multishot

- We are excited to start the journey towards enabling a native Multishot compositing workflow in Nuke. We want to support artists in becoming more efficient, giving them more control and making Multishot workflows easier.

  Hiero 17.0v4 includes the early release of some features allowing for ongoing testing and development to ensure we deliver meaningful and impactful workflows in upcoming releases. We have currently hidden the UI for these Multishot features under one environment variable:

  Linux/macOS: `export NUKE_MULTISHOT=1`

  Windows: `set NUKE_MULTISHOT=1`

  You can see a workflow example here: GSV Workflow Example

  The private features, listed below, are all designed to enable Multishot workflows:

## Graph Scope Variables

- Graph Scope Variables (GSVs) are the backbone that enables a native Multishot compositing workflow in Nuke. GSVs allow you to define, store and access the data required for multiple contexts or scopes in a single Nuke script.

  The workflow, however, becomes more powerful when combined with Group nodes. A Group node defines the “Scope” part of the Graph Scope Variables feature and introduces the ability to inherit and override variables.

## Group View

- The new Group View feature gives artists a convenient way to see inside and edit the contents of multiple Group nodes, without having to jump to different tabs, making it faster and easier to adjust your comp in multiple different groups at the same time.

  Group nodes are also an integral part of the new multishot and Graph Scope Variables feature, providing a way to organize and manage multiple scopes, so being able to see inside those Groups from the main DAG is really useful in those workflows.

## Switch Node - Variable Mode

- This feature allows for easier workflows when working within a MultiShot environment. This essentially enables a split and join style workflow similar to what’s available in the Views system in Nuke.

  We have added a new mode in the existing Switch node. The node has patterns per every input in the node, where variables can be used.

  The default behavior of the switch node will not change, only when selecting the variable mode will the user be working with variables.

# Feature Enhancements

## 3D

- TimeOffset node now compatible with the new 3D system

- FrameHold node now compatible with the new 3D system

- Offset and Scale knobs added to GeoImport and GeoReference to allow for greater time remapping controls

- We changed the API for the PathKnob for defining which USD stage it uses to populate.

- GeoUVProject can now project UV's fixed to a single frame

- Create nodes no longer create an additional xform by default on node creation

## BlinkScript

- The documentation for setRange() using eAccessRanged has been updated

- The documentation for kernel variables has been clarified and extended to include information on general variable types

- The default BlinkScript kernel has been updated to Swirlomatic

## Python

- Users can now add, insert, and remove Soft Effects to bin clips via Python.

## Rocky 9

- On Linux plugins can optionally be loaded with the `RTLD\_DEEPBIND` flag. This means symbol conflicts with Nuke can be avoided. Deep bind can be enabled for all plugins by setting the `NUKE\_PLUGIN\_DEEPBIND\_LIST` environment variable to `all`. Deep bind can be selectively enabled by setting `NUKE\_PLUGIN\_DEEPBIND\_LIST` to a colon separated list of plugin filenames (either the filename, or the full path to the plugin).

## USD

- USD Version updated to 23.11

- Nukes path expression language is designed to align with USD's syntax but a few operators and syntax's had been missed. These now align with USD's syntax

- Nuke now uses version 0.5 of FnUsdShim and FnUsdAbstraction libraries.

# Bug Fixes

- ID 575752 - [Multishot] Channels indicator disappear when clicking DAG.

## Group View

- ID 569231 - Shaking to disconnect a node inside the Group View no longer causes a node's output arrow to disappear.

- ID 573844 - After selecting multiple nodes, in Groups and in the main DAG, the cut/paste operation no longer deletes all the selected nodes, and only pastes the last selected nodes.

- ID 574529 - The UI icon for open/close group internals is no longer missing on LiveGroups.

## Viewer Saturation Control

- ID 575261 - The tooltip for the saturation slider has been corrected.

## 3D

- ID 473244 - Animations play back correctly when a Usd has a squashed frame range.

- ID 475814 - Hydra viewer no longer distorts Project3D input if the source input has a bounding box that does not match the resolution.

- ID 498140 - Snap_menu options functionality works as expected in EditGeo node.

- ID 502363 - Match geo and Match pivot point now orient correctly.

- ID 505168 - Match selected position and orientation now snaps the correct geometry to a selection when multiple geo nodes are selected at once and their snap properties used.

- ID 510063 - Pivot point snapping works as expected if the user is snapping geometry at a very small or very large scale.

- ID 512532 - Fixed an issue where soft selection falloff radius was flipping between 0.001 and infinity.

- ID 515370 - GeoPrune Mask selection updates correctly in the viewer.

- ID 518795 - GeoCard no longer writes the control_point knob value to script even if it's the default value.

- ID 521505 - PointCloudGenerator no longer crashing when Viewer settings updated.

- ID 521619 - GeoPointsToMesh "No normals found" error no longer appears even if the input has normals.

- ID 524284 - Changing the scale via a GeoTransform node no longer makes the handles change size when opening the Geocube properties panel.

- ID 525492 - Tooltips added to the options in the Render Settings dropdown in the Viewer Properties for HDStorm.

- ID 526065 - Roto controls are now accessible in 3D view when using new geometry nodes.

- ID 533209 - Adding a keyframe to the Z or Lens-in Haperture value in a GeoCard node no longer causes it to disappear from the Viewer.

- ID 534290 - Nuke no longer hangs when making selections in vertex/face selection modes.

- ID 537386 - A 'NoneType object is not subscriptable error' no longer erroneously occurs when using the Snap Menu on points in a Point Cloud.

- ID 541228 - Modifying the Spotlight Cone Angle knob no longer causes a crash.

- ID 543519 - Viewing GeoPointsToMesh and PoissonMesh nodes no longer cause Nuke to crash.

- ID 545810 - Material selection now works when the Display Materials checkbox is disabled on the GeoImport node.

- ID 546247 - When adding to a selection using the ellipse tool, objects are no longer erroneously removed from the selection.

- ID 550605 - The GeoImport node correctly respects the Z up axis.

- ID 551419 - PointLight no longer shows a duplicate knob warning on creation and now correctly illuminates the scene.

- ID 551425 - Objects with textures/materials applied on them will now show after passing through a GeoMerge set to Flatten or Flatten to single layer.

- ID 551464 - USD errors that occur during the execution of a GeomEngine are now reported as op errors in the viewer and DAG again.

- ID 551511 - Connecting the viewer to GeoPointsToMesh or poissonmesh in a points to mesh workflow no longer causes nuke to crash on linux.

- ID 551759 - GeoUVProject now creates the correct attribute type and name.

- ID 552220 - Nuke no longer crashes when viewing PointsGenerator node.

- ID 552444 - Node.getStage() no longer returns an empty stage when run on a node connected to the viewer.

- ID 552825 - Transform handles are no longer affected by the downstream geo transformations if there are chained native geometries.

- ID 553423 - For GeoPointsToMesh and PoissonMesh lowering the 'Solver Divide' knob no longer causes Nuke to hang.

- ID 553549 - Nuke no longer crashes after manipulating Geo nodes handles during playback.

- ID 553805 - Executing GeoExport while the Viewer is connected to the graph no longer causes a crash.

- ID 553884 - GeoMerge no longer removes GeoPrune and GeoIsolate layers when in deisolate mode.

- ID 554118 - When using the classic system, htting F to frame now frames the entire scene correctly.

- ID 554198 - GeoBindMaterial when connected to GeoImport of the Pixar kitchen no longer makes Nuke non responsive.

- ID 554228 - Shader support added for nominal output format and evaluation fixes for single-float input connections.

- ID 554540 - Querying a pivot knob on Camera/Axis/Light nodes now returns the correct information.

- ID 554968 - Transformed image textures display correctly again on Classic 3D System geometry.

- ID 555532 - ScanlineRender1 and 2 now correctly recognize the TimeOffset and FrameRange nodes when connected after Camera node and no longer cause Nuke to hang.

- ID 555645 - Frame number now displays correctly when using a Text node output and [Frame] expression.

- ID 555681 - Authoring controls are now no longer visible when a knob is hidden.

- ID 555875 - GeoBindMaterial no longer errors when modified by a downstream node.

- ID 555909 - Nuke no longer crashes when disabling Frame Card and Frame Range.

- ID 556557 - Mode knob on TimeOffset and FrameHold now updates the stage.

- ID 556594 - Frame range of texture is now correctly passed through when connected to geometry nodes.

- ID 556659 - 3D viewer now updates correctly to changes made in the viewer or node properties.

- ID 557047 - Nuke no longer crashes when connecting a FrameHold to a GeoScene node when using fractional frames.

- ID 557212 - Nuke no longer crashes when connecting a GeoMerge A input to a node which is an ErrorOp.

- ID 557309 - TransformGeo Rotate axis no longer misaligned when copied from a 3D object.

- ID 557342 - GeoTransform handles were displaying incorrectly in a script containing a GeoScene node.

- ID 557356 - GeoCubes bounding box now moves with object rather than staying at the origin.

- ID 557672 - Transform handles now display correctly after connecting a GeoBindMaterial node.

- ID 558765 - The 3D transform controls are no longer missing when using the 2D Viewer.

- ID 559616 - Transformed image textures now display correctly in the 3D View compared to the 2D View.

- ID 561175 - GeoIsolate has correct knob default for 'invert mask' which now defaults to true.

- ID 561341 - Project3DShader's project_on knob value is now respected by the ScanlineRender2 node.

- ID 561512 - GeoTransform nodes now have a user control called 'Prim Match Priority' to control how doubled transformations are handled if {lastmodified} contains duplicate prim paths.

- ID 561513 - GeoBindMaterial node no longer causes {lastmodified} in downstream nodes to contain duplicate prims.

- ID 561809 - GeoMerge now setting the {lastmodified} union to the top layer in each input when set to modes that are not 'duplicate prims'.

- ID 561818 - Removed unnecessary stage composition in GeoMerge to improve performance.

- ID 562002 - Changing certain GeoCard knobs will no longer produce a "Failed to create spec" error while Viewing a GeoBindMaterial node downstream.

- ID 562003 - Changing a PreviewSurface node's Specular Color value will no longer disable the knob if a 2D Viewer is used and any image inputs are connected.

- ID 562004 - Nuke no longer crashes when viewing a GeoDuplicate node with an invalid prim path.

- ID 562005 - Setting GeoDisplace nodes Source knob to "alpha" no longer crashes Nuke.

- ID 564087 - GeoBindMaterial now sets the material on the prims the user specified.

- ID 564298 - Resolved an issue where certain 2D nodes open the 3D toolbar, this no longer occurs.

- ID 564690 - The snap_menu no longer produces an incorrect "local variable 'normal' referenced before assignment" error when used on certain Alembic geometry subsets.

- ID 567863 - Axis handle when using snap menu for objects with transforms snaps to the correct location in the new 3D system.

- ID 568174 - Snap_menu no longer produces a "selection must be at least 1 points" error when multiple points are selected with certain alembic geometry subsets.

- ID 568251 - Geometry can be unintentionally pruned from the ScanlineRender2 node when a GeoPrune exists in the stage.

- ID 568259 - The z-axis of Axis node snapped to GeoImported .abc no longer points in opposite direction of expected.

- ID 568559 - GeoPoints, GeoPointsToMesh, GeoCameraTrackerPoints no longer produce points with an incorrect path.

- ID 568825 - Nuke no longer crashes when deleting a ReadGeo node.

- ID 569392 - Invert selection in GeoPrune now correctly reactivates deactivated prims.

- ID 573109 - Nuke crashes when changing between the file export type options from the GeoExport node.

## Color

- ID 560178 - Updated the OCIO link in context tab's tooltip for all relevant OCIO nodes.

## Compare

- ID 557623 - Filtering by tags in the Viewer buffer does not work if there are track items above the tagged track.

## Example Plug-ins

- ID 564067 - Nuke NDK Example Plugins README.md now lists the correct compilers.

## File Import

- ID 520941 - Nuke always reads ProRes files in Video Range and this cannot be changed with the Data Range knob, this is now fixed and the Data Range knob now works for ProRes files as well as DNx.

- ID 569851 - arri_colorspace/arri_colorpsace knob is incorrectly spelled for ARRI read nodes.

## Knobs

- ID 568305 - Nuke crashes when the value of an EvalString_Knob is set to a long string [LINUX ONLY].

## MacOS

- ID 553268 - Nuke ARM incorrectly prompts users to install through a Rosetta layer when opening Nuke X and Nuke Studio through the application shortcuts on Macs without Rosetta installed.

## Machine Learning

- ID 548734 - Inference: The stability issues while using half-precision floating point on Mac via Metal Performance Shaders have been addressed on Nuke 15.1, therefore we are enabling the 'Optimize for Speed and Memory' feature on Mac (previously only available to Nvidia hardware).

- ID 559006 - CopyCat trains on randomly selected crops from the training dataset. This fixes the consistency with which we determine this randomness, picking the same random crops across the supported operating systems.

- ID 574022 - CopyCat: The crops selected when training, change per step if the epochs change.

## Performance

- ID 522281 - Performance was negatively effected by increasing the X and Y divisions in the Grid Warp Tracker.

## Python

- ID 572096 - Running nuke.math with Vector2, Vector3(), or Vector4() no longer produces a TypeError and now the math vector output displays correctly.

## Shortcuts

- ID 431980 - The Script Editor does not receive focus when a clip is selected on the Timeline and using the CMD+Enter hotkey in Studio/Hiero.

## Timeline

- ID 565036 - Playhead auto-selection prevents hiero.ui.TimelineEditor functions like setSelection() from working.

## UI

- ID 550373 - Removed CameraTracker and DepthGenerator from side toolbar menu of NukeAssist.

- ID 567027 - Add a comment to the Audio Device preference to make it clear that it doesn't work with Monitor Out.

## Viewer

- ID 556956 - Nuke Viewer fps indicator updates consistently and starts with the correct rate.

- ID 574862 - Changing the 'Down-res' option in the Viewer to anything different to 1:1 causes the viewer to go black or to show an incorrect resolution.

# Known Issues

- ID 565896 - [RotoPaint] Painting equal number of strokes on left and right viewer makes some strokes invisible in the viewer.

- ID 567902 - [RotoPaint] RotoPaint doesn't recognize views created after node creation.

- ID 577890 - value()/getValue() get a Syntax error for string knobs if there is an underscore _ before a set of square brackets [] containing a value in single quotes '' in the string.

## Group Node Internal View

- ID 573822 - When creating a Group inside a Group in the new Group View, Nuke automatically switches to a new tab for the first group, which is undesirable with the new Group View feature.

- ID 574009 - Bookmarked nodes in an open Group View are framed with an offset when jumping to those bookmarks.

- ID 574799 - Creating cameras via the 3D Viewer menu does not put them in a Group, and instead the camera is created in the main DAG.

## Machine Learning

- ID 577326 - CopyCat: On Windows os after training, PyTorch fails to release its cache.

## MacOS

- ID 575080 - Users who have upgraded to Sonoma may encounter an issue when launching Nuke, where licenses display an error. To resolve this issue, we recommend upgrading to Sonoma 14.5 or higher.

# Qualified Operating Systems

- Nuke 15.0 and later supports Apple silicon hardware.

- macOS Ventura (13.x), or macOS Sonoma (14.x)

  For more information on Foundry products and supported macOS versions, see Foundry Knowledge Base article
  Q100592.

- Windows 10 (64-bit) or Windows 11 (64-bit)

- Linux Rocky 9.0 (64-bit)

  Nuke requires libnuma to run under Linux distributions, the library is required by the Nablet h164 Codec SDK.

  The currently supported version of VFX Reference Platform includes library versions that are only compatible with Rocky 9.0.

Other operating systems may work, but have not been fully tested.

## Requirements for Nuke's GPU Acceleration

If you want to enable Nuke to calculate certain nodes using the GPU, there are some additional requirements.

### NVIDIA

An NVIDIA GPU with graphics drivers capable of running CUDA 11.8, or above. A list of the compute capabilities of NVIDIA GPUs is available at https://developer.nvidia.com/cuda-gpus

The compute capability is a property of the GPU hardware and can't be altered by a software update.

With graphics drivers capable of running CUDA 11.8, or above. On Windows and Linux, CUDA graphics drivers are bundled with the regular drivers for your NVIDIA GPU. Driver versions 522.06 (Windows) and 520.61.05 (Linux), or above are required. See https://www.nvidia.com/Download/Find.aspx for more information on compatible drivers.

We recommend using the latest graphics drivers, where possible, regardless of operating system.

### AMD

Bitwise equality between GPU and CPU holds in most cases, but for some operations there are limitations to the accuracy possible with this configuration.

- On Windows and Linux, an AMD GPU from the following list:

  Other AMD GPUs may work, but have not been fully tested.

  - AMD Radeon PRO W7900

  - AMD Radeon PRO W6600

  - AMD Radeon PRO W6800

  - AMD Radeon Pro W5700

  - AMD Radeon RX 6800 XT

  For information on the recommended driver for each GPU, see https://www.amd.com/en/support

- On Mac, integrated AMD GPUs are supported on the following Intel CPU Macs:

  - Any late 2013 Mac Pro onward (including 2019 Mac Pro),
  - Mid-2015 MacBook Pros onward, and
  - Late 2017 iMac Pros onward.

  All supported Mac Pros include a multi-GPU support option, where applicable. Bitwise equality between GPU and CPU holds in most cases, but for some operations, there are limitations to the accuracy possible with this configuration.

  Although AMD GPUs are enabled on other Mac models, they are not officially supported and used at your own risk.

### Multi-GPU Processing

Nuke's GPU support includes an Enable multi-GPU support option. When enabled in the preferences, GPU processing is shared between the available GPUs for extra processing speed.

Multi-GPU processing is only available for identical GPUs in the same machine. For example, two NVIDIA GeForce GTX 1080s or two AMD Radeon™ Pro WX 9100s.

## GPU Requirements for the Machine Learning Toolset

Training using the CopyCat node requires an NVIDIA GPU, with compute capability 3.5 or above; or MacOS Apple silicon integrated GPUs.

If an appropriate GPU is not available, Inference and other machine learning plug-ins can run on the CPU with significantly degraded performance.

# Developer Notes

As Nuke develops, we sometimes have to make changes to the API and ABI under the hood. We try to keep these changes to a minimum and only for certain releases, but from time to time API and ABI compatibility is not guaranteed. See the following table for the situations when you may have to recompile your plug-ins and/or make changes to the source code.

Release Type | Example | Compatibility | Recompile | Rewrite
--- | --- | --- | --- | ---
Version | 14.0v1 to 14.0v2 | API and ABI |  |
Point | 14.0v1 to 14.1v1 | API | ⬤ |
Major | 14.0v1 to 15.0v1 | - | ⬤ | ⬤

Additionally, node Class() names occasionally change between major releases. While these changes do not affect legacy scripts, you may not get the results you were expecting if a node class has been modified. The toolbars.py file, used to create Nuke's node toolbar, contains all the current node class names and is located in <install_directory>/plugins/nukescripts/ for reference.

As an example, between Nuke 13 and Nuke 14, the Axis node Class() changed from Axis3 to Axis4. In the toolbars.py file for the two releases, the entries for the Axis node appear as follows:

    m3Dclassic.addCommand(
        "Axis",
        "nuke.createNode(\"Axis3\")",
        icon="Axis.png",
        tag=MenuItemTag.Classic,
        node="Axis3",
        tagTarget=MenuItemTagTargetFlag.TabMenu)

    m3D.addCommand(
        "Axis",
        "nuke.createNode(\"Axis4\")",
        icon="Axis_3D.png",
        tag=MenuItemTag.Beta, node="Axis4")