On some newer 32-bit Linux releases, an X11 library has changed in a way that makes Shake hang. For that reason, we will install a previous libX11.so version—and there may be other necessary replacements in the future—to circumvent the problem (Step 2). Red Hat Enterprise and CentOS work without this modification.
Working 32-bit distributions (this list is not exclusive):
CentOS 5.3 / Red Hat Enterprise
Ubuntu 9.04, openSUSE 10+, and others (need an older X11 library, see Step 2)
For 64-bit Linux you may need to install 32-bit legacy compatibility libraries (Step 2 addendum).
Depending on your video card brand, visit ATI, Nvidia, or your notebook manufacturer’s website for hardware OpenGL Linux drivers. You may need to edit the x.conf file for proper behavior. Search the web for more installation hints.
1. With root privileges create an installation directory. Common choices are
Choose whichever convention you prefer but make sure that you adjust the environment variables properly in Step 4.
2. Depending on your installation media, move/unzip the Shake folder to the installation directory.
Ubuntu: Download (http://rpm.pbone.net/) the Fedora Core RPM package libX11-1.0.3-8.fc7.i386.rpm and extract libX11.so.6.2.0. Change its name to libX11.so.6 and move it to Shake’s lib folder. This may work for other Linux distributions that have freezing troubles upon launching Shake. RPM packages can be opened with utilities such as 7-Zip (http://www.7-zip.org/) or alien (http://kitenet.net/%7Ejoey/code/alien/).
Ubuntu 64-bit: We need these shared compatibility libraries when running 32-bit programs under the Debian 64-bit kernel. sudo apt-get install ia32-libs
A Fedora-based 64-bit OS may need the compat* libraries, but so far the default installations work.
3. Set permissions for the Shake executables. If you don't do this, certain GUI functionality like thumbnail generation won't work. chmod 755 * /[...Shake directory]/bin
Note: Although some of the files in Shake’s bin directory have .exe suffixes like Windows executables, they are still Linux binaries.
4. Set your environment variables so that your system sees Shake properly.
Open a new shell in your home directory (/home/username). For bash, type vi .bashrc. For tcsh, see the Shake documentation on setting environment variables. Add the following lines to the bottom of .bashrc and adjust the paths to match your configuration. If any lines like PATH already exist, then append to them. Afterwards, be sure to exit your desktop and re-log in or type source .bashrc. PATH=$PATH:/usr/nreal/shake-v4.10.0606/bin
### omit the next line if running 32-bit Linux ###
### always include this last line ###
export NR_SHAKE_LOCATION NR_ICON_PATH NR_INCLUDE_PATH
64-bit Linux: The LD_LIBRARYN32_PATH environment variable is necessary on 64-bit systems so that Shake knows where to find 32-bit libraries.
5. Optional. In your home directory (/home/username) create the following folders: nreal
If your environment variables and Shake launch script are set up properly, I believe Shake will automatically create these directories as needed.
6. Now open a new shell, type shake, and it should run. Alternatively, go to Shake's bin directory and type csh shake or ./shake. If it hangs or there’s an error then review Steps 2–4.
Ubuntu: csh and tcsh aren’t included by default. You’ll need to download and install the packages: sudo apt-get install csh
sudo apt-get install tcsh
CentOS: Because Fedora, CentOS, and Red Hat have a security feature, SeLinux, the following error may appear in relation to a Shake library:cannot restore segment prot after reloc
Either disable SELinux and restart, or register each offending Shake library with the security module using the chcon command. You may need to log in as su for this operation.chcon -t texrel_shlib_t [path to Shake library causing error]