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

Arnold licensing explained visually


As requested in the comments, here’s a visual explanation of Arnold licensing, to go along with the Softimage version I posted last week.

Suppose you had five Arnold licenses. With those five licenses, you can have five machines using Arnold to render. For example, you might have two artist workstations and three render nodes (but you can have any combination of workstations and render nodes that adds up to five).
Arnold-Licenses1

Arnold licenses are checked out when you actually render, not when you start Softimage or load a scene. If a workstation isn’t doing a render region, or a render preview, or rendering frames, then there’s no Arnold license being used. So maybe it is more accurate to think of it like this:
Arnold-Licenses2

Arnold licenses are per machine, so all processes on the same machine share the same license. Note that you can limit the number of threads per render if you want to run multiple renders on one machine.
Arnold-Licenses3

Softimage network licenses explained…visually with ICE


A couple of weeks ago on si-community, there was a discussion of Softimage licensing and someone wished there was a graphic that explained Softimage licensing…

A network license includes one Softimage license, and five Batch licenses.

  • The Softimage license is the “interactive” license: it allows you to run xsi.exe on one computer.
  • The Batch licenses run xsibatch, and are used for command-line rendering on render nodes. One Batch license = one render node.

Each instance of xsi.exe and xsibatch.exe can use up to four satellite computers for satellite rendering.
network-licenses-satellite

You can run multiple copies of xsi.exe or xsibatch.exe on the same computer. A license is shared as long as processes are running under the same user account and on the same host (aka computer).

You can run an unlimited number of xsibatch -processing jobs. With xsibatch -processing, you can do anything except render. Typically you use it to run script jobs on scene files.

And finally, you can also use the Softimage license to run xsibatch.

Update: As requested in the comments, here’s six render nodes, each using four satellite computers:
network-license-rendernodes-w-satellite

The case of the fatal missing registry key


Otherwise known as the case where composite.exe cannot determine a product license to use:

The last time I saw this error, it turned out to be a problem with the ProductInformation.pit file. However, this time it turned out to literally what the error message says: Composite couldn’t figure out what license to use. The tricky part was figuring out why.

First we tried a couple of configuration “tricks”, but those didn’t help in this case.

  • Set the ADSK_COMPOSITE_LICENSE environment variable to SOFTIMAGE (or MAYA if you have Maya, or 3DSMAX if you have Max).
  • Add these lines to toxik.ini (which doesn’t exist by default, so you may have to create the file
    %USERPROFILE%\Documents\toxik\2013\toxik.ini with your favorite text editor).

    toxik::deployment::licenseType                Standalone
    toxik::deployment::softimagelocation          C:\Program Files\Autodesk\Softimage 2013
    

    Note that alternatively, instead of setting toxik::deployment::softimagelocation in the INI file, you could set the environment variable SI_HOME.

And unfortunately, Composite wasn’t logging any license-related information or errors.

Fortunately I’m the curious type, so I’d been using Process Monitor to see what composite.exe was doing at startup, and I had a pretty good hunch what was wrong. And when I got a Process Monitor log from the customer, it only took a minute to spot the problem: a missing registry key.

When ADSK_COMPOSITE_LICENSE is set to SOFTIMAGE, composite.exe uses the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Softimage\InstallPaths\2013 to find Softimage. The customer’s machine was missing that registry key, so composite.exe couldn’t find Softimage and therefore couldn’t figure out what license to use.

Why was the registry key missing? I don’t know.

Have license, will travel?


Umm…not quite. The Autodesk end-user license agreement (hereafter referred to as the “EULA”) restricts license usage to the country or territory of purchase.

Section 2.1.3 of the EULA says:

2.1.3 Territory. Except as otherwise authorized in writing by Autodesk, the licenses granted in this Agreement are granted only for the Territory. Nothing in this Agreement permits Licensee (including, without limitation, Licensee’s Personnel, if any) to Install or Access the Licensed Materials outside of the Territory.

Extra-territory usage is a subscription benefit:

Extra Territory Rights – Allows usage of a license outside of the country of purchase for up to 90 days per a year. This benefit can be used by End Users. No companion license would be needed, however if installing outside the country of purchase and requiring a manual install, explanation of benefit may be needed.

So, what’s a territory? Again, from the EULA:

From the EULA:

33. “Territory” (a) means the country, countries or jurisdiction(s) specified in the License Identification, or (b) if there is no such License Identification, or no country or jurisdiction is specified in the License Identification, means the country in which Licensee acquires a license to the Autodesk Materials. If the License Identification specifies, or Licensee acquires the Autodesk Materials in, a member country of the European Union or the European Free Trade Association, Territory means all the countries of the European Union and the European Free Trade Association.

But what if you’re not in Europe? What’s your territory? The EULA says you can find your territory in the License Identification:

14. “License Identification” means one or more designations by Autodesk that set forth the License Type (among other things) for Licensee’s license of the Licensed Materials. The License Identification may be (a) located (i) in the Licensed Materials (e.g., in an “About” box, license information dialog box, or text file of Software), (ii) on or with Autodesk packaging, or (iii) in a written confirmation or other notice issued to Licensee by Autodesk and transmitted via email, facsimile, physical delivery, or otherwise, or (b) obtained from Autodesk on request. For clarification, License Identification does not include a designation, confirmation, packaging or other document provided by a Reseller or other third party.

I couldn’t find the license identification for my Maya ECSP license, which was purchased in Canada from the North American store. However, I did find this on the store help page:

If I purchase a product from one country’s store, can I use it in another country?
No. Software products purchased on this Store must be used in accordance with the terms of the Autodesk License agreement accompanying them; such terms include a restriction that the products may not be used outside of the country of purchase. For this site, the Territory for sale of software products is the US, Canada, Puerto Rico and Guam. Please see the Digital River Terms and Conditions.

Finally, via google, I found this “Ancillary Service Description for Use Outside Territory” document.