Release Notes for Nuke and Hiero 12.1v5
Release Date
06 October 2020
Warning: As a result of the current COVID-19 lockdown here in the UK, Foundry cannot guarantee that our usual high standards of QA have been applied to Nuke's monitor output functionality, including VR headset support, in this release.
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
There are no new features in this release.
Feature Enhancements
• ID 162824 - OCIOCDLTransform: Nuke now supports ASC (American Society of Cinematographers) .cdl files.
• ID 383567 - A new environment variable, NUKE_DISABLE_FRAMESERVER, has been added to enable and disable Nuke's Frame Server. Setting a value of 1, disables the Frame Server and 0 enables it.
Bug Fixes
• ID 158957 - Python: Calling undoDescribe() on multiple operations only returned the latest operation.
• ID 229671 - Linux only: Clicking Import Tracks in the CameraTracker UserTracks tab caused Nuke to become unresponsive.
• ID 233945 - HieroPlayer: Timelines in autosaved projects could not be edited in HieroPlayer.
• ID 243240 - Timeline Editing: Certain container formats, such as .mov and .mp4, added 1 frame to the start frame in the timeline when compared to the spreadsheet view.
• ID 418068 - Read/Write: Files written using an Apple ProRes codec produced artifacts when read using the mov64 decoder.
• ID 418354 - Dope Sheet: Setting a working frame range with Synchronise Frame Range enabled did not set the same range in the Curve Editor.
• ID 429293 - HieroPlayer: Clicking Quit in the License Error dialogue caused the application to crash.
• ID 438219 - Python: QComboBox() objects containing items of different lengths were not aligned correctly.
• ID 438224 - Python: Adding an item to a QComboBox() after creation cut off the text in the sub-widget.
• ID 439450 - OCIO: Loading certain .ccc files displayed a NameError incorrectly.
• ID 439862 - Timeline Editing: Scrubbing the playhead over uncached frames caused the Viewer to jitter.
• ID 443584 - CaraVR: Creating a ParticleEmitter node downstream of a C_GlobalWarp node caused Nuke to crash.
• ID 443868 - Monitor Output: Certain Blackmagic Design devices occasionally became unresponsive.
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 448363 - BlinkScript: Creating unsigned variables using uint displays an error when GPU acceleration is enabled.
As a workaround, add the following line at the beginning of the kernel:
#define uint unsigned int
• ID 448084 - Python: Creating multiple QtWidgets in a row does not align objects correctly by default.
• ID 448081 - Python: Calling setFixedHeight() and setMaximumHeight() with QGroupBox objects does not behave consistently between Nuke 12.0 and later versions.
• ID 447777 - Opening a Nuke .autosave file from the command line does not work as expected.
• ID 447233 - Particles: Moving the camera in the 3D Viewer during playback of a ParticleFlock node causes Nuke to crash.
• ID 447058 - LensDistortion: Setting BBox to Auto and Output Format to BBox and then undistorting and redistorting using the inverse operation in a new node does not match the original as expected.
• ID 440783 - CaraVR: Attaching a Viewer to certain CaraVR nodes, such as C_Stitcher or C_Blender, occasionally causes views or cameras to disappear at high resolutions.
• ID 440676 - F_Regrain: Rendering scripts containing F_Regrain nodes from the command line is slower than in Nuke 12.0 builds.
• ID 439886 - C_CameraSolver: Setting Cam Projection to Latlong with the Cameras tab Mask > Shape set to Source does not work as expected.
• ID 438947 - Node Graph: Pressing / (forward slash) to search the Node Graph by node name or class no longer highlights the previous search term.
• ID 437414 - Windows only: Pressing V to display available versions on an offline shot causes Nuke Studio to crash.
• ID 437221 - macOS only: System intensive Blink kernels cause Nuke to become unresponsive or crash due to an OS deadlock.
• ID 436088 - C_CamerSolver: Setting the Lens Type to Rectilinear with multiple camera inputs and use GPU if available enabled renders black frames.
As a workaround, disable use GPU if available.
• ID 434748 - Python: nuke.message() popups created using PySide2 display the OK button incorrectly.
• ID 434387 - Windows only: Setting the UI scale to 150% or higher and moving Nuke to a second monitor stops floating color pickers working as expected.
As a workaround, locate the uistate.ini file here:
C:\Users\<username>\.nuke\uistate.ini
Remove the ColorPicker entry under [WindowLocations]. For example:
[WindowLocations]
ColorPicker=@Rect(943 324 555 200)
• ID 433153 - Viewer: Adding the custom_guides.py example file to the ../Python/Startup/ directory disables the overlay guides popup selector.
• ID 432414 - ARRIRAW: Clicking Load settings from metadata does not reset controls in the Properties panel if the current frame is outside the clip's frame range.
• ID 431603 - UI: Some filter names, such as cubic and impulse, changed case causing legacy scripts to display errors.
• ID 430184 - LensDistortion: Attempting to calculate distortion on clips with anamorphic (non-square) pixel ratios constrains feature and line detection to within the square pixel ratio area of the Viewer.
• ID 427642 - Read/Write: Switching the .mov file codec control to Uncompressed occasionally displays an Unable to open video codec error from the Write node.
• ID 427037 - UI: Adjusting the size of the node Properties > Node tab causes the font controls to resize incorrectly.
• ID 424122 - Windows only: Adjacent menu options have no break between their highlights on high DPI screens.
• 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 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 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 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 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 on Windows 10 when using SoundBlaster PCI card or a generic USB interface.
• ID 410556 - High DPI: The Multiple Views (V) icon on track items is no longer transparent.
• 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 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
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 |
12.0v1 to 12.0v2 |
API and ABI |
|
|
Point |
12.0v1 to 12.1v1 |
API |
|
|
Major |
12.0v1 to 13.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")