Linux Viewer

The Linux/x86 Beta version of the Linux Viewer is available for download. Although Linden Lab is still smoothing-out a few rough edges, this version of the client is functionally complete and should work quite well "out of the box" for accessing Second Life.
Users are encouraged to try it out and let Linden Lab know of its compatibility with your system. Be aware that although this is a "beta" client, it connects to the main Second Life world and changes you make there are permanent.
This Wiki Page is created to provide information for users of the Linux Viewer. Please help contribute to make this wiki page better.
= System Requirements =
Minimum requirements:
* Internet Connection: Cable or DSL
* Computer Processor: 800MHz Pentium III or Athlon or better (recommended: 1.5GHz or more)
* Computer Memory: 
** Update Fall 2009: recommended: 2GB
** 512MB (recommended: 768MB or more)
* Linux Operating System: A reasonably modern 32-bit Linux environment is required
* Graphics processor (one of the following):
** Update Fall 2009: nVidia GeForce 9600 GT is known to work well
** nVidia GeForce 2, GeForce 4mx, or better (recommend one of the following: 6700, 6800, 7600, 7800, 7900, 8400, 8500, 8600, 8800, Go 7400, Go 7600, Go 7800, Go 7900). This is the recommended GPU line.
** ATI Radeon 8500, 9250, or better
If you are running a 64-bit Linux distribution then you will need its 32-bit compatibility environment installed. At this time, unless you have a program that absolutely requires 64-bit support, you may find your experience to be easier overall with a 32-bit environment.
Second Life absolutely requires you to have recent, correctly-configured OpenGL 3D drivers for your hardware. The graphics drivers that came with your operating system may not provide the functionality required in all cases. See theTroubleshooting section if you encounter problems starting Second Life.
For a more comfortable experience, the recommended hardware for the Second Life Linux client is essentially the same as for Windows. It is sometimes possible to run Second Life with fewer resources (ie, low bandwidth or poor GPU), but it may be painful. You have been warned.
= Installing and Running =
The Second Life Linux client entirely runs out of the directory you have unpacked it into - no installation step is required.
Run ./secondlife from the installation directory to start Second Life.
For in-world movie playback, you will need GStreamer 0.10 installed on your
system. This is optional - it is not required for general client functionality. If you have GStreamer 0.10 installed, the selection of in-world movies you can successfully play will depend on the GStreamer plugins you have; if you cannot play a certain in-world movie, then you are probably missing the appropriate GStreamer plugin on your system - you may be able to install it (see Troubleshooting).
User data is stored in the hidden directory ~/.secondlife by default; you may override this location with the SECONDLIFE_USER_DIR environment variable if you wish.
On systems where multiple people use Second Life, you may wish to unpack Second Life, then have your root user move it to /opt and link /opt/path-to-Secondlife/secondlife to /usr/games. Any user who has access to play games should be able to run Second Life directly from the command line with secondlife.
= Known Issues =
These are the most commonly-encountered known issues which are specific to
the Beta release of the Linux client.
* Many Linux graphics drivers are not as robust as their counterparts for other operating systems, so some advanced Second Life graphical features have been disabled by default to aid stability. See the Graphics Issues Troubleshooting section if you wish to turn these on to possibly enhance your experience.
* Upload, save and color-picker dialogues only appear when the client is in 'windowed' mode, not 'fullscreen' mode.
* When the client detects that a new version of Second Life is available, it will ask you if you wish to download the new version. This option is not implemented; to upgrade, you should manually download a new version.
* Voice support is not compatible with many common sound chipsets, such as emu10k1, which drives the SoundBlaster Live line of sound devices. See this forum post for the current state of voice in the Linux version.
= Troubleshooting =
The client prints a lot of diagnostic information to the console it was
run from. Most of this is also replicated in ~/.secondlife/logs/SecondLife.log
- this is helpful to read when troubleshooting, especially 'WARNING' lines.
VOICE PROBLEMS? See the Linux Sound Settings page or the README-linux-voice.txt in your download.
== Startup ==
PROBLEM: Second Life fails to start up, with a warning on the console like:
 'Error creating window.' or
 'Unable to create window, be sure screen is set at 32-bit color' or
 'SDL: Couldn't find matching GLX visual.'
