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

# Katana 4.5v2 Release Notes

Contents

- Feature Enhancements
- Bug Fixes
- Known Issues
- System Requirements

# Release Date

17 March 2022

# Previous Releases

- Katana 4.5v1 Release Notes

# What's New in Katana 4.5

These release notes describe changes from Katana 4.5v1 to 4.5v2.

For a high-level overview of important changes in the Katana 4.5 line, please see the accompanying What's New in Katana 4.5 document.

# Feature Enhancements

## API/SDK Changes

- Removed `SetPortAttributes()` node extension for increased performance.

## Coding and Debugging Improvements

- The behavior of the Home key in code editors has been changed; the cursor is now placed just before the first non-whitespace character, as opposed to being placed at the very start of the line.

- Auto-indentation capabilities (previously available only in the Python tab) have now been adopted by other code editors such as the Lua editor in OpScript nodes or the CMake/C++ editors in OpWrite nodes.

- Mechanism for aligning cursor to indentation width (previously available only in the Python tab) has now been adopted by other code editors such as the Lua editor in OpScript nodes or the CMake/C++ editors in OpWrite nodes.

- Pressing Ctrl / now toggles line comments in additional code editors, such as the Lua editor in OpScript nodes or the CMake/C++ editors in OpWrite nodes, where previously it was only available only in the Python tab.

- Lua built-in functions such as `ipairs()`, `pcall()`, or `tostring()` are now highlighted in the `LuaSyntaxHighlighter` class, used in the OpScript node type.

## Katana <> Nuke

- Support for overscanned or cropped images have been added to the Nuke Bridge.

  Previously, the display window was ignored (always matched the data window), and the resulting comps were placed at the origin.

- When a KatanaReader node was re-mapped from one Catalog Item to another, garbage could be seen very briefly in extremely rare occasions if the Catalog Items had different resolutions.

- When a non-existent Catalog Item is mapped to input point in the Nuke Bridge tab, a warning icon is now shown.

- Entries in the Nuke Sessions table in the Nuke Bridge tab have been provided with a context menu, with a keyboard shortcut assigned to each entry in the menu.

- A number of Nuke Bridge debug messages have been removed (or hidden) from the standard output.

- Interactive Comps in the Nuke Bridge can now be started without selecting a KatanaWriter node first.

  Previously, fresh users of the Nuke Bridge were unable to use this feature until a KatanaWriter node was added to their pre-existing Nuke Scripts.

  This involved setting the `NUKE_PATH` environment variable to the Katana's Nuke resources before launching Nuke, so that the KatanaReader and KatanaWriter node types would be made available inside Nuke.

- Starting a Live Comp from the Nuke Bridge tab is now independent of the value of the new application/rendering.allowConcurrentRenders preference in the Preferences dialog (see Rendering section below).

## Miscellaneous

- ID 498802 - Lists in the Start Multiple Renders shelf script now have parent checkboxes allowing easy toggling of all items.

## Parameters

