aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/linux_tools
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/linux_tools')
-rw-r--r--linden/indra/newview/linux_tools/client-manifest-i68648
-rw-r--r--linden/indra/newview/linux_tools/client-readme.txt202
-rw-r--r--linden/indra/newview/linux_tools/hidesymbols.ver9
-rwxr-xr-xlinden/indra/newview/linux_tools/launch_url.sh87
-rwxr-xr-xlinden/indra/newview/linux_tools/package-client.sh126
l---------linden/indra/newview/linux_tools/unicode.ttf1
-rwxr-xr-xlinden/indra/newview/linux_tools/wrapper.sh50
7 files changed, 523 insertions, 0 deletions
diff --git a/linden/indra/newview/linux_tools/client-manifest-i686 b/linden/indra/newview/linux_tools/client-manifest-i686
new file mode 100644
index 0000000..04ab1f6
--- /dev/null
+++ b/linden/indra/newview/linux_tools/client-manifest-i686
@@ -0,0 +1,48 @@
1# This file defines which files to include in the linux tarball.
2# Each line is a comma-separated definition of source,destination
3# pairs. The packaging script will read all source files
4# from indra/newview/<source>, and place them in the package
5# located at <Package_dir>/<dest>.
6#
7# If no comma is used, the destination name is assumed to be
8# the same as the source name.
9#
10# A 'file' ending with a '/' defines an empty directory to create.
11# A '*' wildcard in the source will recursively copy everything
12# in that directory (except CVS directories)
13
14featuretable.txt
15licenses-linux.txt,licenses.txt
16releasenotes.txt
17lsl_guide.html
18gpu_table.txt
19res/ll_icon.ico,secondlife.ico
20linux_tools/client-readme.txt,README-linux.txt
21linux_tools/wrapper.sh,secondlife
22secondlife-i686-bin-stripped,bin/do-not-directly-run-secondlife-bin
23#../../libraries/i686-linux/lib_release_client/libllkdu.so,bin/libllkdu.so
24#../linux_crash_logger/linux-crash-logger-i686-bin-stripped,linux-crash-logger.bin
25linux_tools/unicode.ttf,unicode.ttf
26linux_tools/launch_url.sh,launch_url.sh
27app_settings/*
28character/*
29fonts/*
30help/*
31skins/*
32res-sdl/*
33../../scripts/messages/message_template.msg,app_settings/message_template.msg
34#../../libraries/i686-linux/lib_release_client/libkdu_v42R.so,lib/libkdu_v42R.so
35../../libraries/i686-linux/lib_release_client/libfmod-3.75.so,lib/libfmod-3.75.so
36../../libraries/i686-linux/lib_release_client/libapr-1.so.0,lib/libapr-1.so.0
37../../libraries/i686-linux/lib_release_client/libaprutil-1.so.0,lib/libaprutil-1.so.0
38../../libraries/i686-linux/lib_release_client/libdb-4.2.so,lib/libdb-4.2.so
39../../libraries/i686-linux/lib_release_client/libogg.so.0,lib/libogg.so.0
40../../libraries/i686-linux/lib_release_client/libvorbis.so.0,lib/libvorbis.so.0
41../../libraries/i686-linux/lib_release_client/libvorbisfile.so.0,lib/libvorbisfile.so.0
42../../libraries/i686-linux/lib_release_client/libvorbisenc.so.0,lib/libvorbisenc.so.0
43../../libraries/i686-linux/lib_release_client/libcurl.so.3,lib/libcurl.so.3
44../../libraries/i686-linux/lib_release_client/libcrypto.so.0.9.7,lib/libcrypto.so.0.9.7
45../../libraries/i686-linux/lib_release_client/libssl.so.0.9.7,lib/libssl.so.0.9.7
46../../libraries/i686-linux/lib_release_client/libexpat.so.1,lib/libexpat.so.1
47#../../libraries/i686-linux/lib_release_client/libstdc++.so.6,lib/libstdc++.so.6
48../../libraries/i686-linux/lib_release_client/libelfio.so,lib/libelfio.so
diff --git a/linden/indra/newview/linux_tools/client-readme.txt b/linden/indra/newview/linux_tools/client-readme.txt
new file mode 100644
index 0000000..4748eaf
--- /dev/null
+++ b/linden/indra/newview/linux_tools/client-readme.txt
@@ -0,0 +1,202 @@
1Second Life - Linux Alpha README
2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
3
4This document contains information about the Second Life Linux
5client, and isn't meant to serve as an introduction to Second
6Life itself - please see <http://www.secondlife.com/whatis/>.
7
81. Introduction
92. System Requirements
103. Installing & Running
114. Known Issues
125. Troubleshooting
136. Advanced Troubleshooting
147. Getting more help, and reporting problems
15
16
171. INTRODUCTION
18-=-=-=-=-=-=-=-
19
20Hi! This is an ALPHA release of the Second Life client for Linux.
21The 'alpha' status means that not everything is implemented yet and
22we're still hard at work on this version of the client, but many
23residents find that it already works well 'out of the box' for accessing
24Second Life.
25
26We encourage you to try it out and let us know of its compatibility
27with your system. Be aware that although the client itself is provided
28for testing purposes, any changes you make within the Second Life world
29are permanent.
30
31Please enjoy!
32
33
342. SYSTEM REQUIREMENTS
35-=-=-=-=-=-=-=-=-=-=-=
36
37Minimum requirements:
38 * Internet Connection: Cable or DSL
39 * Computer Processor: 800MHz Pentium III or Athlon, or better
40 * Computer Memory: 256MB or better
41 * Linux Operating System: A reasonably modern 32-bit Linux environment
42 is required. If you are running a 64-bit Linux distribution, you
43 may need a set of 32-bit compatibility libraries.
44 * Video/Graphics Card:
45 o nVidia GeForce 2, GeForce 4mx, or better
46 o OR ATI Radeon 8500, 9250, or better
47
48 **NOTE**: Second Life absolutely requires you to have recent, correctly-
49 configured OpenGL 3D drivers for your hardware - the graphics drivers
50 that came with your operating system may not be good enough! See the
51 TROUBLESHOOTING section if you encounter problems starting Second Life.
52
53For a more comfortable experience, the RECOMMENDED hardware for the Second
54Life Linux client is very similar to that for Windows, as detailed at:
55<https://secondlife.com/corporate/sysreqs.php>
56
57
583. INSTALLING & RUNNING
59-=-=-=-=-=-=-=-=-=-=-=-
60
61The Second Life Linux client entirely runs out of the directory you have
62unpacked it into - no installation step is required.
63
64Run ./secondlife from the installation directory to start Second Life.
65
66User data is stored in the hidden directory ~/.secondlife by default; you may
67override this location with the SECONDLIFE_USER_DIR environment variable if
68you wish.
69
70
714. KNOWN ISSUES
72-=-=-=-=-=-=-=-
73
74The following user-visible features are currently not fully implemented on
75the Linux client and are therefore known not to work properly:
76 * QuickTime movie playback and movie recording
77 * F1 Help
78 * Embedded Web Profiles and HTML Login Screen
79 * Video memory detection
80 * Full Unicode font rendering
81 * Auto-updater
82
83* UPDATING - when the client detects that a new version of Second Life
84 is available, it will ask you if you wish to download the new version.
85 This option is not implemented; to upgrade, you should manually download a
86 new version from the Second Life web site, <http://www.secondlife.com/>.
87
88* UPLOAD / SAVE / COLOR-PICKER DIALOGS - These only function when the client
89 is in 'windowed' mode, not 'fullscreen' mode.
90
91* GRAPHICAL SPEED/QUALITY - as many Linux graphics drivers are not as robust
92 as their counterparts for some other operating systems, advanced Second Life
93 graphical features have been disabled to aid stability. See PROBLEM 3 in the
94 TROUBLESHOOTING section if you wish to turn these on to enhance your
95 experience.
96
97
985. TROUBLESHOOTING
99-=-=-=-=-=-=-=-=-=
100
101The client prints a lot of diagnostic information to the console it was
102run from. Most of this is also replicated in ~/.secondlife/logs/SecondLife.log
103- this is helpful to read when troubleshooting, especially 'WARNING' lines.
104
105PROBLEM 1:- Second Life fails to start up, with a warning on the console like:
106 'Error creating window.' or
107 'Unable to create window, be sure screen is set at 32-bit color' or
108 'SDL: Couldn't find matching GLX visual.'
109SOLUTION:- Usually this indicates that your graphics card does not meet
110 the minimum requirements, or that your system's OpenGL 3D graphics driver is
111 not updated and configured correctly. If you believe that your graphics
112 card DOES meet the minimum requirements then you likely need to install the
113 official so-called 'non-free' nVidia or ATI (fglrx) graphics drivers; we
114 suggest one of the following options:
115 * Consult your Linux distribution's documentation for installing these
116 official drivers. For example, Ubuntu provides documentation here:
117 <https://help.ubuntu.com/community/BinaryDriverHowto>
118 * If your distribution does not make it easy, then you can download the
119 required Linux drivers straight from your graphics card manufacturer:
120 - nVidia cards: <http://www.nvidia.com/object/unix.html>
121 - ATI cards: <http://ati.amd.com/support/driver.html>
122
123PROBLEM 2:- My whole system seems to hang when running Second Life.
124SOLUTION:- This is typically a hardware/driver issue. The first thing to
125 do is to check that you have the most recent official drivers for your
126 graphics card.
127SOLUTION:- Some residents with ATI cards have reported that running
128 'sudo aticonfig --locked-userpages=off' before running Second Life solves
129 their stability issues.
130SOLUTION:- As a last resort, you can disable most of Second Life's advanced
131 graphics features by editing the 'secondlife' script and removing the '#'
132 from the line which reads '#export LL_GL_NOEXT=x'
133
134PROBLEM 3:- Performance or graphical quality are not as high as I expect.
135PROBLEM:- I can't turn on Anisotropic Filtering, Ripple Water, or AGP.
136PROBLEM:- 'Shiny' doesn't work.
137SOLUTION:- Some graphics performance features in Second Life are disabled
138 by default for the Linux version due to stability issues with some common
139 Linux graphic drivers. You can re-enable these features at the slight
140 risk of decreasing system stability. To do so:
141 * Edit the 'secondlife' script. Comment-out these lines by putting a '#'
142 in front of them: 'export LL_GL_BASICEXT=x', 'export LL_GL_NOEXT=x',
143 'export LL_GL_BLACKLIST=abcdefghijklmno'.
144 * Now start Second Life. Some advanced performance features will now be
145 automatically used, and some new options in Preferences will now be
146 available to you; there is no guarantee, however, that they will
147 positively affect performance!
148
149PROBLEM 4:- Sound effects seem to 'lag' a fraction of a second behind
150 actions.
151SOLUTION:- You may uncomment the 'LL_BAD_ESD' line in the 'secondlife' script
152 to get more responsive audio. However, if you do this then you may
153 encounter audio issues or a hang during login, so beware.
154
155
1566. ADVANCED TROUBLESHOOTING
157-=-=-=-=-=-=-=-=-=-=-=-=-=-
158
159The 'secondlife' script which launches Second Life contains some
160configuration options for advanced troubleshooters.
161
162* AUDIO - Edit the 'secondlife' script and you will see three audio
163 options: LL_BAD_ESD, LL_BAD_OSS, LL_BAD_ALSA. Second Life tries to
164 use ESD, OSS, then ALSA audio drivers in this order; you may uncomment
165 the corresponding LL_BAD_* option to skip an audio driver which you
166 believe may be causing you trouble.
167
168* OPENGL - For advanced troubleshooters, the LL_GL_BLACKLIST option lets
169 you disable specific GL extensions, each of which is represented by a
170 letter ("a"-"o"). If you can narrow down a stability problem on your system
171 to just one or two GL extensions then please post details of your hardware
172 (and drivers) to the Linux Client Alpha Testers forum (see link below) along
173 with the minimal LL_GL_BLACKLIST which solves your problems. This will help
174 us to improve stability for your hardware while minimally impacting
175 performance.
176 LL_GL_BASICEXT and LL_GL_NOEXT should be commented-out for this to be useful.
177
178
1797. GETTING MORE HELP AND REPORTING PROBLEMS
180-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
181
182For general help and support with Second Life:
183<http://secondlife.com/community/support.php>
184
185In-world help: Please use the 'Help' menu in the client for general
186non-Linux-specific Second Life help including live support from the fabulous
187Live Help team.
188
189In-world discussion: There is a 'Linux Client Users' group
190inside Second Life which is free to join. You can find it by pressing
191the 'Search' button at the bottom of the window and then selecting the
192'Groups' tab and searching for 'Linux'. This group is useful for discussing
193Linux issues with fellow Linux client users who are online.
194
195Linux Client Alpha Testers forum:
196<http://forums.secondlife.com/forumdisplay.php?forumid=263>
197This is a good place for discussing Linux-specific Second Life problems
198if you find that the Troubleshooting section in this file hasn't helped.
199When reporting problems here, please include information about the
200Second Life version you are running, your graphics card, graphics driver,
201and Linux distribution.
202
diff --git a/linden/indra/newview/linux_tools/hidesymbols.ver b/linden/indra/newview/linux_tools/hidesymbols.ver
new file mode 100644
index 0000000..6ce7719
--- /dev/null
+++ b/linden/indra/newview/linux_tools/hidesymbols.ver
@@ -0,0 +1,9 @@
1LL_PRIVATE {
2 global:
3 initllpython;
4 createLLImageJ2CKDU;
5 destroyLLImageJ2CKDU;
6 local:
7 *;
8};
9
diff --git a/linden/indra/newview/linux_tools/launch_url.sh b/linden/indra/newview/linux_tools/launch_url.sh
new file mode 100755
index 0000000..564e834
--- /dev/null
+++ b/linden/indra/newview/linux_tools/launch_url.sh
@@ -0,0 +1,87 @@
1#!/bin/sh
2# bash v1.14+ expected
3
4# This script loads a web page in the 'default' graphical web browser.
5# It MUST return immediately (or soon), so the browser should be
6# launched in the background (thus no text-only browsers).
7# This script does not trust the URL to be well-escaped or shell-safe.
8#
9# On Unixoids we try, in order of decreasing priority:
10# - $BROWSER if set (preferred)
11# - kfmclient openURL
12# - x-www-browser
13# - opera
14# - firefox
15# - mozilla
16# - netscape
17
18URL="$1"
19
20if [ -z "$URL" ]; then
21 echo Usage: $0 URL
22 exit
23fi
24
25# if $BROWSER is defined, use it.
26XBROWSER=`echo "$BROWSER" |cut -f1 -d:`
27if [ ! -z "$XBROWSER" ]; then
28 XBROWSER_CMD=`echo "$XBROWSER" |cut -f1 -d' '`
29 # look for $XBROWSER_CMD either literally or in PATH
30 if [ -x "$XBROWSER_CMD" ] || which $XBROWSER_CMD >/dev/null; then
31 # check for %s string, avoiding bash2-ism of [[ ]]
32 if echo "$XBROWSER" | grep %s >/dev/null; then
33 # $XBROWSER has %s which needs substituting
34 echo "$URL" | xargs -r -i%s $XBROWSER &
35 exit
36 fi
37 # $XBROWSER has no %s, tack URL on the end instead
38 $XBROWSER "$URL" &
39 exit
40 fi
41 echo "Couldn't find the browser specified by \$BROWSER ($BROWSER)"
42 echo "Trying some others..."
43fi
44
45# else kfmclient
46# (embodies KDE concept of 'preferred browser')
47if which kfmclient >/dev/null; then
48 kfmclient openURL "$URL" &
49 exit
50fi
51
52# else x-www-browser
53# (Debianesque idea of a working X browser)
54if which x-www-browser >/dev/null; then
55 x-www-browser "$URL" &
56 exit
57fi
58
59# else opera
60# (if user has opera in their path, they probably went to the
61# trouble of installing it -> prefer it)
62if which opera >/dev/null; then
63 opera "$URL" &
64 exit
65fi
66
67# else firefox
68if which firefox >/dev/null; then
69 firefox "$URL" &
70 exit
71fi
72
73# else mozilla
74if which mozilla >/dev/null; then
75 mozilla "$URL" &
76 exit
77fi
78
79# else netscape
80if which netscape >/dev/null; then
81 netscape "$URL" &
82 exit
83fi
84
85echo 'Failed to find a known browser. Please consider setting the $BROWSER environment variable.'
86
87# end.
diff --git a/linden/indra/newview/linux_tools/package-client.sh b/linden/indra/newview/linux_tools/package-client.sh
new file mode 100755
index 0000000..1446e78
--- /dev/null
+++ b/linden/indra/newview/linux_tools/package-client.sh
@@ -0,0 +1,126 @@
1#!/bin/sh
2MANIFEST=$1
3PACKAGE_NAME=$2
4GRID=$3
5
6# Check that the entire client manifest is there.
7cd newview
8echo Checking manifest...
9
10# Strip out comment lines and empty lines
11# Replace anything with a source,dest pairs with just source filename
12if ! ls -d `cat "$MANIFEST" | \
13 grep -v ^# | grep -v ^$ | \
14 sed 's/,.*//'` 1>/dev/null
15then
16 echo Client manifest defined in newview/$MANIFEST is not complete.
17 exit 1
18fi
19echo "Done."
20
21# See if the package already exists.
22BUILD_PACKAGE=YES
23if [ -a $PACKAGE_NAME ]
24then
25 echo The directory "newview/$PACKAGE_NAME" already exists.
26 echo Checking for complete client manifest...
27
28 cd $PACKAGE_NAME
29
30 # Strip out comment lines and empty lines
31 # Replace source,dest pairs with just dest filename
32 if ls -d `cat "../$MANIFEST" | \
33 grep -v ^# | grep -v ^$ | \
34 sed 's/.*,\(.*\)/\1/'` 1>/dev/null
35 then
36 echo "Done."
37 echo Package at "newview/$PACKAGE_NAME" looks complete.
38 cd ..
39 BUILD_PACKAGE=NO
40 else
41 echo Incomplete package at "newview/$PACKAGE_NAME"!
42 echo Removing corrupt package...
43 cd ..
44 rm -rf $PACKAGE_NAME
45 echo Done.
46 fi
47fi
48
49echo Building newview/$PACKAGE_NAME directory...
50## First read all directories mentioned in the manifest, and create a package skeleton.
51
52# Strip out comment lines and empty lines
53# Replace source,dest pairs with just dest filename
54# Strip out and line that does not include a directory in its path (ie contains a '/')
55# Extract everything up to the last '/' and prefix with $PACKAGE_NAME
56# Print out just the unique directores, and make them.
57mkdir -p `cat $MANIFEST | \
58 grep -v ^# | \
59 grep -v ^$ | \
60 sed 's/.*,\(.*\)/\1/' | \
61 grep \/ | \
62 sed "s/\(^.*\)\/[^\/]*/$PACKAGE_NAME\/\1/" | \
63 sort | uniq`
64
65## Copy the manifest.
66
67# Strip out comment lines and empty lines
68# Strip out empty directories
69# Replace any line without a ',' with 'line,line'
70for pair in `cat $MANIFEST | \
71 grep -v ^# | \
72 grep -v ^$ | \
73 grep -v \/$ | \
74 sed 's/\(^[^,]*$\)/\1,\1/' `
75do
76 # $pair is 'source,dest' ... split it up
77 SOURCE=`echo "$pair" | awk -F, '{ print $1; }'`
78 DEST=`echo "$pair" | awk -F, '{ print $2; }'`
79 # If this is a wildcard copy (pair contains a '*'), then remove the wildcard from $DEST
80 # and make the copy recursive
81 RECURSE=""
82 if [ ! x == x`echo "$SOURCE" | grep \*$` ]
83 then
84 DEST=`echo "$DEST" | sed 's/\*$//'`
85 RECURSE="-R"
86 fi
87 # The -a makes us copy links as links, plus timestamps etc.
88 cp -a $RECURSE $SOURCE "$PACKAGE_NAME/$DEST"
89done
90
91echo Done.
92
93## Clean up any CVS directories that might have been recursively included.
94echo Pruning CVS directories from newview/$PACKAGE_NAME directory...
95find $PACKAGE_NAME -type d -name CVS -exec rm -rf {} \; 2>/dev/null
96echo "Done removing CVS directories."
97
98## Clean up any SVN directories that might have been recursively included.
99echo Pruning .svn directories from newview/$PACKAGE_NAME directory...
100find $PACKAGE_NAME -type d -name \.svn -exec rm -rf {} \; 2>/dev/null
101echo "Done removing .svn directories."
102
103# Create an appropriate gridargs.dat for this package, denoting required grid.
104if [ X$GRID == X'default' ]
105then
106 echo 'Default grid - creating empty gridargs.dat'
107 echo " " > $PACKAGE_NAME/gridargs.dat
108else
109 echo "Creating gridargs.dat for package, grid $GRID"
110 echo "--${GRID} -helperuri http://preview-${GRID}.secondlife.com/helpers/" > $PACKAGE_NAME/gridargs.dat
111fi
112
113TARBALL=$PACKAGE_NAME.tar.bz2
114
115# See if the tarball already exists.
116if [ -a $TARBALL ]
117then
118 echo Tarball "newview/$TARBALL" already exists. Skipping tarball creation.
119 exit 0
120fi
121
122echo Creating tarball "newview/$TARBALL"...
123# --numeric-owner hides the username of the builder for security etc.
124tar --numeric-owner -cjf $TARBALL $PACKAGE_NAME
125echo Done.
126
diff --git a/linden/indra/newview/linux_tools/unicode.ttf b/linden/indra/newview/linux_tools/unicode.ttf
new file mode 120000
index 0000000..c9c230d
--- /dev/null
+++ b/linden/indra/newview/linux_tools/unicode.ttf
@@ -0,0 +1 @@
/usr/share/fonts/truetype/kochi/kochi-mincho.ttf \ No newline at end of file
diff --git a/linden/indra/newview/linux_tools/wrapper.sh b/linden/indra/newview/linux_tools/wrapper.sh
new file mode 100755
index 0000000..222ce98
--- /dev/null
+++ b/linden/indra/newview/linux_tools/wrapper.sh
@@ -0,0 +1,50 @@
1#!/bin/sh
2## Here are some configuration options for Linux Client Alpha Testers.
3## These options are for self-assisted troubleshooting during this alpha
4## testing phase; you should not usually need to touch them.
5
6## - Avoids using the ESD audio driver.
7#export LL_BAD_ESD=x
8
9## - Avoids using the OSS audio driver.
10#export LL_BAD_OSS=x
11
12## - Avoids using the ALSA audio driver.
13#export LL_BAD_ALSA=x
14
15## - Avoids the optional OpenGL extensions which have proven most problematic
16## on some hardware. Disabling this option may cause crashes and hangs on
17## some unstable combinations of drivers and hardware.
18export LL_GL_BASICEXT=x
19
20## - Avoids *all* optional OpenGL extensions. This is the safest and least-
21## exciting option. Enable this if you experience stability issues, and
22## report whether it helps in the Linux Client Alpha Testers forum.
23#export LL_GL_NOEXT=x
24
25## - For advanced troubleshooters, this lets you disable specific GL
26## extensions, each of which is represented by a letter a-o. If you can
27## narrow down a stability problem on your system to just one or two
28## extensions then please post details of your hardware (and drivers) to
29## the Linux Client Alpha Testers forum along with the minimal
30## LL_GL_BLACKLIST which solves your problems.
31#export LL_GL_BLACKLIST=abcdefghijklmno
32
33## - Avoids an often-buggy X feature that doesn't really benefit us anyway.
34export SDL_VIDEO_X11_DGAMOUSE=0
35
36## Nothing worth editing below this line.
37##-------------------------------------------------------------------
38
39RUN_PATH=`dirname "$0" || echo .`
40cd "${RUN_PATH}"
41LD_LIBRARY_PATH="`pwd`"/lib:"${LD_LIBRARY_PATH}" bin/do-not-directly-run-secondlife-bin `cat gridargs.dat` $@ | cat
42
43echo
44echo '*********************************************************'
45echo 'This is an ALPHA release of the Second Life linux client.'
46echo 'Thank you for testing!'
47echo 'You can visit the Linux Client Alpha Testers forum at:'
48echo 'http://forums.secondlife.com/forumdisplay.php?forumid=263'
49echo 'Please see README-linux.txt before reporting problems.'
50echo