Troubleshoot network rendering with mental ray for Maya

 
 
 

The instructions below refer to mental ray for Maya 2013 and mental ray standalone 3.10.1. For information on previous versions, refer to the documentation for that version of Maya or mental ray.

Why can’t I install the rayserver service or edit the services file?

Ensure you have administrator (or root) privileges on the machine.

I have everything correctly set up, but I still can't network render.

Here are various possibilities to check.

Port number

One possibility is that the network port number you are using is already being used by another service. Ensure that there is no other entry in the services file that is using port 31010 (mental ray standalone) or port 7413 (mental ray for Maya Satellite). If that port number is already taken, you need to pick a new available port number and use that same number for all master and slave machines that are to work together.

You may need to change the port number.

To do so on Linux and Windows, edit the port services file located at:

  • (Linux) /etc/services
  • (Windows XP) C:\Windows\system32\drivers\etc\services

To do so on Mac OS X:

  • (Mac OS X) Open NetInfo manager (/Applications/Utilities/NetInfo Manager) and navigate to /services; then change the port number of the mental ray or mental ray for Maya satellite service.

In the services file, ensure that the following line exists:

  • mental ray standalone 3.10.1: adskmr3101 31010
    Note

    The actual service may have a different name. Please check your services file.

  • mental ray for Maya Satellite 2013: mi-raysat2013 7413

where 7413 or 31010 is the port number. Make sure the port number is the same on the master machine and all slave machines.

Restarting the service (Windows)

To restart the server on Windows, go to mental ray bin directory and type the following:

  • mental ray for Maya Satellite
    raysat2013server.exe /stop raysat2013server.exe /start
    
  • mental ray standalone
    rayserver.exe /stop rayserver.exe /start
    

xinetd installation

xinetd needs to be installed on the Linux platform to allow for network rendering with mental ray Standalone and mental ray Satellite.

As super user, execute the command: yum install xinetd, and then reboot before installing mental ray Standalone or mental ray Satellite.

inetd configuration

To check your xinetd configuration on Linux

  1. In a Linux shell type:
    ls /etc/xinetd.d 
    

    There should be a file named mi-ray (mental ray standalone) or mi-raysat (mental ray for Maya Satellite).

  2. If there is no such file, become root, create the mi-ray or mi-raysat file using a text editor and enter the following text:

    mental ray:

    # description: mental ray for maya network rendering service mi-ray
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi35/bin/rayd log_on_failure += USERID }
    

    mental ray for Maya Satellite:

    # description: mental ray for maya network rendering service mi-raysat
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi35/bin/raysatd log_on_failure += USERID }
    
  3. Save the file.
  4. In order for xinetd to find the newly configured service, you need to restart it or send it a signal.
    • Restarting xinetd can be undesirable because it affects a number of network services. To restart xinetd, type:
      /etc/init.d/xinetd restart
      
    • To reconfigure xinetd without restarting it, find out the process id of xinetd by executing:
      ps -e | grep -v grep | grep xinetd
      

    You should see a line similar to this:

    980 ? 00:00:02 xinetd
    

    The first number is the process id of xinetd.

    If the system is RedHat 7.2, xinetd re-reads its configuration on receipt of the USR2 signal. For RedHat 7.3 it re-reads its configuration on receipt of the HUP signal. So for a RedHat 7.3 system where xinetd's process id is 980 you would execute:

    kill -HUP 980
    

    xinetd should have found the new service and you should be able to send it render requests from another node on the network.

How do I run multiple versions of mental ray on one machine?

If you want to run different versions of mental ray standalone in one machine, make sure that each version has its own mi-ray* entry in the services file.

For example, if you have mental ray 3.3 and mental ray 3.4 in one machine, and you can change the mi-ray entry for mental ray 3.3 (or 3.4).

Create your own mi-ray variable for mental ray 3.3 in the services file.

The services file might look like this

mi-ray 7003/tcp # used for mental ray 3.4
mi-raysat 7103/tcp # used for mental ray satellite 3.4
mi-ray_33 7155/tcp # used for mental ray 3.3 

The server also needs to be updated.

To rename the server file (Windows)

  1. Go to mental ray 3.3 bin directory.
  2. Stop the service (rayserver.exe /stop).
  3. Rename rayserver.exe to ray_33server.exe.
  4. Restart the server (ray_33server.exe /start)

To rename the server file (Linux)

  1. Stop xinet.
  2. Rename rayd to ray_33d.
  3. Create a new file called mi-ray33 in the xinetd.d directory. This file must contain setup information. For example:
    { flags = REUSE socket_type = stream user = nobody wait = no server = /usr/local/mi33/bin/ray_33d log_on_failure += USERID }
    
  4. Restart the service.

Compatibility issues

Due to a number of changes between mental ray satellite for previous versions of Maya and the current mental ray satellite, there are incompatibilities with using a master (with the current release of Maya) with slaves using a previous version of Maya.

Workaround

Use master and slave machines with the same version of Maya (for example, Maya 2013 or Maya 2012).