How many Softimage licenses do you need for an Arnold render farm?


None, not for the render farm itself. You just need Arnold licenses for the render nodes. You need Softimage licenses for artist workstations; on the render nodes, you’ll be using xsibatch -processing -render to render (and -processing doesn’t take a Batch license for third-party renderers).

You wouldn’t need Maya Batch licenses for Arnold render nodes either. The Maya render/mayabatch command line tools won’t take a Batch license for third-party renderers either.

Softimage standalone licenses and Arnold


Someone asked me if they could use Arnold with a standalone Softimage license.

Yes, of course you can. You can use Arnold with a trial version of Softimage; the Arnold license is completely separate. As long as you can start Softimage and load the SItoA plugin, you can render with Arnold.

The SItoA plugin itself is not licensed. It isn’t until you start a render that Arnold checks out a license.

So, how does it work if you have one Standalone Softimage license and five Arnold licenses?

  • You use your standalone license to run Softimage, build your scenes, and set up your lighting, shading, and texturing. Every time you do a render region, or render a frame, Arnold will check out a license (and check it back in when the render is finished).
  • To set up a five-node Arnold render farm, you don’t need any more Softimage licenses, because you’ll use xsibatch -processing -render to do your batch rendering. Just install Softimage on five more machines. You don’t need to activate Softimage or anything. You’ll still be able to run xsibatch -processing -render on those machines, because -processing skips the licensing check.

Licensing and port 2080


Port 2080 is the default port used by the Autodesk licensing service daemon (adskflex).

In most cases, you don’t have to specify the port number when you set ADSKFLEX_LICENSE_FILE:

set ADSKFLEX_LICENSE_FILE=LICSERVER-PC

Sometimes, depending on how the server is set up, you may need to add the port number:

set ADSKFLEX_LICENSE_FILE=2080@LICSERVER-PC

Port 2080 is registered with the Internet Assigned Numbers Authority (IANA), and it’s unlikely you’ll ever have to use a different port.

But if you do, there’s two things you have to do. First, you need to change the port number on the VENDOR line of your license file:

SERVER LICSERVER-PC 0000deadbeef
USE_SERVER
VENDOR adskflex port=2081

Then, on all workstations and render nodes, you’ll have to include the port number in ADSKFLEX_LICENSE_FILE:

set ADSKFLEX_LICENSE_FILE=2081@LICSERVER-PC

[Linux] Softimage, network licenses, and License.env


When you install Softimage 2014 on Linux, the license server name (or IP address) that you enter during setup goes into $SI_HOME/Application/bin/License.env.

rem Licensing method: Standalone | MSSA | Network
SOFTIMAGE_LICENSE_METHOD=Network

rem License servers specified from the setup. Format: [port1]@host1[;[port2]@host2]...
ADSKFLEX_LICENSE_FILE=@my_license_server

So, if you need to change ADSKFLEX_LICENSE_FILE, edit License.env.

ADSKFLEX_LICENSE_FILE is also set in the .xsi resource file (eg $SI_HOME/.xsi_2014_SP2), but License.env takes precedence. Unless, of course, you set ADLM_LICENSE_METHOD or SOFTIMAGE_LICENSE_METHOD:

# Set the ADSKFLEX_LICENSE_FILE
setenv ADSKFLEX_LICENSE_FILE "@192.168.1.221"

# Get License

if ( $?ADLM_LICENSE_METHOD ) then
	setenv SILicMethod $ADLM_LICENSE_METHOD
	setenv ADSKFLEX_LICENSE_FILE $ADSKFLEX_LICENSE_FILE
else if  ( $?SOFTIMAGE_LICENSE_METHOD ) then
	setenv SILicMethod $SOFTIMAGE_LICENSE_METHOD
	setenv ADSKFLEX_LICENSE_FILE $ADSKFLEX_LICENSE_FILE
else if ( -f "$SI_HOME/Application/bin/License.env" ) then
	setenv SILicMethod `sed -n s/SOFTIMAGE_LICENSE_METHOD=//p "$SI_HOME/Application/bin/License.env"`
	setenv ADSKFLEX_LICENSE_FILE `sed -n s/ADSKFLEX_LICENSE_FILE=//p "$SI_HOME/Application/bin/License.env"`
else
	setenv SILicMethod Network
endif

See how the .xsi resource file uses the sed swiss army knife to extract the environment variable values from License.env?

Unlimited batch rendering with xsibatch -processing


Hat tip: Andy Jones on the Softimage mailing list

You can use xsibatch -processing to render scenes with third-party renderers like Arnold. With -processing, xsibatch uses a Processing token instead of a Batch license, so you’re not limited by the number of Batch licenses you happen to have. Back in the days before third-party renderers, -processing for was for non-rendering tasks. Now it’s for non-mental ray tasks!

I was sure I tested this long ago, but obviously I must have made a mistake on my command line.

xsibatch -processing -render //server/project/Scenes/example.scn

=======================================================
 Autodesk Softimage 11.1.57.0
=======================================================

License information: using [Processing]
# INFO : [sitoa] SItoA 2.7.1 win loaded.
# INFO : [sitoa] Arnold 4.0.12.1 detected.

Here’s actual proof in the form of a screenshot 🙂

xsibatch_processing_render

Starting the license server service from a batch file


It’s rare, but the occasional customer has a problem where the license server keeps stopping (for example, after the computer goes to sleep). Normally the license service should always be running, but if you were really stuck and needed a workaround, you could add something to XSI.bat to start the license server before starting xsi.exe.

For example, here’s something I got from stackoverflow. You probably could just call sc start; if the service is already running, sc will just report that and nothing bad will happen.

@echo off
for /F "tokens=3 delims=: " %%H in ('sc query "Softimage License Server" ^| findstr "STATE"') do (
  if /I "%%H" NEQ "RUNNING" (
   sc start "Softimage License Server"
   echo "Starting Softimage License Server"
  )
)

The service name (on lines 2 and 4) is the same name you specified in LMTOOLS:
LMTOOLS-Service_Name

Try or Activate is not for network licenses


This Try/Activate screen means that you are running in Standalone mode. Try gets you a Trial standalone license, which is good for 30 days and cannot be reset. Activate is for Standalone licenses only. If you try to activate a Network license, you’ll get an Error 123. I used to see these types of errors every release.

Softimage_2014_try_activate

Here are some related links:

Saturday snippet: Parsing a file from a batch file


From the 2014 version of setenv.bat, which uses the for command to parse the [new] License.env file.

for /f "delims== tokens=1,2*" %%i in (License.env) do (
	if "%%i"=="SOFTIMAGE_LICENSE_METHOD" (
		set SILicMethod=%%j
	) else if "%%i"=="ADSKFLEX_LICENSE_FILE" (
		set _ADSK_LicServers=%%j
	)
)

License.env is a file that looks something like this:

rem Licensing method: Standalone | MSSA | Network
SOFTIMAGE_LICENSE_METHOD=Network

rem License servers specified from the setup. Format: [port1]@host1[;[port2]@host2]...
ADSKFLEX_LICENSE_FILE=2080@somewhere.someplace.com