SOLUTION:- Usually this indicates that your graphics card does not meet
the minimum requirements, or that your system's OpenGL 3D graphics driver is
not updated and configured correctly. If you believe that your graphics
card DOES meet the minimum requirements then you likely need to install the
official so-called 'non-free' nVidia or ATI (fglrx) graphics drivers; we
suggest one of the following options:
* Consult your Linux distribution's documentation for installing these official drivers. For example, Ubuntu provides binary driver documentation
* If your distribution does not make it easy, then you can download the required Linux drivers straight from your graphics card manufacturer:
** nVidia cards: <http://www.nvidia.com/object/unix.html>
** ATI cards: <http://ati.amd.com/support/driver.html>
NOTE: Startup issues related to ia32-libs in the console output, refer to 
== System hang ==
PROBLEM: My whole system seems to hang when running Second Life.
* SOLUTION:- This is typically a hardware/driver issue. The first thing to do is to check that you have the most recent official drivers for your graphics card (see PROBLEM 1).
* SOLUTION:- Some residents with ATI cards have reported that running 'sudo aticonfig --locked-userpages=off' before running Second Life solves their stability issues.
* SOLUTION:- As a last resort, you can disable most of Second Life's advanced graphics features by editing the 'secondlife' script and removing the '#' from the line which reads '#export LL_GL_NOEXT=x'
== Graphics Issues ==
* PROBLEM: Performance or graphical quality are not as high as I expect.
* PROBLEM:- 'SHINY' doesn't work.
* PROBLEM:- I can't turn on Anisotropic Filtering, Ripple Water, or AGP.
* SOLUTION:- Some graphics performance features in Second Life are disabled by default for the Linux version due to stability issues with some common Linux graphic drivers. You can re-enable these features at the slight risk of decreasing system stability. To do so:
** Edit the 'secondlife' script. Comment-out these lines by putting a '#' in front of them: 'export LL_GL_BASICEXT=x', 'export LL_GL_NOEXT=x', 'export LL_GL_BLACKLIST=abcdefghijklmno'.
** Now start Second Life. Some advanced performance features will now be automatically used, and some new options in Preferences will now be available to you; there is no guarantee, however, that they will positively affect performance!
* SOLUTION:- If you are not running an official Second Life client obtained from secondlife.com, you should consider doing so as you may find its performance to be superior to third-party versions.
== Sound Lag ==
PROBLEM:- Sound effects seem to 'lag' a fraction of a second behind actions.
SOLUTION:- You may uncomment the 'LL_BAD_ESD' line in the 'secondlife' script to get more responsive audio. However, if you do this then you may encounter audio issues or a hang during login, so beware.
== 'Alt' key problems ==
PROBLEM:- Using the 'Alt' key to control the camera doesn't work or just moves the Second Life window.
SOLUTION:- Some window managers eat the Alt key for their own purposes; you can configure your window manager to use a different key instead (for example, the 'Windows' key!) which will allow the Alt key to function properly with mouse actions in Second Life and other applications.
SOLUTION:- Alternatively, use alt+super / alt+windowskey for the camera instead, instead of just Alt.
== Movie Playback ==
PROBLEM:- In-world movie playback doesn't work for me.
SOLUTION:- You need to have a working installation of GStreamer 0.10 (which should be 32-bit or 64-bit depending on whether your SL viewer is 32-bit or 64-bit); this is usually an optional package for most versions of Linux. If you have installed GStreamer 0.10 and you can play some movies but not others then you need to install a wider selection of GStreamer plugins, either from your vendor or an appropriate third party.
SOLUTION:- GStreamer 0.10 plugins supporting some important formats (such as H.264) are no longer shipped with Ubuntu 14.04+. This can be fixed by installing the gstreamer0.10-ffmpeg package from here
== Voice ==
PROBLEM:- Voice chat doesn't start.
SOLUTION:- If you are using gnome, install ESD (ubuntu package esound), enable it in the ALSA config panel, and log out of gnome and back in. You may need to kill or completely remove PulseAudio or other sound systems to ensure that ESD starts cleanly.
== 64-bit ==
DISCUSSIONS AND KNOWN BUGS:
* - Full support for Linux 64-bit
* - Login impossible because some typed characters do not display
* "Numbers on 32-bit vs 64-bit Linux deskop adoption" thread on SLDEV mailing list - June 2009:
** https://lists.secondlife.com/pipermail/sldev/2009-June/014159.html and following
** https://lists.secondlife.com/pipermail/sldev/2009-June/014303.html and following 
PROBLEM:- Second Life Viewer doesn't start.
SOLUTION:- You need to install the 32-bit versions of the libraries required by Second Life, in addition to the base 32-bit libraries.
In Ubuntu (13.10 and later):
Recent versions of Ubuntu have removed support for ia32-libs and require a different process for installing.<Br>
Note: This section is not well tested or 100% complete but it has been verified on the RLV third party viewer version 2.08.05.05 and should work for Second Life viewer 3.6.4.<Br>
Note: This section should only be used for fresh installations of Ubuntu 13.10 or later. If you performed a distribution upgrade from a previous version of Ubuntu you should try the instructions below first.<Br>
Note: I am not sure what version of Ubuntu the ia32-libs support was removed. These instructions may also be applicable to Ubuntu 12.04 and later.
* Install the required libraries (based on details from the Firestorm Project Wiki):
 sudo apt-get install libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 libglu1-mesa:i386
 sudo apt-get install gstreamer0.10-pulseaudio:i386
