Release Notes for Nuke and Hiero 12.1v1
Release Date
19 February 2020
Qualified Operating Systems
• macOS Mojave (10.14) or macOS Catalina (10.15)
• Windows 10 (64-bit)
• CentOS 7.4 (64-bit), or later
Note: The VFX Platform 2019 upgrade includes library versions that are only compatible with CentOS 7.4, or later. Nuke 12.1 is qualified on the Centos 7.4, 7.5, and 7.6 distributions.
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 compute capability 3.0 (Kepler) or above. A list of the compute capabilities of NVIDIA GPUs is available at https://developer.nvidia.com/cuda-gpus
Note: 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 10.1 or above. On Windows and Linux, CUDA graphics drivers are bundled with the regular drivers for your NVIDIA GPU. Driver versions 418.96 (Windows) and 418.39 (Linux), or above are required. See https://www.nvidia.com/Download/Find.aspx for more information.
Note: We recommend using the latest graphics drivers, where possible, regardless of operating system.
AMD
Note: Bit-wise 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:
Note: Other AMD GPUs may work, but have not been fully tested.
• Radeon™ RX 480
• Radeon™ Pro WX 7100
• Radeon™ Pro WX 9100
• Radeon™ Pro SSG
• Radeon™ Pro WX 8200
Note: For information on the recommended driver for each GPU, see https://www.amd.com/en/support
• On Mac, AMD GPUs are supported on any late 2013 Mac Pro, mid 2015 MacBook Pros onward, and late 2017 iMac Pros.
Warning: 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.
Note: 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.
New Features
Blink Particles
For Nuke 12.1 we have added the ParticleBlinkScript node. This node works in a similar way to the BlinkScript node but allows you to write Blink scripts that operate on particles. This enables you to write your own Particle nodes, to create the specific behavior you need.
Additionally, we are providing new particle gizmos written with ParticleBlinkScript. This adds new behavior and functionality to the Particle system, and each node includes the script available as a teaching tool.
See Using the ParticleBlinkScript Node for more information.
DDImage Update
Nuke 12.1 contain an update to DDImage to separate the codec knobs from the container knobs. This update breaks binary compatibility for any and all plug-ins built against previous versions of DDImage.
FFMpeg Update
The FFmpeg libraries have been updated to version 4.2. The main benefits are related to file I/O, but in general use, we do not expect you to see any difference. You may experience problems with different system versions if they override our library path or if your system contains mismatching dependencies from the original CentOS 7.4 packages.
GPU Caching and Improvements
For Nuke 12.1 we have made improvements to Nuke’s GPU processing, enabling images to be cached on the GPU between nodes for faster execution of chains of GPU nodes. This behavior is available for all CaraVR nodes in NukeX and BlinkScript. Scripts with chains of these nodes keep data on the GPU, rather than transferring to and from the CPU in between nodes. We expect significant performance improvements for chains of these nodes processed on GPU.
See GPU Caching for more information.
Additional updates include:
• Improvements to the overall Blink infrastructure resulting in performance improvements to all GPU accelerated nodes.
• SphericalTransform2 has a new MirrorBall projection method and access to the standard set of Nuke filter methods. SphericalTransform2 replaces Nuke’s existing SphericalTransform node.
Note: Backwards compatibility for scripts using C_SphericalTransform is provided.
• Bilateral2 has a new Median filter method. Bilateral2 replaces Nuke’s existing Bilateral node.
Note: Backwards compatibility for scripts using C_Bilateral is provided.
• C_Blur options added to blur in latlong or rectilinear space to match Nuke’s native Blur node.
• C_STMap now includes the standard set of Nuke filter methods.
GridWarpTracker
You can now export tracking data from GridWarpTracker to Nuke's regular Tracker node by right-clicking in the Viewer and selecting Export to and selecting the export type.
HieroPlayer Flipbook and Fast Launch
Nuke 12.1 includes the ability to use HieroPlayer as a flipbook tool for Nuke and NukeX, giving artists more control when comparing different versions of their work. HieroPlayer auto-detects the OCIO config and Viewer colorspace coming from the Nuke script and sets up the files being reviewed correctly, whether you are working on a single script or in multiple scripts at one given time. HieroPlayer can be set as the Flipbook in the UI and in the Preferences.
The launch speed of HieroPlayer has also been improved across all operating systems to improve the overall experience of using HieroPlayer as a flipbook tool.
High DPI Support
Nuke supports high definition displays, automatically scaling the interface using the operating system's scaling settings. On Linux operating systems, scaling is currently disabled by default. You can enable automatic scaling by setting the QT_AUTO_SCREEN_SCALE_FACTOR environment variable to 1.
Note: Auto-scaling in some multi-screen setups causes the interface to scale incorrectly when moving from lower resolution screens to higher resolution screens. This is possibly a symptom of the way Qt calculates screen scale.
To avoid this issue, we recommend always placing your physical screens with the highest resolution on the far left-hand side of the setup.
Alternatively, you can set the screen scaling factor manually using the QT_SCALE_FACTOR environment variable to force scaling to 1, 1.5, or 2. The recommended scaling factor is 1.5.
In multi-monitor setups, you can manually scale the interface independently by screen using the QT_SCREEN_SCALE_FACTORS variable. Scaling uses the same recommended factors, separated by ; (semicolon). For example, QT_SCREEN_SCALE_FACTORS="1.5;1" where the first monitor is higher resolution than the second.
See Environment Variables for more information about setting environment variables.
We are working on providing user preferences to replace variables and hope to have these available in an upcoming release. This is currently logged as:
• ID 420052 - High DPI: Add UI scaling options to preferences.
LensDistortion
This release includes a new user-friendly UI redesign for streamlined workflow, with improved automatic bounding box detection and improved viewer interaction.
See Working with Lens Distortion for more information.
QuickTime Audio
Native support of .mov files containing audio has been expanded to include Linux and Windows. You can now import these .mov files directly into Nuke Studio, Hiero, and HieroPlayer without the need to extract and import the audio as a separate .wav file.
Shuffle
Nuke 12.1 introduces an updated Shuffle2 node, which replaces both the Shuffle and ShuffleCopy nodes. It has an updated, more user-friendly UI, supports one or two inputs, and up to eight channels per layer. The new user interface features a node-like visual indicator of which channels are being copied. Connections are made by dragging sockets between layers. Inputs can have multiple outgoing connections, but outputs can only have one incoming channel. Channels can be set to solid black or solid white, by selecting the black or white button in the Output Layer.
Input and output channel layers can be set individually, using the channels dropdown. The source of the selected layer’s channel data can be set using the dropdown on the respective Input Layer. When connections have been made, but the Shuffle’s input pipe becomes disconnected, the connections from Input to Output are represented with dotted lines.
See Shuffling Channels for more information.
Surround Sound Support
This release includes multi-channel audio support in Nuke Studio, Hiero, and HieroPlayer. When you import 5.1 and 7.1 or individual audio files and place them on your timeline, the audio tracks can now be patched to different output speakers, such as LFE or Center. Audio output is configurable using monitor out devices or specific audio cards.
See Audio and the Timeline for more information.
Version Linking
Version Linking allows linking and unlinking of source clip versions between project bin clips and shots in a sequence that reference a clip. You can define if a shot is linked to its source clip or not, and we've introduced three new states to bin clips: Linked, Unlinked and Mixed. Two new states govern shots: Linked or Unlinked.
These states are indicated by an icon on the clips that have been unlinked and there is a new column in the Project bin and spreadsheet view for Version and Link Status. Bin clips can be set as Linked or Unlinked on import using the Preferences > Project Defaults > General > Link bin and track item version.
See Version Linking for more information.
Feature Enhancements
File Format Updates
DNxHR MXF Writer for Nuke (Video only)
MXF format added to Write Node - File Type
DNxHR codec support
OP-1a and OP-Atom Patterns
Profiles
• 4:4:4 12-bit
• HQX 4:2:2 12-bit
• HQ 4:2:2 8-bit
• SQ 4:2:2 8-bit
• LB 4:2:2 8-bit
Improvements to Reading .mxf and .mov Files
Nuke now uses file metadata to set the colorspace in Nuke for .mov and .mxf ProRes files. If no metadata exists, Nuke parses frame header information to retrieve transfer characteristics.
Note: Legacy scripts may not work as expected as a result of this update.
Additional support includes:
• Motion JPEG B - Reader using mov64
• Motion JPEG B - Writer using mov64 (Nuke only)
• Colorfront encoded DNxHD Op-Atom .mxf files are now supported.
Avid DNx Codec 2.3.1 Update
Nuke can now read DNxHR .mov files and additional SDK info is now displayed in Read node's Properties panel.
ArriRAW 6.2.1.0 Update
Nuke can now read Arri Codex HDE .arx and Alexa Mini LF files and additional SDK info is now displayed in Read node's Properties panel. CUDA GPU debayering is now available for NVIDIA cards.
ARRI Apple ProRes Update
Nuke now supports ARRI Apple ProRes wrapped in .mxf files.
Bug Fixes
• ID 155170 - ParticleEmitter: The controls on the Region tab were enabled by default.
• ID 216355 - mov64Reader: Reading files written with the Animation codec produced blurred images when compared to the mov32Reader.
• ID 271930 - Soft Effects: Opening a project in HieroPlayer allowed editing of the Viewer overlay.
• ID 363911 - When color management was set to OCIO, adjusting the Gain/Gamma values or changing the channels in the Viewer reset the playback cache.
• ID 379710 - GridWarpTracker: Pressing the Esc key did not cancel tracking as expected.
• ID 388455 - High DPI: Hovering down a menu list left orange highlight outlines around items.
• ID 390885 - GridWarpTracker: Morph Amount was disabled when going from Warp to Morph.
• ID 393106 - LensDistortion: Solves didn't produce reliable results on anamorphic footage, even though lines were detected correctly.
• ID 394019 - Qt: Floating windows changed Z position when full screen mode was enabled using Ctrl/Cmd+Shift+F or Ctrl/Cmd+F.
• ID 395305 - Nuke Studio paused for a few seconds after loading a project.
• ID 400232 - High DPI: CameraTracker's thumbnails bar was not scaled to fit the width of Viewer.
• ID 400508 - High DPI: The Wipe bounding box outline was thinner and smaller than in older versions of Nuke.
• ID 400816 - High DPI: The frame preview in the timeline Viewer when moving cuts was not scaled correctly or in the correct position.
• ID 407395 - Particles: Connecting and viewing ParticleEmitter and ParticleSpawn nodes caused Nuke to crash.
• ID 408079 - GridWarpTracker: Using SmartVector tracking data did not work as expected if the Viewer downrez control was set to anything other than 1:1.
• ID 410741 - Read/Write: Nuke did not read 12-bit (4444) ProRes .mov files correctly.
• ID 411453 - BlinkScript: The kernel editor in the node Properties panel used an incorrect font.
• ID 414242 - ParticleExpression: A divide by zero error in the 3D system caused Nuke to crash.
• ID 416170 - Linked knobs didn't display their custom knob name and tooltip correctly.
• ID 416264 - Linux only: Reading multiple ARRIRAW files in Nuke Studio or Hiero caused the application to become unresponsive or crash.
• ID 417574 - Loading a preferences file containing an unknown preference caused Nuke to crash.
• ID 417703 - LensDistortion: Drawing features with a sampling region active in the Viewer did not work as expected.
• ID 418206 - Particles: Connecting a particle stream from a TimeOffset node to a geometry node, such as MergeGeo, did not produce any geometry.
• ID 418831 - Export: Projects with multiple versions and burn-in applied caused the Export dialog to appear sluggish.
• ID 419490 - ParticleExpression: Viewing a ParticleExpression node with chans set to any expression and new_channels set to None caused Nuke to crash.
• ID 420623 - Audio: Changing audio device did not work without restarting the application and occasionally caused Nuke Studio to crash.
• ID 420674 - macOS only: Flipbooking did not set the Viewer LUT to None.
• ID 421100 - WriteGeo: The Execute button did not work as expected.
• ID 421318 - Timeline Editing: Disabling and enabling shots with transitions or burn-ins applied occasionally displayed artifacts in the Viewer.
• ID 422056 - ParticleToGeo: 2D sprites were not affected by the align mode.
• ID 422500 - Monitor Output: Applying certain Viewer masks produced artifacts in the mask areas with Blackmagic 10-bit 4:4:4 output.
• ID 422682 - GridWarpTracker: The undo stack incorrectly grouped multiple actions together into a single undo.
New Known Issues Specific to Nuke 12.1
This section covers new known issues and gives workarounds for them, where appropriate.
Note: NVIDIA GPUs with compute capability of 3.0 (Kepler) cannot process .r3d files due to a known issue in the R3D SDK preventing decoding and debayering. Nuke defaults to CPU processing when reading .r3d files with these cards installed. A list of the compute capabilities of NVIDIA GPUs is available at: www.nvidia.co.uk/object/cuda_gpus_uk.html
• ID 426069 - Audio: Exporting .mov shots produces audio tracks that are a few milliseconds shorter that the associated video tracks.
• ID 424122 - Windows only: Adjacent menu options have no break between their highlights on high DPI screens.
• ID 423133 - Read: Reverting a change to the Clip Settings > Colorspace or Look > Colorspace dropdowns for certain .ari and .r3d files displays an Invalid LUT error in the Viewer.
• ID 422242 - High DPI: The active state of some buttons, such as the RotoPaint Viewer tools, can be hard to see due to a lack of outline or contrast.
• ID 420685 - Linux only: Qt does not always follow local monitor scaling correctly.
• ID 420608 - High DPI: Flipbooking to HieroPlayer on a 4K Monitor occasionally doesn't work as expected.
• ID 420589 - C_CameraSolver: Running out of memory produces different results when matching and solving rigs.
• ID 419842 - PlanarTracker: Clicking the track range Viewer buttons doesn't work as expected and displays an ExecuteDialog error.
• ID 419808 - BlinkScript: The normalize function doesn't work as expected.
• ID 419186 - High DPI: Dragging windows between screens with different resolutions occasionally scales the size of the window content, but not the window itself.
• ID 419183 - High DPI: Panel extend icons are not drawn correctly.
• ID 419156 - Windows only: Column header text is not centered correctly in tables.
• ID 418778 - Read/Write: MJPEG A and B are currently written with incorrect Matrix settings.
• ID 418433 - High DPI: Some panel borders exhibit artifacts or discoloration.
• ID 418315 - High DPI: The UI is rendered incorrectly when waking the computer from sleep.
As a workaround, click anywhere in the UI to redraw the interface.
• ID 418251 - High DPI: Column headers have changed to light gray.
• ID 418027 - Windows only: The right-click menu in the Curve Editor sometimes scales to the wrong size.
• ID 417583 - C_DisparityGenerator: Processing is slower in CUDA than in OpenCL.
• ID 417418 - MXF DNxHR: Exporting files with the OP Atom and reading the files back into Nuke does not display the Tape ID metadata. In Avid, the Tape ID metadata is read correctly.
• ID 417408 - High DPI: The Preferences window doesn't scale correctly on non-4K monitors when they are set as the primary.
• ID 417100 - Windows only: Using the ! operator on an integer image in Blink causes Nuke to crash due to a call to an unimplemented virtual function.
As a workaround, add .x on the end of !p_conditions(). This avoids ! being unimplemented for int<1> on Windows.
• ID 416659 - Windows only: Disconnecting a Shuffle input and then swapping the Input Layers occasionally causes Nuke to crash.
• ID 416571 - High DPI: Pane edges are displayed with pixel artifacts in larger tabs.
• ID 416388 - High DPI: An extra line is displayed at the end of the progress bar on the Tracker node.
• ID 416134 - High DPI: The contents of a floating window don't fit properly when moved from a non-4K monitor to a 4K monitor.
As a workaround, re-scale the floating window to pop the view back into the right place.
• ID 415836 - High DPI: Properties containing a graph widget are not displaying correctly when moved to a non-4K screen.
• ID 415797 - High DPI: Node name text is not vertically centered.
• ID 415673 - High DPI: When the file browser is dragged to a non-4K monitor, multiple versions of the icons appear.
• ID 414828 - ProRes QuickTimes include incorrect color metadata, identifying the color primaries as Rec.601 rather than Rec.709.
• ID 412221 - Backdrop: The border on Backdrop nodes in the Node Graph does not scale at different zoom levels.
• ID 412218 - Backdrop: The border on Backdrop nodes in the Node Graph appears uneven at certain zoom levels.
• ID 412116 - Windows only: The audio build of Nuke plays multi-channel audio at lower audible levels onWindows10 when using SoundBlaster PCI card or a generic USB interface.
• ID 411468 - macOS only: Exporting Apple ProRes 444 .mov files displays irrelevant errors on completion.
• ID 411328 - macOS only: Switching between sequences occasionally causes Nuke Studio to crash.
• ID 410556 - High DPI: The Multiple Views (V) icon on track items is no longer transparent.
• ID 410493 - High DPI: The current frame indicator is misaligned in the Nuke Studio timeline.
• ID 407193 - High DPI: The divider line in the A/B dropdown is not sharp.
• ID 406686 - Linux only: Switching from 4K to a non-4K screen can cause the UI to display incorrectly.
• ID 404708 - High DPI: Moving floating panels between monitors does not work as expected if scaling is not set to 100%.
• ID 399226 - High DPI: The color swatches in the Preferences are not aligned with the text.
• ID 394981 - C_Blur and Nuke's Blur node do not always produce exactly the same result.
• ID 388445 - Linux only: Resetting the Workspace on a 4K monitor sends the workspace to the main monitor. If it's not a 4K monitor, the scale doesn't reset and context menus are not in the correct place.
As a workaround, right-click anywhere in the UI to correct the scaling.
• ID 388422 - High DPI: Bin items keep their orange highlighting after being deselected.
• ID 384455 - Windows only: Resetting a workspace and then moving it to 4K monitor causes some panels to overlap.
• ID 384433 - High DPI: After resizing the Viewer, artifacts appear above and below the Viewer controls.
Developer Notes
Here are the changes relevant to developers. See Help > Documentation from the Nuke menu bar or https://learn.foundry.com/nuke/developers/121/ndkdevguide/appendixc/index.html for more information.
As Nuke develops, we sometimes have to make changes to the application programming interface (API) and application binary interface (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 |
11.2v1 to 11.2v2 |
API and ABI |
|
|
Point |
11.1v1 to 11.2v1 |
API |
|
|
Major |
11.0v1 to 12.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 9 and Nuke 10, the CameraShake node Class() changed from CameraShake2 to CameraShake3. In the toolbars.py file for the two releases, the entries for the CameraShake node appear as follows:
m.addCommand("CameraShake", "nuke.createNode(\"CameraShake2\")", icon="CameraShake.png")
m.addCommand("CameraShake", "nuke.createNode(\"CameraShake3\")", icon="CameraShake.png")
New Features
There are no new features in this release.
Feature Enhancements
There are no feature enhancements in this release.
Bug Fixes
There are no bug fixes in this release.