Making an effort to start looking into some howto’s for 3D operators specifically for Ubuntu gnome desktop as a platform of choice.
This HowTo is for Ubuntu 9.10 / Deadline V4.0
I’m posting this up as I’m running into some weird results and I’m hoping someone might be able to go through this and point out something that might be missing in an effort to rectify some of the issues with Deadline in Ubuntu 9.10. From there I can fix up the walkthrough and others can use this as a point of reference for setting up Deadline 4.0 on Ubuntu 9.10.
Perhaps someone from the Dev team can take a nosey through this to see if there are any resolutions to the Known Issues section, or a way I can get some info to you for investigation pretty please!
__________________________________________________________________________________________________________________
[size=125]KNOWN ISSUES:[/size]
- Window Resizing doesn’t work
-work around is to hack the py found /DeadlineRepository/scripts/Submission/MayaSubmission/MayaSubmission.py
[code]
dialogWidth = 900
labelWidth = 200
dialogHeight=800[/code]
- mouse gets caught in the slaves section of the monitor in drag select mode.
- can’t right click and re-Que a task which says it’s `rendering’ even though the slave has moved onto another task.
- slave window flicks to all slaves currently active as idle. Need to restart monitor to see them as rendering again.
- slave timeouts fail to re-que the task properly
- can crash the monitor by selecting the Tools/ViewRemoteCommandWindow and clicking on the Clear Completed button
- Failing a task = no chance to re-Que it.
- All kinds of problems re-Queuing / managing tasks in progress…
- All kinds of refreshing / slave information down the bottom, to the point of not trusting that info anymore at all…
- If ya have to restart a slave during a render, the current render will not pickup the slave again for rendering no matter what…
__________________________________________________________________________________________________________________
[size=150]Step 1: Download Deadline[/size]
Download the DeadlineClient and DeadlineRepository installers
[size=150]Step 2: Installing Mono[/size]
[size=100]2.1: Synaptic package install of 2.4.2-1[/size]
[list]In Ubuntu 9.10 from the synaptic package manager you can install 2.4.2-1 directly search for mono and install mono-utils[/list:u]
[size=100]2.2: Manual Compile of 2.6.1[/size]
[list]* this does fix the menu pull down issues somewhat that exists with the synaptic mono install
*Also prob a good idea to check the synaptic manager for any mono installs and any libgdiplus installs and remove them.
For the die hard compilers 2.6.1 can be obtained from mono-2.6.1.tar.bz2 and libgdiplus-2.6.tar.bz2or libgdiplus-2.6.2.tar.bz2 [/list:u]
NOTE I have noticed these builds seem way less stable than the synaptic 2.4.2-1 install …
Requirements to compile:
$sudo apt-get install build-essential libpng12-dev pkg-config libglib2.0-dev bison libcairo2-dev libungif4-dev libjpeg62-dev libtiff4-dev gettext libgif-dev
Go to where you downloaded the tars to.
[list]$tar -xf mono-2.6.1.tar.bz2
$tar -xf libgdiplus-2.6.tar.bz2[/list:u]
[size=100]2.2-1: Compile Libgdiplus-2.6[/size]
[list]$cd /libgdiplus-2.6.tar.bz2
$./configure
watch for any errors be sure to fix them installing any -dev
$sudo make
$sudo make install[/list:u]
[size=100]2.2-2: Compile mono-2.6.1[/size]
[list]$cd /mono-2.6.1
$./configure
$sudo make
$sudo make install[/list:u]
[size=150]Step 3: Preparing your Repository and Client machines for installs[/size]
Do step 3.1 on both machines.
[size=100]3.1: Making sure Samba is installed[/size]
[list]$sudo apt-get install smbfs
$sudo apt-get install samba
$sudo apt-get install sambaclient[/list:u]
[size=100]3.2 Set install files to executable[/size]
make sure both files can be executed by ubuntu by right clicking them and setting
[size=100]3.3 Server: Install DeadlineRespository to the Server[/size]
cd to the directory with the DeadlineRespository install file
[list]$sudo ./DeadlineRespository
follow the install prompts, this should install DeadlineRespository into /usr/local/Prime_Focus/DeadlineRespository[/list:u]
[size=100]3.4 Server: Setting SMB Share via smb.conf[/size]
One of the best ways to ensure the Deadline repository and any project folders on the server can be read and written to is just to plain hardset the folder share up in the smb.conf. The nautilus approach can be flakey in so far as working out permissions.
smb.conf is found in /etc/samba
So lets get to editing the smb.conf to share the deadline repository directory
[list]$sudo gedit /etc/samba/smb.conf
it is also a good idea in this file to make sure the following matches your domain name if you’re not working to WORKGROUP.
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
So change WORKGROUP to the domain name.
Pagedown to the bottom of this file and add
[DeadlineRepository]
path = /usr/local/Prime_Focus/DeadlineRepository
comment = DeadlineRepository Share
guest ok = Yes
public = yes
writable = yes
valid users = nobody guest admin
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
unix extensions = No
As far as I know sharing this via Nautilus as well doesn’t cause any major conflicts, so feel free to do that also if ya must.
Finally;
$sudo chmod -R 777 /usr/local/DeadlineRepository[/list:u]
$sudo chown -R nobody:nogroup /path/to/repository
$sudo chmod -R 777 /path/to/repository
[size=100]3.5 Client: Setting fstab to mount DeadlineRepository on boot[/size]
We have to make a directory to mount into first. I tend to stick with /media as opposed to /dev for everything just so I know where everything is, but if you prefer /dev for shares by all means make the directories there.
[list]$sudo mkdir /media/DeadlineRepository
editing the fstab to mount the deadline repository
$sudo gedit /etc/fstab
//SERVERIP/DeadlineRepository /media/DeadlineRepository smbfs credentials=/root/.smbcredentials,uid=nobody,gid=nogroup,noperm 0 0
[/code][/list:u]
noperm from [url=http://support.na.primefocusworld.com/viewtopic.php?f=11&t=3673&p=14579#p14579]s.s.t's thread here[/url]
save it and close it.
credentials=/root/.smbcredentials refers to a file we have to make that will reside in the /root/ folder. This file is called upon by stab everytime it tries to mount the folder and it will use the username and password found in that file to automatically log you into the machine/share.
$sudo gedit /root/.smbcredentials
the format for this file is
[code]username=USERNAME
password=PASSWORD
workgroup=DOMAINNAME
eg:
username=macky
password=woger
workgroup=WORKGROUP
$sudo mount /media/DeadlineRepository
The directory should pop up.
NOTE: It is also a good idea to edit your hosts file and add into this the IP and then computer name for the IP so you can use machine names as well as IP’s
$sudo gedit /etc/hosts
10.1.1.3 macky-desktop
is an example of a line added to this file, this just helps ubuntu out to know what is where computer wise.
NOTE: if you have any spaces in a networkdrive share name you can get around it by using
You can check smb shares around you using
$smbtree
NOTE: It is VERY important to note that ALL machines MUST be able to SEE your projects/renderoutputs folders too for a renderfarm, and any scripts folders etc that may be necessary for rendering should be across all boxes as well. Basically the rule of thumb is once you start in on renderfarm stuff, you should make sure everything works across the network proplery and everything can see everything else properly or stuff just dun work.
[size=100]3.6 Client: Install DeadlineClient[/size]
Now that we have the repository folder from the server mounted properly on the client machine, we can install the DeadlineClient.
cd to the directory with the DeadlineClient install file on the client machine.
$sudo ./DeadlineClient
follow the prompts and use the correct ip paths / ports, /media/DeadlineRepository is the full path to the repository folder on the client.
[size=150]Step 4: Creating a startup sh file and setting it to autoload via System/Preferences/Startup Applications[/size]
Pretty straight foward this one since we’re going to use the System/Preferences/Startup Applications
Create a file in your home folder called deadlinestart.sh. Right click this and make sure it is set to be executable.
in this copy paste
#!/bin/bash
# Deadline Launcher
deadlinelauncher
open System/Preferences/Startup Applications
Click ADD
Browse to the script
Give it a name and comment
Save
That should be it.
If you like you can set the launcher to NOT start the slaves when it is fired off, and make a new deadlineslave.sh file that sets the slaves off with no guid
#!/bin/bash
# Deadline Launcher
deadlineslave -nogui
open Syst
[size=150]Setting Up Linux Ubuntu Renderman for Maya 3.0.2 for Deadline[/size]
Assuming you’ve already aliened the rpms and installed etc (if necessary I can write that up too)…
Really important stuff here in so far as Renderman For Maya useage with Deadline.
Renderman for maya doesn’t RIB then render like Proserver does. With Proserver the ribbing process is done entirely before the rendering of the frames commences. How ever with Renderman for Maya whilst the ribbing/compiling happens before the frames are rendered, this is done on a `frames per task’situation. That is to say every block of 10frames rib out from each machine into the same directories by default and if machine01 is ribbing/compiling shaders while machine02 is trying to read them you’ll end up with errors all through the render.
The easiest way to rectify this is to set each renderfarm node to rib/compile etc into it’s OWN folder
To do this you can setup in the root directory of the project folder a RMSworkspace.ws file
Change the following lines to match below.
SetPref WSSubdir.rfmData {renderman/${SCENE}/${HOST}/data}
SetPref WSSubdir.rfmShaders {renderman/${SCENE}/${HOST}/shaders}
SetPref WSSubdir.rfmTextures {renderman/${SCENE}/${HOST}/textures}
I will double check if the ${SCENE} is still needed, but for now lets discuss how in Ubuntu to get a HOST env var available manually
$sudo gedit .profile
add to this file the following replacing INSERTHOSTNAMEHERE with the hostname of the computer (found easily by typing hostname into a commandline console).
export HOST=“INSERTHOSTNAMEHERE”
save the file
reboot or log out and back in.
Now you have made the hostname for that computer avail to renderman for maya for use with the workspace file and each machine will rib/compile out to it’s own folders.
stuff this up and you’ll error out so be sure to do this step right too;
sudo ln -s /opt/pixar/RenderManForMaya-3.0.2-maya2008/etc/rmanRenderer.xml /usr/autodesk/maya/bin/rendererDesc/
You will also need to edit the .module file properly and make sure maya can see that properly. If I need to add that in here lemme know and I will update.
_____ Okay that’s it for now, will update as posts / info comes through or changes.
Good Luck all!