It seems that any OSL Texture will not render with distributed rendering. My local / host machine renders OSL textures just fine, but any render node on the network ignores the VrayOSLTex node.
Transfer missing assets is enabled.
Error happens on Vray 3.6 for Maya 2016sp6, 2017, and 2018. Local / Host machine is running OS X Sierra, render nodes are running Linux CentOS.
Thanks for the reply. Enclosed is the log file.
I noticed an error towards the bottom of the log, (don’t have a line #, sorry). It states:
Could not find stdosl.h. Please check VRAY_OSL_PATH_MAYA2016_x64
We checked the DR slave and the file does exist
/usr/ChaosGroup/V-Ray/Maya2016/3.6/opensl/stdosl.h
Also enclosed are 2 renders, 1 rendered locally, (OSL flakes rendered correctly in reflection), 1 with distributed rendering, (OSL flakes absent from render).
In the DR render, all of the distributed buckets render incorrectly, however there a few isolated buckets rendered locally that produce a correct result.
The log says OSL include variable is VRAY_OSL_PATH_MAYA2016_x64=(null)You will need to set that environment variable to /usr/ChaosGroup/V-Ray/Maya2016/3.6/opensl/stdosl.h on the slave. We will see if we can handle this automatically in the future.
Are you using the installer to install vray or is this an installation from a .zip file (where everything’s unpacked from a zip to an arbitrary location and then the environment is set up manually)? Judging by the path of your vray install, I’m guessing it’s a zip install. In this case, it matters how you start your slaves. Ideally, you would use the provided shell script “vrayslave” in the zip archive /vray/bin/ and you can edit it in a text editor and add the variable there: export VRAY_OSL_PATH_MAYA2016_x64= /usr/ChaosGroup/V-Ray/Maya2016/3.6/opensl/ .
Let me know about the install type that you’re using so I can give you more details.
It was not installed via zip file. It was installed using the silent install method using a config.xml file and the render slave is running as a service.
It may happen when you register and start the slave using sudo/su. Can you try to register it using sudo/su and then start it with the user you installed vray with?
Stop the service using su/sudo:
[ralenekov@localhost]$ sudo /usr/ChaosGroup/V-Ray/Maya2016/3.6/bin/stopVRaySlaveDaemon
Stopping V-Ray for Maya render server (PID 9953)...done
Open another terminal and make sure it gets the current env variables on login:
Instructions say to start the service as the user, and not as sudo. I can?t start the service as a regular user, as it kicks an error.
[render@centos-render-01 ~]$ /usr/ChaosGroup/V-Ray/Maya2016/3.6/bin/startVRaySlaveDaemon
Starting V-Ray for Maya render server…head: cannot open ?/tmp/vraymayaslave2016/pid? for reading: No such file or directory
PID
FAILED
I have to escalate privileges with sudo for the service to start up.
[render@centos-render-01 ~]$ sudo /usr/ChaosGroup/V-Ray/Maya2016/3.6/bin/startVRaySlaveDaemon
password for render:
Starting V-Ray for Maya render server?PID 13563
done
Running this command even with sudo gives a permission error.
The problem is that after a fresh installation the root account doesn’t get the env variables until restarted. Our devs stated that this will be fixed in future builds and the slave will run using a dedicated user account.
There are different approaches to solving it with the current builds:
1. Install V-Ray, register the service using sudo, start the service as user (since it has the env set correctly).
2. Install V-Ray, register the service using sudo and reboot the machine.
3. Install V-Ray, register the service using sudo, source the env variables and run the service using sudo. For example:
When changing permissions always check the /tmp/vraymayaslave* directories for permission conflicts (or delete them).
In your case a reboot of the OS should be enough. The service should auto start as root, the env variables should be set automatically and you should be able to check them as root and continue to use the render slave without problems.