Linux
Executable file flag
Executables on Linux require a special "Executable flag".
If you have installed RR via Windows, it might be the case that this flag was not set on your fileserver.
In this case use the RR setup application and start it on any Linux machine.
Browse to the RR folder and use the button "Apply executable rights only".
Which Linux version?
RR applications require GLIBCXX 3.4.15.
(e.g. CentOS 7+, Ubuntu 16+).
GLIBCXX can be checked with one of these commandlines
if you want to check the library versions supported by your distribution:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
Which Linux Distribution?
Recommended distributions are all the "redhat-style" linux distros (same as most other 3D and comp software manufactures recommend).
Like CentOS (discontinued, but version 8 is still used) or Rocky or Alma Linux.
Note Linux Mint: We had a report that dependency libxcb-xinput was not available. It is required for UI applications only.
You should read your render applications documentation for supported Linux distributions.
E.g. the Foundry recommended CentOS.
Maya 2020 had some limitations on Ubuntu, but they can be solved.
From the readme file for /usr/autodesk/maya2020/support/python/2.7.11:
To work around this, one can exchange the RHEL 6.x build of _hashlib.so with a version built on Ubuntu 14.04.4
Copy your unbuntu _hashlib.so and _ssl.so into /usr/autodesk/mayaxxxx/support/python/2.7.11/ and replace the Redhat/CentOS file.
Required Packages
You require these packages to be installed.
If you have installed Linux with UI (XWindows),
then checking these dependencies should be sufficient:
Package Name |
Provides library |
Required for application |
tcsh |
|
rrClient/rrClientconsole only. If rrClient config is NOT set to "Bash" |
libXScrnSaver |
|
UI rrClient and rrClientWatch only. rrClientConsole does NOT require it |
EITHER (Alma): |
libxcb-xinerama.so.0 |
UI apps only |
If you have installed a minimal Linux version without UI for the rrClient or rrServer daemon,
then you have to check for these dependencies:
Package Name |
Provides library |
Required for application |
libxkbcommon |
libxkbcommon.so.0 |
rrWorkstationInstaller (*) |
libxkbcommon-x11 |
libxkbcommon-x11.so.0 |
rrWorkstationInstaller (*) |
fontconfig |
libfontconfig.so.1 |
rrWorkstationInstaller (*) |
xcb-util-image |
libxcb-image.so.0 |
rrWorkstationInstaller (*) |
xcb-util-wm |
libxcb-icccm.so.4 |
rrWorkstationInstaller (*) |
xcb-util-renderutil |
libxcb-render-util.so.0 |
rrWorkstationInstaller (*) |
xcb-util-keysyms |
libxcb-keysyms.so.1 |
rrWorkstationInstaller (*) |
(*)
Note that the rrWorkstationInstaller, which is required to install the autostart service/deamon checks for the existance of XWindows libs.
Even if you execute it in commandline mode (see rrWorkstationInstaller --help), it still requires the libraries to exist.
XWindows libs are not used in commandline mode, but Linux verifies they exist in case you might want to start rrWorkstationInstaller in UI mode.
Bash environment
If bash is NOT set as shell in the client config, then RR uses CSH.
If you want to dublicate your bash environment, please add these commands to your \render_apps\_setenv\lx\_global.sh
bash$ env > /tmp/bash.env
csh$ env /tmp/bash.env
Error: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
If you get this error message, then the libxcb packages are probably not installed.
(E.g. on Ubuntu 20)
You can verify that the libs are missing by executing the commandline
ldd [RR]/bin/lx64/platforms/libqxcb.so
It should state:
libxcb-xinerama.so.0 => not found
libxcb-xinput.so.0 => not found
Daemon terminal commands
Please use the default Linux commands to control the daemon/service if required:
systemctl is-enabled rrAutostartservice.service
systemctl status rrAutostartservice.service
systemctl start rrAutostartservice.service
systemctl restart rrAutostartservice.service
systemctl stop rrAutostartservice.service
systemctl enable rrAutostartservice.service
systemctl disable rrAutostartservice.service
Mount Fileserver shares
You have 2 options to mount your file shares:
1) You tell the rrClient to mount shares.
Please open rrConfig, tab "paths and drives" and add your fileserver share.
2) You let the system mount all shares via fstab.
Please see next section.
Mount Samba Share
If your RR files are on a samba or windows fileserver, then you have to mount the fileserver share to a local directory.
- Create a mount point/directory, for example create the folder /mnt/RoyalRender.
- Test to mount the share via commandline
- Edit the file /etc/fstab, add a line:
//192.168.0.15/RRShare /mnt/RoyalRender cifs username=myShareUser,password=myPassword,noperm,uid=myRRUser,gid=users,file_mode=0777,dir_mode=0777 0 0
You have to replace some variables to match your environment:
//192.168.0.15/RRShare |
Set this to the fileserver IP and share name. |
myShareUser,myPassword |
Add a user that is able to access the fileserver. You do not need to have this user on linux, the user+password is send to the server. |
myRRUser |
The user you use for running RoyalRender. |
Important: Do not forget an empty line at the end of the fstab file!!
- After you have edited the file, execute the command
mount -a
If there is any problem with the fstab, it will be printed.
XSAN:
One customer had to add more flags to connect to a XSAN server, his fstab setting was:
//10.0.100.200/media/ cifs credentials=/home/parallels /.smbcredentials,noperm,iocharset=utf8,uid=thankyou,thankyouall,file_mode=0777,dir_mode=0777,nounix,noserverinfo,sec=ntlmssp 0 0
Newer Windows fileserver:
You might need to add smb3 and ntlmssp for Windows 10/11:
//192.168.0.15/RRShare /mnt/RRender cifs username=myShareUser,password=myPassword,noperm,uid=myRRUser,gid=users,file_mode=0777,dir_mode=0777,sec=ntlmssp,vers=3\.0 0 0
Mount NFS Share
Docker (rrAutostartService replacement)
First note that you should always try to use the rrAutostart deamon as it verifies the execution of the rrClient/rrServer.
If you really need to use Docker instead of a local deamon to run the RR applications, then you have to create a Docker config file for the RR image.
If you have to use Docker instead, create a Dockerfile with the commandline
CMD ["RR/bin/lx64/rrStartLocal", "rrClientconsole ", "-service"]
(Replace "RR" with the path to your RR installatio )
Nothing else is required. RR runs on most Linux distributions without the requirement to install any additional library packages.
The above command does not require any files to be installed locally.
rrStartLocal caches the rrClient app locally in /tmp. This way you always use the latest RR version from your network share.
Folder access rights (UMask, RR rrJobdata folders, frames, output folder )
On Linux, it is sometimes more complicated with the access rights of the output frames and folders if they are created by RR.
There is the UMask which can be set in the mount commandline (file_mode=0777,dir_mode=0777) or for a user/application in its environment (~/.bashrc).
You can override the UMask for the rrClient when you install the daemon via rrWorkstationInstaller.
There is a setting in rrConfig, tab "Other" to tell RR to set Read+Write+Browse (777) permissions on these folders:
[RR]/ rrJobData/
[RR]/ sub/ stats/
[RR]/ _debugInfo/
Job output folders and files
First, it depends on the application that creates the folder.
a) Submission
If they do not exist, then there is the rrSubmitter that creates the main and all AOV/framebuffer/channel output folders. (Only known AOV folders as shown in the job info )
In addition, the rrSubmitter supports two commandline flags and a config option
- -NoOutFolderCreation: Does not create folders at submission
- -SetOutFolderUserRights: Sets 777 on folders (read+write+browse)
- rrConfig, tab Other: Same option as commandline -SetOutFolderUserRight via a checkbox.
If you do not use any flag, then the output folder is created with this UMask:
- if it was set: mount option on the artists machine
- otherwise the artists environment setting
b) Job queue receive/job check
- The rrServer creates the main output folder if it does not exist (any more).
Please see "c) Rendering" for more information about the UMask.
c) Rendering
It is possible that either the rrClient or the render application creates folders and files
With job option "Local Render Out" enabled:
- The rrClient creates output files and additional AOV folders that do not exist (but not the main output folder).
Without job option "Local Render Out":
- The render application creates output files and additional AOV folders that do not exist.
Now it depends on how you start the RR applications (which is inherited to the render application)
Application mode:
If you have started the rrServer or rrClient in application mode, then output files and folder are created with this UMask:
- if it was set: mount option on the machine
- otherwise the current users environment setting
Service mode:
If you have started rrServer or rrClient in service mode (should be default for a permanent installation), then output files and folder are created with this UMask:
- if it was set: mount option on the machine
- if it was set: otherwise UMask override of the RR service/daemon (change via rrWorkstationInstaller)
- otherwise the system default