SYNK Deadline Setup

SYNK Deadline Setup

Deadline Configuration Guide

Overview

This guide covers the configuration and setup of Deadline for the SYNK pipeline, including render node preparation, plugin configuration, and multi-OS setup. Deadline integrates with SYNK Client to provide Python and FFmpeg support on render nodes.

Related Documentation:

  • SYNK Client Installation - Full workstation setup guide


Configuration Settings

These configurations need to be set up per studio, ideally deployed alongside code releases.

Configuration File Location:
B:\06_Tools\release\bottanix\code\configs\general\deadline.json

Required Settings:

  • DEADLINE_SERVER = "IP"

  • DEADLINE_PORT = "PORT"

  • DEADLINE_CERT = "CERT PATH"

  • DEADLINE_TLS = True/False

  • DEADLINE_PYTHON_POOL = "local-default"

  • DEADLINE_PYTHON_GROUP = "python"


Render Node Prerequisites

Before installing SYNK Client on render nodes, ensure the following prerequisites are met.

Enable Windows Long File Paths

Long file paths support is required for handling deep directory structures in production environments.

Installation:

  1. Download: LongPathsEnabled.reg

  2. Double-click LongPathsEnabled.reg to apply the registry change

  3. Restart the machine if prompted

Alternative Manual Method:

# Run as Administrator Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1

Optional: Global Tools Installation with Chocolatey

For a standardized environment across render nodes, consider using Chocolatey to install common tools.

# Run as Administrator choco install -y git git-lfs ffmpeg-full 7zip

To setup Chocolatey, see the Chocolatey Documentation


SYNK Client Installation on Render Nodes

Purpose: SYNK Client provides Python and FFmpeg support required for Deadline render jobs.

Installation Method: Deployment Archive

For render nodes, use the deployment archive method for a streamlined, automated installation.

Steps:

  1. Download SYNK Client

  2. Extract and Deploy

    # Extract the archive Expand-Archive -Path "synk-client-deploy-0.1.4.zip" -DestinationPath "C:\Temp\SYNK" # Copy to Program Files Copy-Item -Path "C:\Temp\SYNK\SYNK" -Destination "C:\Program Files" -Recurse

    The result should be: C:\Program Files\SYNK

  3. Configure Environment

    Edit the .env file located at C:\Program Files\SYNK\.env:

    SYNK_PLUGINS=B:/06_Tools/synk
  4. Verify Installation

    Check that the following directories exist:

    • C:\Program Files\SYNK\python

    • C:\Program Files\SYNK\ffmpeg

    • C:\Program Files\SYNK\bin

DCC Pre-installation

If your render nodes will execute DCC applications directly (Maya, Substance Painter/Designer), install the required Python dependencies.

Maya Pre-install

cd "C:\Program Files\Autodesk\Maya[VERSION]\bin" mayapy -m pip install --upgrade pip mayapy -m pip install pymel ftrack-python-api urllib3 idna charset-normalizer platformdirs

Substance Painter Pre-install

cd "C:\Program Files\Adobe\Adobe Substance 3D Painter\resources\pythonsdk" python -m pip install --upgrade pip python -m pip install ftrack-python-api shiboken6

Substance Designer Pre-install

cd "C:\Program Files\Adobe\Adobe Substance 3D Designer\plugins\pythonsdk" python -m pip install --upgrade pip python -m pip install ftrack-python-api shiboken6

Automated Pre-install Option:

Download and run the automated DCC pre-install PowerShell script:
Download DCC Pre-install Script


Software and Libraries Deployment

Deploy additional software and libraries on render nodes following the standard workstation deployment process.

Reference Documentation:
Pipeline Setup

Deployment Scripts Location:
B:\06_Tools\dev\wietse\git\default\pipeline\deployment


Deadline Plugin Configuration

Python 3.7 Plugin Setup

Configure the Deadline Python plugin to use the SYNK Python installation.

Steps:

  1. Open Deadline Monitor

  2. Navigate to: Tools → Configure Plugins

  3. Enable PowerUser mode

  4. Locate the Python plugin

  5. Set Python 3.7 executable path to: C:\Program Files\SYNK\python\python.exe

  6. Configure any additional environment variables as needed

Maya Batch Plugin Modification

Issue: Jobs may idle or fail to proceed without the proper READY FOR INPUT signal.

Solution: Modify the Maya Batch plugin script to include a print statement that signals readiness.

File Location:
DeadlineRepository10\plugins\MayaBatch\MayaBatch.py

Code Modification:

Find the section where the MEL script is executed and replace with:

melscript = 'eval( python("with open(\\'{0}\\') as f: exec(compile(f.read(), \\'{1}\\', \\'exec\\'), globals(), locals());print(\\'READY FOR INPUT\\')"));'.format(script, script)

Why This Is Needed:
The print('READY FOR INPUT') statement signals to Deadline that the Python script has successfully executed and Maya is ready to process the next command. Without this, Deadline may incorrectly interpret the job as stalled.


Multi-OS Configuration

Path Mapping Setup

When working with multiple operating systems (Windows, Linux, macOS), configure path replacements to ensure cross-platform compatibility.

Steps:

  1. Open Deadline Monitor

  2. Navigate to: Tools → Configure Repository Options

  3. Select the Path Mapping tab

  4. Configure path mappings for each operating system

Example Mappings:

Windows

Linux

macOS

Windows

Linux

macOS

B:\06_Tools

/mnt/bigice/06_Tools

/Volumes/BigIce/06_Tools