- ID 469498 - Limited support for pattern-based matching of locations is now possible in the Isolate node through a new isolateLocations parameter. The following wildcards are supported:

  - * (matches non or more characters)
  - ? (matches one character)
  - [...] (matches any of the individual characters listed in the square brackets)

  Some examples:

  - /root/* (matches all locations directly under /root)
  - /root/prim? (matches /root/primA & /root/primB but not /root/primCD)
  - /root/prim[123] (matches /root/prim1, /root/prim2 or /root/prim3)

- ID 470431 - A new Separator user parameter type which can be used to visually separate and group other user parameter entries is now available.

- ID 491910 - Capsule widgets can now be added through the Edit User Parameters workflow. The UI supports modification of Capsule contents as well as setting selection exclusivity.

## Performance

- A number of enhancements have been implemented to improve performance when creating / updating a large number of nodes, especially when NetworkMaterialCreate nodes are included in the project. These improvements are mostly concentrated in the event handling system.

## Ramp Widgets

- ID 384158 - Color Ramp widgets now have variable sensitivity via their dropdown menu. Like Number widgets, holding Ctrl or Shift while dragging temporarily moves the sensitivity up or down a step.

## Rendering

- 3Delight has been upgraded. For more information, refer to the Changelog - 3Delight - 3DL Docs (3delightcloud.com)

## UI Improvements

- ID 94535 / BZ 44375 - Pressing Insert now adds keys on all parameters at the current frame within the Curve Editor and Dope Sheet tabs.

  The same behaviour can be found by selecting the following context menu items:

  In the Curve Editor tab: Keyframe -> Insert Points, and,

  In the Dope Sheet tab: Set Key On All

## USD

- ID 499854 - Motion Samples are now read for UsdSkel assets when importing with UsdIn if available and the motionSampleTimes parameter is set with multiple fallback sample points

# Bug Fixes

## Coding and Debugging Improvements

- ID 485505 - When using the Tab and Shift+Tab keyboard shortcuts in various Code Editors, cursor position and selection were inconsistent.

## Deprecated Features

- ID 421434 - The `SynchronousEventProcessingScope()` context manager that is provided by the `Utils.EventModule` module has been marked as deprecated. It has had no effect since Katana 3.1v1, and should no longer be used. It will be removed in a future minor or major release.

## GafferThree

- ID 472201 - When attempting to duplicate a light from a GafferThree that can't be duplicated, unhelpful errors with full python stack trace such as `RuntimeError: Package refuses to be adopted` were displayed.

- ID 476660 - When adding multiple renderers light shaders to a light location inside the GafferThree node, an error message would be written to the console.

- ID 481299 - When trying to edit lights in the Material tab of the GafferThree node after flushing caches, an error would occur and editing wasn't possible.

## Hydra Viewer

- ID 469902 - The Hydra Viewer did not respect negative values for camera near/far clipping planes because the Viewer API function ViewportCameraPluginBase::getNearFar() returned unnecessarily sanitized values.

- ID 471235 - When setting a subdivision level to a faceset, it wasn't respected in the Hydra Viewer. (This issue was a regression in Katana 4.0v1)

- ID 472164 - Light locations with the 'viewer.locationType` attribute set to `polymesh` will be rendered in the viewport as a wireframe locator. The mesh data for this locator is read via the same attribute conventions as the `polymesh` location type.

- ID 480327 - The viewerPickable parameter for a primitive was not taken into account in the Hydra Viewer. (This was a regression in Katana 4.0v1)

- ID 494234 - Katana could crash while processing changes to displayed proxy geometry in a Viewer (Hydra) tab. (This issue was a regression in Katana 3.0v1)

## Hydra Viewer: Instancing

- ID 499007 - Collapsing parents of locations containing a single point instance location could cause a crash.

- ID 499328 - Instancing prototype locations which exist as direct children of the instancer are correctly given the `instance source` type.

## Hydra Viewer: Render Delegates

- ID 493082 - The Render Delegate options saved are now saved correctly into new Layouts and no longer display errors on launch. This may require re-saving any layouts saved with 4.5v1 or 5.0v1.

- ID 495122 - USD Render Delegates with a `.` in their displayName would not load and show the incorrect name in the Viewer tab menus.

## Katana <> Nuke

- ID 492431 - When the Find in Node Graph action in the Catalog Item context menu in the Catalog tab was activated for a Catalog Item whose associated node had no parent, an `AttributeError` was raised. The action remains now disabled when it is not applicable to the selected Catalog Item.

- ID 492816 - When really small and quick renders were performed, sporadic crashes could be experienced in renderboot on shutdown when the Geolib3-MT Runtime was finalized.

- ID 495389 - When a Catalog Item associated with a Nuke Bridge Session was duplicated, the duplicate item (that is not bound to any Nuke Session) was still shown in the Nuke Bridge tab.

  A similar issue would affect Catalog Items that had been made persistent: upon reload, the Catalog Item was no longer bound to a Nuke Session, but was still shown as such.

- ID 495686 - When a multi-layer comp was created in the Nuke Bridge while having Foresight+ disabled, the extra layers would appear as External Renders in the Catalog tab, as opposed to being part of the Catalog Item associated with the Nuke Session.

- ID 495928 - When an Interactive Comp in the Nuke Bridge tab was started, a number of stale JSON files could remain in the directory specified by `KATANA_TMPDIR` after the comp was completed.

## Live Groups

- ID 493652 - When resetting a Live Group, if a NetworkMaterialCreate or Edit node would be deleted, then an error is printed to the console.

## Network Materials

- ID 496226 - On the Network Material Create node, parameters exposed on the Material Interface would remain when their source node is deleted.

- ID 496396 - When in the NetworkMaterial context, grouping shading nodes (with the shortcut; G) did not respect the top-down ordering of ports on the new ShadingGroup.

- ID 496660 - When grouping ShadingGroups in the Network Material context, port ordering was not guaranteed to be stable.

- ID 497231 - Trailing dot (.) in the pagePrefix parameter did not create a new collapsible group. This is a regression from 4.5v1.

- ID 501553 - In the Network Materials context, deleting a ShadingGroup node could leave behind a visual representation of a node that no longer existed, causing errors to be printed to the console.

- ID 503000 - When setting the action parameter of a Material node to edit material, the parameters group would not be displayed. (This issue was a regression in Katana 4.5v1 and Katana 5.0v1.)

- ID 503270 - When using the jump buttons on ShadingGroup Material Interface tab, no jump to menu item would appear (unlike the NMC/NME's Sources & Order tab).

## Node Graph

- ID 94660 / BZ 44410 - When a Macro (that had been saved while its nodes were selected) was added to the node graph, and the nodegraph.autoConnectOnCreate preference was on, the auto-place mechanism would try to auto-connect the Macro to itself, as the nodes in the Macro were, in fact, selected, and therefore were a candidate for the auto-connection.

- ID 484614 - Within the Node Graph, Backdrop nodes can now be placed within another Backdrop node via the node creation menu.

## Node Types

- ID 71692 / BZ 36518 - The eventual name of imported macros are now officially not permitted to be equivalent to the name of the type of the node they represent. Attempting to name these the same will now throw a ValueError.

- ID 233078 - When a Material node in a MaterialStack node was being duplicated, while no view node had been set in the Katana node graph, an exception would be raised.

- ID 498748 - When the target face in an OrientConstraint node was small, the OrientResolver was unable to determine the orientation of the face. This limitation has now been relaxed greatly.

## Parameters

- ID 475375 - When dragging and dropping a material producing node onto a MaterialAssign node, the materialAssign parameter's badge would not be set to Local if it had previously been set to Default.

- ID 480193 - When a Graph State Variable parameter was created through Python in such a way that it couldn't be enabled, renders would not start. For instance:

      NodegraphAPI.GetRootNode().getParameter('variables').createChildNumber('foo', 1)

- ID 492700 - When the `^` character was used in Reference Expressions [to refer to ancestor nodes], the `NodegraphAPI.GetExpressionReferences()` function was not correctly gathering the dependency between the parameter and the node that was being referenced.

  This was a regression introduced in Katana 3.6v1 as part of ID 357364.

- ID 503252 - 3D nodes would fail to evaluate their Op graph if they depend on a parameter that has an expression that references a Render node. More specifically, calls to NodegraphAPI.Parameter.popReferenceCollectionStack() would fail if a Render node is included in the node references.

## Performance

- ID 79474 / BZ 38654 - When a Disk Render was started, the output ports of all Render nodes in the node graph would be synced. This could slow down the render when many Render nodes were present. Now, only the Render node from which the Disk Render was started, and its dependencies, will have their output ports updated before the Disk Render is scheduled.

  Behavior involving Disk Renders started from ImageWrite nodes remains unchanged.

- ID 494852 - When using the Geolib3-MT runtime to traverse a scene with a Merge node as a leaf in the node graph and opTreeOptimizations turned on, a crash occurred.

- ID 496151 - Added NodegraphAPI.IsLoadingAsync() as an event-based equivalent of NodegraphAPI.IsLoading(), that should be used in event handlers.

  Refactored event handlers for node_setShapeAttributes, nodegraph_changed, node_delete_begin, node_setParent, node_create, node_delete_begin, node_setBypassed to be collapsed event handlers in NetworkMaterialX and ShadingGroup nodes.

- ID 497017 - Rendering with Geolib3-MT would occasionally fail in scenes containing Merge and Rename nodes for certain topographies.

## Python

- ID 59923 / BZ 31303 - Calling Utils.UndoStack.Clear() while an Undo Group is open (for example, from code within a Shelf Script) is no longer an error. Undo items are cleared from all open Undo Groups, but the groups themselves remain open.

- ID 376677 - General fixes and improvements in the Python tab's auto-completion mechanism.

- ID 496599 - When attempting to import the `QtWebEngineWidgets` module from `PyQt5`, a Python exception was raised. (This issue was a regression in Katana 4.5v1.010012b / Katana 5.0v1.010012b.)

  Note: For remaining issues regarding the use of Qt WebEngine classes from within Katana, please note ID 496659 in the Known Issues section.

- ID 499286 - Nodes3DAPI methods that built attribute lists from parameters returned all attributes as type FnAttribute.Attribute instead of their sub-classes.

- ID 500177 - When nodes were referenced in Reference Expressions, the `NodegraphAPI.GetExpressionReferences()` function was not correctly gathering the dependency between the parameter and the node that was being referenced.

  This was a regression in Katana 4.5v1.

- ID 500199 - FnAttribute.GroupBuilder.delete() would return None, not allowing function chaining.

## Ramp Widgets

- ID 426787 - When dragging and dropping a ramp from the attributes tab to an attribute drop label (found on Material nodes in override mode, LocationCreate nodes and more), the override ramp would error and not be useable.

## UI

- ID 467839 - When loading a previously saved Katana project, the Color Palette tab did not update to reflect any changes to the color palette included in the project.

- ID 469157 - When selecting a camera or light location through the picker button in the Viewer tab, check the Validate Locations checkbox to grey out any pruned or deleted locations.

- ID 470085 - When loading the FilteringExampleTab or NamePolishingExampleTab, an error occured. (This issue was a regression in Katana 4.0v1)

- ID 473591 - Previously, when scrolling through node parameters using the mouse wheel, Color Parameters would change value as if focused. This no longer occurs.

- ID 473982 - When a configuration or build error was produced in an OpWrite node, the reported error code did not match the actual exit code of CMake or the compiler.

  Only Katana on Linux was affected.

- ID 475437 - In the Node Graph tab, when placing multiple nodes at once, pressing Esc with the node selection menu open would close the menu and delete any nodes you had not yet placed.

- ID 476213 - Previously, and error was thrown when attempting to modify a value in the Curve Editor which had recently been re-opened. This no longer occurs.

- ID 492596 - When many entries were present in a FilterablePopup widget (e.g. the widget type used in the Nuke Bridge tab for listing the available Catalog Items), an entry in the widget could be automatically triggered after the popup was shown.

- ID 494644 - On Windows when editing a Number Array user parameter widget hints, entering integer values into any of the fields would break the widget hint editor.

- ID 498648 - Behavior of the help text viewers in the Edit Help Text window and the help text popup window have been reverted to the behavior pre-4.5. This allows markup characters such as '<', '>', and '&', to be displayed even if they do not form a valid markup tag.

  An enhancement over the 4.0 behaviour, the help test viewers will now also respond to the font size and code font size application preferences.

- ID 499904 - Fixed incorrect AOV selection in the Hydra Viewer Monitor Layer. AOV selection is now driven by a persistent AOV name. (This selection can be toggled on/off using the 'Default AOV' shortcut.)

  Additionally fixed the 'View Transform' keyboard shortcut, and removed the defunct 'Toggle AOV' keyboard shortcut.

## USD

- ID 485326 - The Developer Guide Copyright Notice for USD now shows the correct text for the current USD version.

- ID 491565 - UsdIn will add imported prims with the 'Light' prim type to the `lightList` attribute on '/root/world'. UsdMaterialBake will write lights with the 'Light' prim type to the USD 'lightList' cache. Any exported USD `lightList` cache will use the `consumeAndHalt` cache mode by default.

- ID 499422 - When exporting and importing parameters through USD, some attributes had problems if their renderer name didn't match their USD equivalent, for instance lightColor vs color. Additional logic has been added to address this.

  - Convert USD shader parameter name to the implementation name when imported into Katana and vice-versa when exported or passed on to Hydra.
  - Use the sdrUsdDefinitionType shader input hint to define what type to give parameters passed through Hydra.
  - Convert shader input values which have been designated as Asset Identifiers to an SdfAssetPath when passed through Hydra.

## Windows

- ID 497711 - When Katana was launched in Windows systems that had particular VPN clients installed, a crash could occur in the ZeroMQ library.

## Other Bug Fixes

- ID 193948 - When attempting to copy from the Scene Graph tab with an empty selection, an exception would be thrown.

- ID 475059 - If a value in the geometry.arbitrary.st.index attribute was out of range, Katana crashed without prior warning.

# Known Issues

## Catalog

- ID 114182 / BZ 49288 - When exporting a Catalog item you need to specify the export folder path to an existing folder. If the folder you're trying to export to does not exist on disk Katana will fail to export. (This issue is a regression in Katana 2.0v1.)

## Hydra Viewer

- ID 427252 - Locators created via PrimitiveCreate nodes can be snapped to in all modes, rather than just the Lights, Cameras, and Locators mode.

- ID 420882 - Changing between the Viewer (Hydra) tab's multipane layout options quickly can cause a crash or many error messages to be written to the terminal/console.

- ID 380129 - Use of non-conformant GL anti-aliasing modes that employ supersampling reduces rendered point size by the supersampling scaling factor. Katana currently employs any reported anti-aliasing mode (up to a maximum sample count of 16): as a workaround, change the viewerHydra.antiAliasing preference to a lesser anti-aliasing mode.

- ID 352167 - Textures loaded from Hydra shaders are not cleared or reloaded from disk when flushing caches.

## Live Groups

- ID 85118 / BZ 41152 - When editing parameters of a node that is part of a LiveGroup node and reloading the parent LiveGroup node, the UI state of the Parameters tab is reset. This includes scroll bar positions, selections of items, and selections of nested tabs (for example Object, Material and Linking tabs for a Gaffer node).

- ID 84998 / BZ 41092 - When reloading a LiveGroup node's parameter interface and contents from its source, parameters of child nodes that are edited in floating panes disappear from those panes.

- ID 84020 / BZ 40598 - Reverting a LiveGroup node does not revert its user parameters.

- ID 84018 / BZ 40600 - Undoing a revert of an unpublished LiveGroup node does not restore the LiveGroup's editable and modified state.

- ID 83061 / BZ 40237 - Nodes can be dragged into the Group bubble of a non-editable LiveGroup node.

## Materials

- ID 442604 - When "exploding" a NetworkMaterialEdit node in the Node Graph tab into its parts by selecting it and choosing Edit > Explode Selected Groups or pressing the U key, Python exceptions are raised.

- ID 429775 - NetworkMaterialEdit nodes do not currently respect local Graph State changes, for example as performed by VariableSet nodes downstream.

- ID 429302 - When editing a locked node inside a NetworkMaterialEdit node graph, the parameters will be shown at their default state.

- ID 427408 - When entering a NetworkMaterialEdit node whose sceneGraphLocation parameter is empty, warnings are logged by the Geolib3 Runtime.

- ID 423341 - In a NetworkMaterialEdit node graph, connections can be displayed incorrectly if a node's name begins with a number.

- ID 402064 - In a ShadingGroup node graph, the connection between a Dot node and a shading node port can be wrongly colored in some cases.

- ID 269449 - Choosing Edit Shader Parameters from the main wrench menu of Material nodes does not show wrench buttons next to shader parameters. This can be worked around by toggling the edit flag on the node. (This issue is a regression in Katana 2.5v1.)

- ID 199304 - The namespace parameter on Material nodes wrongly allows the insertion of Unicode codepoints outside the ASCII range.

- ID 191052 - Katana does not have any support for the texture reference object workflows of V-Ray for Maya.

## Parameter Expressions

- ID 188533 - Expressions linked to non-local parameters on not previously edited Material nodes can't be evaluated.

- ID 105434 / BZ 47520 - Reference Expressions may not refer to dynamic parameters such as shader parameters.

- ID 60457 / BZ 31790 - Setting an array or group parameter to an expression results in an invalid expression. Upon setting a valid expression (for example, an evaluation of an equivalent parameter on another node using getParam), the parameter is not immediately updated. To workaround this issue, close and reopen the parameter, or flush caches while the node is not edited.

## Python

- ID 496659 - When loading a website into a `PyQt5.QtWebEngineWidgets.QWebEngineView` widget, warning and error messages may be issued by the underling Qt WebEngine classes, leading to certain websites not being displayed correctly, or not being displayed at all. (This issue is a regression in Katana 4.5v1 / Katana 5.0v1.)

- ID 494168 - In the Katana Developer Guide, some members of C++ classes that are marked as `friend` incorrectly appear as `friend friend`. (This issue is a regression in Katana 5.0v1, and may be related to an issue in Breathe.)

## Rendering

- ID 381284 - The 3Delight renderer plug-in makes use of source material locations rather than resolved material attributes as a means of de-duplication. This can result in material data being lost when excluding material locations from the Render Working Set during a Live Render session.

- ID 176598 - Use of nodes that modify Graph State Variables in Interactive Render Filters is not currently supported.

- ID 74799 / BZ 36926 - The rendererSettings > displayOptions parameter of a RenderOutputDefine node for the PRMan renderer, shown when its type parameter is set to 'raw', cannot be set using the Parameters tab.

- ID 70217 / BZ 36176 - The 2D node Disk Render Upstream Render Outputs option does not use the batch render method, batchRender, for upstream render nodes, instead using diskRender.

- ID 70016 / BZ 36137 - Rendering repeatedly with a large number of AOVs consumes more and more memory, possibly leading to a crash when running out of memory.

- ID 12517 / BZ 16168 - Only one Monitor tab may display the results of a Preview Render. The use of multiple Monitor tabs is not currently supported.

## UI

- ID 373702 - Clicking in the Viewport and pressing a shortcut whilst the mouse is hovered in another widget will still send the event back to the 'focused' Viewport widget, for shortcuts where the widget hovered over does not handle the shortcut.

- ID 208802 - Closing the Histogram tab after use leaves the Monitor tab unable to display rendered images.

- ID 123558 / BZ 50911 - When changing an array parameter's tuple count/size, any corresponding attributes are not properly updated in the Attributes tab.

- ID 112544 / BZ 49051 - The Viewer tab may lose sync with the Scene Graph tab when changes to expansion state are interrupted.

- ID 107038 / BZ 47853 - Indication of attribute source nodes (such as the yellow 'glow' in the Node Graph tab) is unavailable as of Katana 2.0v1.

- ID 71965 / BZ 36691 - State badges are currently shown for attribute values of dynamic array child parameters, even though only their parent array parameter should appear with a state badge.

- ID 65347 / BZ 34949 - Using Compiz can lead to text fields not receiving focus events correctly due to an incompatibility between Compiz and Qt. Depending on your configuration, disabling Compiz "desktop effects" may resolve the problem.

## USD

- ID 468287 - UsdIn is not retaining expanded view state information for shading nodes in a Network Material context.

## Windows

- ID 381692 - (Windows only) When logging out and logging back in again, the colors in the UI are incorrect. For example, certain parts of certain types of tabs may appear with a white background color. (This issue is a regression in Katana 3.1v1, possibly caused by QTBUG-52728 - Paint bug and palette errors after some events in Windows)

- ID 344118 - (Windows only) When installing Katana and opting to install the bundled version of 3Delight, the installation of 3Delight is made by modifying system-wide environment variables such as `KATANA_RESOURCES`. Thereafter, launching any version of Katana will pick up this installation of 3Delight, which may be incompatible with the version of Katana being launched.

  Note: This issue does not affect Linux, where a bundled 3Delight installation is tied to its corresponding Katana installation.

- ID 218742 - (Windows only) Katana must be installed to a path no longer than ~140 characters. Attempting to install to a longer path results in an unintuitive error: "The system cannot find the path specified."

## Miscellaneous

- ID 84326 / BZ 40709 - The Alembic library does not support multiple process or thread access to an Alembic file. This means that a crash occurs when modifying an Alembic file outside Katana, while it's loaded in an open Katana scene. To avoid this, you must Flush Caches before attempting to update any modified Alembic files.

- ID 80738 / BZ 39261 - Operations that lock and unlock nodes do not currently create entries in the Undo History, which can lead to an incorrect node graph state when undoing and redoing operations.

- ID 70196 / BZ 36170 - Control keys (notably arrow keys) do not function as expected in shell mode.

# System Requirements

## Officially Supported Operating Systems

- Windows 10 64-bit or higher
- Linux 64-bit operating system (CentOS/RHEL 7)

## Hardware Requirements

| Minimum | Recommended
--- | --- | ---
CPU | Dual-core processor
Storage | 1+ GB available for installation
System RAM | 1+ GB available
Graphics RAM | 1+ GB available | 2+ GB available
Display | 800 x 600 | 1920 x 1080
OpenGL | OpenGL 4.3+ (see note below)

Note: AMD-based graphics cards are currently not supported.

## Tested Workstation Hardware

The configurations listed below are those that Foundry have tested with Katana. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

- NVIDIA Quadro M4000

- NVIDIA Quadro P4000

- NVIDIA Quadro K4000

- NVIDIA Quadro K6000

Please download and install the latest graphics driver from the NVIDIA website.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.