Unless you've lived under a virtual rock since 2003, you have probably heard of Linden Lab's baby, Second Life at some point. The online virtual world, where you can literally pretty much do anything, might not be at the peak popularity it once experienced but there is still plenty going on. If you're a Second Life user (or resident, as they like to put it) or looking to become one, here's how to install a Linux client.
I said "a client" rather than "the client", because there are at least a few options to choose from. In reality, they all come from the same basic source code, as the Official Second Life client program (called a viewer) is open source. With this in mind you may simply choose to install the Official Second Life viewer (known simply as SL Viewer), however for the purpose of this tutorial for getting onto the Second Life world on Linux, I prefer Firestorm, a third-party viewer rolled from Linden Lab's official viewer code with some enhancements and extra features.
There are a couple of reasons I prefer Firestorm over SL Viewer or even some of the other Second Life viewers out there: Firestorm has a 64bit version (most come in 32bit only) and for whatever reason, perhaps related, Firestorm is the only Second Life viewer that, for me at least, has working sound out of the box. It is perfectly possible with a tweak to get sound working in the others, but I'll get to that later in the article.
For now, onto Firestorm!
Installing Firestorm for Linux
You will want to of course head over to the Firestorm Viewer's Linux download page and choose from either a 32bit or 64bit version depending on your OS. I should note that one interesting difference between the two versions is that the 32bit version is the only one that currently offers advanced Havok physics engine functionality. The only thing is I'm yet to determine exactly how much impact that has "in-world" (you could say "in-game" but most people associated with Second Life seem to like avoiding referring to it as a game) as I have used both 32bit and 64bit versions and not seen a difference in general usage. If anyone has any pointers or corrections on that one, let me know!
If you choose to install the 32bit version of Firestorm (or any Second Life viewer, for that matter) in a 64bit OS, you will of course need to install a slew of 32bit compatibility libraries. In that case I will direct you to this page. Currently the instructions are for Ubuntu and OpenSUSE, but it should give you an idea of what you will need for other distributions. Alternatively, you could try installing Snowstorm (basically SL Viewer built straight from the latest stable source code) from Playdeb (if on Ubuntu), which with all going well, might even automatically pull in all the required 32bit libraries. This means you would have Firestorm and Snowstorm installed by the end of this tutorial, but they share so much code it's not going to cause any real amount of bloat. Consult your distribution's repositories to see if Snowstorm is available if using something other than Ubuntu.
So, once you've decided on a version, just click the appropriate link as seen in the example screenshot below.
You will receive a .tar.xz archive for download. Save it to your usual download location, eg. the Downloads folder.
Next you will want to extract the contents of your newly downloaded file. In a distribution such as Ubuntu the easiest and default method will likely be using the program "Archive Manager".
Once extracted, you may want to rename the folder to something simple such as "firestorm-viewer".
Now for the next part, you don't actually have to "install" anything in the traditional manner. You can just run the shell script named "firestorm" in the firestorm-viewer directory and if everything is well, the program will simply run, ready for you to log into Second Life.
An example, in a terminal window:
cd ~/Downloads/firestorm-viewer ./firestorm
Note that for Bumblebee users, you may wish to prefix the last command with either 'optirun' or 'primusrun'. eg.
Alternatively, if you wish to install menu entries (so that Firestorm shows up in your application menu), there is a script provided with the program that will do that for you:
cd ~/Downloads/firestorm-viewer ./etc/refresh_desktop_app_entry.sh
All going well, you should now have a Firestorm window open, ready for you to delve in-world!
Now, if you want to install another viewer, such as Singularity or even the official SL Viewer itself, the 'install' process is actually nearly identical to what is described above. You can obtain the archive, extract it and then execute the relevant shell script file inside the extracted folder. Done.
However, first of all, most of these viewers are 32bit, so make sure you have the 32bit compatibility libraries as mentioned earlier. Secondly, like me, you may find those other viewers don't have working sound for some reason. I suspect it's a clash with Pulseaudio and OpenAL, anyway, the fix is fairly easy and just means uncommenting a line in the shell script for the relevant viewer program (eg. 'secondlife' for SL Viewer, 'singularity' for Singularity etc).
Using SL Viewer and Gedit Text Editor as an example:
cd ~/Downloads/<name of SL Viewer folder> gedit secondlife
Then find the line that looks like this:
And make it like this:
Save the file, exit your text editor and relaunch your viewer. Sound streaming should work now, so long as you have all the correct 32bit compatibility libraries, in particular the gstreamer.0.10* libraries.
If you happen to experience no sound even in Firestorm, the same fix would apply, but I never encountered it with that viewer.
I hope this helps! If you have any questions or comments, feel free to leave to submit them below.