C:\Program Files\SYNK

/opt/synk

/Applications/SYNK

Global Job PreLoad Script

Purpose: Required for non-Windows operating systems to modify environment variables before job execution.

Script Location:
B:\06_Tools\dev\wietse\git\default\pipeline\deadline\scripts\GlobalJobPreLoad.py

Installation:

  1. Copy the script to: DeadlineRepository10\custom\scripts\Jobs\

  2. Ensure the script has appropriate permissions

  3. Restart Deadline services to load the new script

What It Does:

  • Sets up environment variables for SYNK Python path

  • Configures FFmpeg location

  • Adjusts PATH for non-Windows systems

  • Ensures DCC applications can find required libraries


Pools and Groups Configuration

Recommended Pool Setup

Create dedicated pools for different types of render jobs:

Python Pool:

  • Name: local-default or python

  • Purpose: Jobs requiring Python execution via SYNK Client

  • Workers: All render nodes with SYNK Client installed

Maya Pool:

  • Name: maya or maya-2024 (version-specific)

  • Purpose: Maya rendering and processing jobs

  • Workers: Nodes with Maya installed

Generic Pool:

  • Name: all or generic

  • Purpose: General-purpose rendering

  • Workers: All available render nodes

Group Configuration

Groups help organize render nodes by capability:

  • python - Nodes with SYNK Python installed

  • maya - Nodes with Maya installed

  • substance - Nodes with Substance applications installed

  • gpu - Nodes with GPU capabilities

Configuration in Deadline:

  1. Navigate to: Tools → Configure Repository Options → Worker Groups

  2. Create groups matching your render node capabilities

  3. Assign nodes to appropriate groups


Troubleshooting

SYNK Client Not Found

Symptom: Jobs fail with "Python not found" or "FFmpeg not found" errors.

Solution:

  1. Verify SYNK Client is installed at C:\Program Files\SYNK

  2. Check the .env file contains correct SYNK_PLUGINS path

  3. Restart the Deadline Launcher service on the affected node

  4. Test Python installation: "C:\Program Files\SYNK\python\python.exe" --version

Path Mapping Issues

Symptom: Jobs fail with "File not found" errors on Linux/macOS nodes.

Solution:

  1. Review path mappings in Repository Options

  2. Ensure all mapped paths are accessible from render nodes

  3. Test path resolution using Deadline's path mapping test tool

  4. Verify mount points are active on Linux/macOS nodes

Maya Jobs Hanging

Symptom: Maya jobs start but never complete or progress.

Solution:

  1. Verify the Maya Batch plugin has the READY FOR INPUT modification

  2. Check Maya logs in DeadlineRepository10\logs\

  3. Ensure Maya has PyMel and required dependencies installed

  4. Test Maya rendering manually on the affected node

Long File Path Errors

Symptom: Jobs fail with "path too long" or "filename exceeds maximum length" errors.

Solution:

  1. Verify long file paths are enabled (see Prerequisites section)

  2. Restart the node after enabling long paths

  3. Check Windows version (must be Windows 10 1607+ or Windows Server 2016+)


Verification and Testing

Test SYNK Client Installation

Run this test on each render node:

# Test Python & "C:\Program Files\SYNK\python\python.exe" --version # Test FFmpeg & "C:\Program Files\SYNK\ffmpeg\bin\ffmpeg.exe" -version # Test environment & "C:\Program Files\SYNK\python\python.exe" -c "import os; print(os.environ.get('SYNK_PLUGINS'))"

Expected output:

  • Python version (e.g., Python 3.7.x)

  • FFmpeg version information

  • SYNK_PLUGINS path (e.g., B:/06_Tools/synk)

Test Deadline Integration

  1. Submit a test Python job:

    • Create a simple Python script that prints "Hello from SYNK"

    • Submit via Deadline Monitor

    • Verify it executes using SYNK Python

  2. Submit a test Maya job:

    • Create a simple Maya scene

    • Submit a render job

    • Verify it completes successfully

  3. Test path mapping:

    • Submit a job that references files using mapped paths

    • Verify the job completes on both Windows and Linux/macOS nodes


Deployment Checklist

Use this checklist when setting up a new render node:

Enable Windows long file paths
Install optional tools via Chocolatey (if using)
Install SYNK Client to C:\Program Files\SYNK
Configure SYNK .env file with correct plugin path
Install DCC applications (if required)
Run DCC pre-install scripts (if required)
Deploy additional software and libraries
Install Deadline Worker
Configure Deadline Python plugin to use SYNK Python
Apply Maya Batch plugin modification (if using Maya)
Assign node to appropriate pools and groups
Test SYNK Client installation
Test Deadline job submission and execution
Verify path mapping works correctly
Document node configuration and capabilities

Additional Resources

Downloads

All required installation files can be downloaded from:
https://cloud.thepack.studio/s/e5zQ5wtaQ3ws5m3

Video Guide

Video installation guide available at:
https://cloud.thepack.studio/s/EKKypnmKypGTRAC

Related Documentation

Support

For questions or issues related to Deadline or SYNK Client setup:

  • Contact your studio's technical support team

  • Refer to the SYNK documentation

  • Check Deadline logs in DeadlineRepository10\logs\


Notes

  • Always test configuration changes on a single render node before deploying to the entire farm

  • Keep SYNK Client version consistent across all render nodes

  • Regularly update certificates and security configurations

  • Monitor render node performance and adjust pool assignments as needed

  • Document any custom modifications or configurations specific to your studio

Comments