* Installing the above libraries may be all that is needed.
* If you encounter the problem <Code>error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory</Code> try the following (based on an Ubuntu discussion for a related problem in Skype):
 LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 ./secondlife
: Note that this command may cause a blank login screen if it is used but not needed.
* If you are still encountering problems see the instruction below for Ubuntu pre 13.10 version.
In Ubuntu (pre 13.10 maybe pre 12.4):
* sudo aptitude install ia32-libs
* cd to your SecondLife folder
* mkdir viewer-libs
* LD_LIBRARY_PATH=${PWD}/lib ldd bin/do-not-directly-run-secondlife-bin | grep "not found" | uniq | sort
* search http://packages.ubuntu.com/hardy/libs/ for each library (assuming you're using hardy)
** if a library is not there it's not a big deal, go to the next until you get as many libraries as you can.
** download the i386 (not AMD64) version of the .deb file from your nearest mirror
** dpkg -X package-you-just-downloaded_i386.deb viewer-libs/
** repeat until you have no more libs you can get.
* sudo cp -i -P -R viewer-libs/lib/* /lib32/
* sudo cp -i -P -R viewer-libs/usr/lib/* /usr/lib32/
* SL should launch now.
In Debian Lenny:
* sudo aptitude install ia32-libs
* SL should launch now.
PROBLEM:- SLVoice voice chat client doesn't start.
SOLUTION:- You need to install the 32-bit versions of the libraries required by SLVoice as well as the client libs. Follow the above instructions, but do
* LD_LIBRARY_PATH=${PWD}/lib ldd SLVoice | grep "not found" | uniq | sort
and once again, just skip the libraries you can't find.
PROBLEM:- Voice doesn't work and there's a "terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr" entry in the log
CAUSE:- see 
====In Fedora 10:====
based on Ubuntu directions
* Tested on a Dell Latitude E6500 with an nVidia Quadro NVS 160M; not tested beyond launch
* cd to your SecondLife folder
* Change fc10 to match your distro id (e.g. el5 for RHEL, fc9 for Fedora 9, rawhide for Fedora development builds)
 yum provides $(LD_LIBRARY_PATH=${PWD}/lib ldd bin/do-not-directly-run-secondlife-bin | grep "not found" | sort | uniq | awk '{print $1}') | grep fc10 | awk '{print $1}' | sort | uniq
* Using the supplied list, install the latest version of each package (as root)
** For example, my output was:
 gtk2-2.14.4-3.fc10.i386
 gtk2-2.14.7-7.fc10.i386
 xulrunner-1.9.0.4-1.fc10.i386
 xulrunner-1.9.0.8-1.fc10.i386
::* So, I ran:
 yum install gtk2-2.14.7-7.fc10.i386 xulrunner-1.9.0.8-1.fc10.i386
* SL should launch now
= Advanced Troubleshooting =
The 'secondlife' script which launches Second Life contains some configuration options for advanced troubleshooters.
* AUDIO - Edit the 'secondlife' script and you will see three audio options: LL_BAD_ESD, LL_BAD_OSS, LL_BAD_ALSA. Second Life tries to use ESD, OSS, then ALSA audio drivers in this order; you may uncomment the corresponding LL_BAD_* option to skip an audio driver which you believe may be causing you trouble.
* OPENGL - For advanced troubleshooters, the LL_GL_BLACKLIST option lets you disable specific GL extensions, each of which is represented by a letter ("a"-"o"). If you can narrow down a stability problem on your system to just one or two GL extensions then please post details of your hardware (and drivers) to the Linux Client Testers forum (see link below) alongwith the minimal LL_GL_BLACKLIST which solves your problems. This will help us to improve stability for your hardware while minimally impacting performance. LL_GL_BASICEXT and LL_GL_NOEXT should be commented-out for this to be useful.
= Obtaining and Working With the Client Source Code =
We're pleased to have released the Second Life client's source code under
an Open Source license compatible with the 'GPL'. To get involved with client
development, please see: Open_Source_Portal
= Getting More Help and Reporting Problems =
The following are some useful resources for the Linux version of the Second Life viewer:
* General help and support with Second Life
* For problems and discussion concerning unofficial (not secondlife.com) releases, please contact your packager or the SLDev mailing list
* In-world help: Please use the 'Help' menu in the client for various non-Linux-specific Second Life help options.
* In-world discussion: There is a 'Linux Client Users' group inside Second Life which is free to join. You can find it by pressing the 'Search' button at the bottom of the window and then selecting the 'Groups' tab and searching for 'Linux'. This group is useful for discussing Linux issues with fellow Linux client users who are online.
* The Second Life Issue Tracker - This is the right place for finding known issues and reporting new bugs in all Second Life releases if you find that the Troubleshooting section in this file hasn't helped (please note, however, that this is not a support forum).
* Linux Client Testers forum - This is a forum where Linux Client users can help each other out and discuss the latest updates.
* Known Bugs and Issues Forum
* The "Linux Client Users" group in Second Life