aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorArmin Weatherwax2011-04-12 15:02:47 +0200
committerArmin Weatherwax2011-04-12 22:21:16 +0200
commit4ac5c3922f4415d83343d375d9a9b6b4d1888598 (patch)
treeb0e9aa369eee1f8848973ac380752e68e89593fd
parentdiamonds are a gccs best friend ... and need also a space (diff)
downloadmeta-impy-4ac5c3922f4415d83343d375d9a9b6b4d1888598.zip
meta-impy-4ac5c3922f4415d83343d375d9a9b6b4d1888598.tar.gz
meta-impy-4ac5c3922f4415d83343d375d9a9b6b4d1888598.tar.bz2
meta-impy-4ac5c3922f4415d83343d375d9a9b6b4d1888598.tar.xz
linux: several improvements to the starter script, provide a default alsoft.conf
* removed several export lines that are not supported * added a line that -if the user enables it- lets openal load a specific alsoft.conf * added a line that -if the user enables it- adds a custom GST_PLUGIN_PATH * create a crashlog package in the viewer folder if stack_trace.log exists.
-rw-r--r--linden/indra/newview/linux_tools/alsoft.conf253
-rwxr-xr-xlinden/indra/newview/linux_tools/wrapper.sh45
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py1
3 files changed, 287 insertions, 12 deletions
diff --git a/linden/indra/newview/linux_tools/alsoft.conf b/linden/indra/newview/linux_tools/alsoft.conf
new file mode 100644
index 0000000..7550ff0
--- /dev/null
+++ b/linden/indra/newview/linux_tools/alsoft.conf
@@ -0,0 +1,253 @@
1# OpenAL config file. Options that are not under a block or are under the
2# [general] block are for general, non-backend-specific options. Blocks may
3# appear multiple times, and duplicated options will take the last value
4# specified.
5# The system-wide settings can be put in /etc/openal/alsoft.conf and user-
6# specific override settings in ~/.alsoftrc.
7# For Windows, these settings should go into %AppData%\alsoft.ini
8# The environment variable ALSOFT_CONF can be used to specify another config
9# override
10
11# Option and block names are case-insenstive. The supplied values are only
12# hints and may not be honored (though generally it'll try to get as close as
13# possible). Note: options that are left unset may default to app- or system-
14# specified values. These are the current available settings:
15
16## format:
17# Sets the output format. Can be one of:
18# AL_FORMAT_MONO8 (8-bit mono)
19# AL_FORMAT_STEREO8 (8-bit stereo)
20# AL_FORMAT_QUAD8 (8-bit 4-channel)
21# AL_FORMAT_51CHN8 (8-bit 5.1 output)
22# AL_FORMAT_61CHN8 (8-bit 6.1 output)
23# AL_FORMAT_71CHN8 (8-bit 7.1 output)
24# AL_FORMAT_MONO16 (16-bit mono)
25# AL_FORMAT_STEREO16 (16-bit stereo)
26# AL_FORMAT_QUAD16 (16-bit 4-channel)
27# AL_FORMAT_51CHN16 (16-bit 5.1 output)
28# AL_FORMAT_61CHN16 (16-bit 6.1 output)
29# AL_FORMAT_71CHN16 (16-bit 7.1 output)
30# AL_FORMAT_MONO32 (32-bit float mono)
31# AL_FORMAT_STEREO32 (32-bit float stereo)
32# AL_FORMAT_QUAD32 (32-bit float 4-channel)
33# AL_FORMAT_51CHN32 (32-bit float 5.1 output)
34# AL_FORMAT_61CHN32 (32-bit float 6.1 output)
35# AL_FORMAT_71CHN32 (32-bit float 7.1 output)
36#format = AL_FORMAT_STEREO16
37
38## cf_level:
39# Sets the crossfeed level for stereo output. Valid values are:
40# 0 - No crossfeed
41# 1 - Low crossfeed
42# 2 - Middle crossfeed
43# 3 - High crossfeed (virtual speakers are closer to itself)
44# 4 - Low easy crossfeed
45# 5 - Middle easy crossfeed
46# 6 - High easy crossfeed
47# Users of headphones may want to try various settings. Has no effect on non-
48# stereo modes.
49#cf_level = 0
50
51## head_dampen:
52# Sets the amount of dampening on sounds emanating from behind the listener.
53# This is used to simulate the natural occlusion of the head, which is
54# typically missing with mono and stereo output, and as such, only works on
55# mono and stereo output modes. Valid values range from 0 to 1 (inclusive),
56# and higher values provide a stronger effect.
57#head_dampen = 0.25
58
59## frequency:
60# Sets the output frequency.
61#frequency = 44100
62
63## resampler:
64# Selects the resampler used when mixing sources. Valid values are:
65# 0 - None (nearest sample, no interpolation)
66# 1 - Linear (extrapolates samples using a linear slope between samples)
67# 2 - Cubic (extrapolates samples using a Catmull-Rom spline)
68# Specifying other values will result in using the default (linear).
69#resampler = 1
70
71## rt-prio:
72# Sets real-time priority for the mixing thread. Not all drivers may use this
73# (eg. PortAudio) as they already control the priority of the mixing thread.
74# 0 and negative values will disable it. Note that this may constitute a
75# security risk since a real-time priority thread can indefinitely block
76# normal-priority threads if it fails to wait. As such, the default is
77# disabled.
78#rt-prio = 0
79
80## period_size:
81# Sets the update period size, in frames. This is the number of frames needed
82# for each mixing update.
83#period_size = 1024
84
85## periods:
86# Sets the number of update periods. Higher values create a larger mix ahead,
87# which helps protect against skips when the CPU is under load, but increases
88# the delay between a sound getting mixed and being heard.
89#periods = 4
90
91## sources:
92# Sets the maximum number of allocatable sources. Lower values may help for
93# systems with apps that try to play more sounds than the CPU can handle.
94#sources = 256
95
96## stereodup:
97# Sets whether to duplicate stereo sounds on the rear and side speakers for 4+
98# channel output. This provides a "fuller" playback quality for 4+ channel
99# output modes, although each individual speaker will have a slight reduction
100# in volume to compensate for the extra output speakers. True, yes, on, and
101# non-0 values will duplicate stereo sources. 0 and anything else will cause
102# stereo sounds to only play out the front speakers. This only has an effect
103# when a suitable output format is used (ie. those that contain side and/or
104# rear speakers).
105#stereodup = true
106
107## scalemix:
108# Sets whether to scale the remixed output. When the final mix is written to
109# the device, the multi-channel data is remixed so pure-virtual channels (eg.
110# front-center on stereo output) are remixed and added to available channels
111# (eg. front-left and front-right). Scaling helps ensure that no single source
112# will put out more than 100% on a given physical channel. This can cause a
113# noticeable reduction in overall volume, however, so it is off by default.
114#scalemix = false
115
116## drivers:
117# Sets the backend driver list order, comma-seperated. Unknown backends and
118# duplicated names are ignored. Unlisted backends won't be considered for use
119# unless the list is ended with a comma (eg. 'oss,' will list OSS first
120# followed by all other available backends, while 'oss' will list OSS only).
121# Backends prepended with - won't be available for use (eg. '-oss,' will allow
122# all available backends except OSS). An empty list means the default.
123#drivers = pulse,alsa,core,oss,solaris,dsound,winmm,port,null,wave
124
125## excludefx:
126# Sets which effects to exclude, preventing apps from using them. This can
127# help for apps that try to use effects which are too CPU intensive for the
128# system to handle. Available effects are: eaxreverb,reverb,echo,modulator,
129# dedicated
130#excludefx =
131
132## slots:
133# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
134# can use a non-negligible amount of CPU time if an effect is set on it even
135# if no sources are feeding it, so this may help when apps use more than the
136# system can handle.
137#slots = 4
138
139## sends:
140# Sets the number of auxiliary sends per source. When not specified (default),
141# it allows the app to request how many it wants. The maximum value currently
142# possible is 4.
143#sends =
144
145## layout:
146# Sets the virtual speaker layout. Values are specified in degrees, where 0 is
147# straight in front, negative goes left, and positive goes right. Unspecified
148# speakers will remain at their default positions (which are dependant on the
149# output format). Available speakers are back-left(bl), side-left(sl), front-
150# left(fl), front-center(fc), front-right(fr), side-right(sr), back-right(br),
151# and back-center(bc).
152#layout =
153
154## layout_*:
155# Channel-specific layouts may be specified to override the layout option. The
156# same speakers as the layout option are available, and the default settings
157# are shown below.
158#layout_STEREO = fl=-90, fr=90
159#layout_QUAD = fl=-45, fr=45, bl=-135, br=135
160#layout_51CHN = fl=-30, fr=30, fc=0, bl=-110, br=110
161#layout_61CHN = fl=-30, fr=30, fc=0, sl=-90, sr=90, bc=180
162#layout_71CHN = fl=-30, fr=30, fc=0, sl=-90, sr=90, bl=-150, br=150
163
164##
165## ALSA backend stuff
166##
167[alsa]
168
169## device:
170# Sets the device name for the default playback device.
171#device = default
172
173## capture:
174# Sets the device name for the default capture device.
175#capture = default
176
177## mmap:
178# Sets whether to try using mmap mode (helps reduce latencies and CPU
179# consumption). If mmap isn't available, it will automatically fall back to
180# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
181# and anything else will force mmap off.
182#mmap = true
183
184##
185## OSS backend stuff
186##
187[oss]
188
189## device:
190# Sets the device name for OSS output.
191#device = /dev/dsp
192
193## capture:
194# Sets the device name for OSS capture.
195#capture = /dev/dsp
196
197##
198## Solaris backend stuff
199##
200[solaris]
201
202## device:
203# Sets the device name for Solaris output.
204#device = /dev/audio
205
206##
207## DirectSound backend stuff
208##
209[dsound]
210
211##
212## Windows Multimedia backend stuff
213##
214[winmm]
215
216##
217## PortAudio backend stuff
218##
219[port]
220
221## device:
222# Sets the device index for output. Negative values will use the default as
223# given by PortAudio itself.
224#device = -1
225
226## capture:
227# Sets the device index for capture. Negative values will use the default as
228# given by PortAudio itself.
229#capture = -1
230
231##
232## PulseAudio backend stuff
233##
234[pulse]
235
236## spawn-server:
237# Attempts to spawn a PulseAudio server when requesting to open a PulseAudio
238# device. Note that some apps may open and probe all enumerated devices on
239# startup, causing a server to spawn even if a PulseAudio device is not
240# actually selected. Setting autospawn to false in Pulse's client.conf will
241# still prevent autospawning even if this is set to true.
242#spawn-server = false
243
244##
245## Wave File Writer stuff
246##
247[wave]
248
249## file:
250# Sets the filename of the wave file to write to. An empty name prevents the
251# backend from opening, even when explicitly requested.
252# THIS WILL OVERWRITE EXISTING FILES WITHOUT QUESTION!
253#file = \ No newline at end of file
diff --git a/linden/indra/newview/linux_tools/wrapper.sh b/linden/indra/newview/linux_tools/wrapper.sh
index f6ce272..742c4fc 100755
--- a/linden/indra/newview/linux_tools/wrapper.sh
+++ b/linden/indra/newview/linux_tools/wrapper.sh
@@ -4,17 +4,26 @@
4## These options are for self-assisted troubleshooting during this beta 4## These options are for self-assisted troubleshooting during this beta
5## testing phase; you should not usually need to touch them. 5## testing phase; you should not usually need to touch them.
6 6
7## - Avoids using any OpenAL audio driver. 7## If the default configuration of openal-soft isn't working for you.
8## There are 3 places where it looks for a configuration file:
9## /etc/openal/alsoft.conf $HOME/.alsoftrc and ALSOFT_CONF
10## ALSOFT_CONF is the full path including the filename, like: /home/myuser/myconfigfile.txt
11## If none of them is set a hardcoded default is taken.
12## If you set several: ALSOFT_CONF 'wins' always, and $HOME/.alsoftrc 'wins' over /etc/openal/alsoft.conf
13#export ALSOFT_CONF="$(pwd)/alsoft.conf"
14
15## - Avoids using the OpenAL audio driver; disables any inworld sound effects.
16## NOTE: - OpenAL is not used for any streaming audio in Imprudence.
17## - Other export LL_BAD_<driver> have no effect in Imprudence.
8#export LL_BAD_OPENAL_DRIVER=x 18#export LL_BAD_OPENAL_DRIVER=x
9## - Avoids using any FMOD audio driver.
10#export LL_BAD_FMOD_DRIVER=x
11 19
12## - Avoids using the FMOD ESD audio driver. 20## If you have custom gstreamer plugins,
13#export LL_BAD_FMOD_ESD=x 21## e.g. you want to use Imprudence-1.4.x with the gstreamer plugins of Imprudence-1.3.1:
14## - Avoids using the FMOD OSS audio driver. 22## Imprudence-1.3.1-Linux-x86/lib/gstreamer-plugins
15#export LL_BAD_FMOD_OSS=x 23## respectively Imprudence-1.3.1-Linux-x86_64/lib64/gstreamer-plugins
16## - Avoids using the FMOD ALSA audio driver. 24## NOTE: *WAY* better is to install the gstreamer plugins that come with your distros package manager,
17#export LL_BAD_FMOD_ALSA=x 25## thats why Imprudence-1.4.x comes without gstreamer plugins.
26#export GST_PLUGIN_PATH="'${HOME}/Imprudence-1.3.1-Linux-x86/lib/gstreamer-plugins':'${GST_PLUGIN_PATH}'"
18 27
19## - Avoids the optional OpenGL extensions which have proven most problematic 28## - Avoids the optional OpenGL extensions which have proven most problematic
20## on some hardware. Disabling this option may cause BETTER PERFORMANCE but 29## on some hardware. Disabling this option may cause BETTER PERFORMANCE but
@@ -48,7 +57,6 @@
48 57
49## Everything below this line is just for advanced troubleshooters. 58## Everything below this line is just for advanced troubleshooters.
50##------------------------------------------------------------------- 59##-------------------------------------------------------------------
51
52## - For advanced debugging cases, you can run the viewer under the 60## - For advanced debugging cases, you can run the viewer under the
53## control of another program, such as strace, gdb, or valgrind. If 61## control of another program, such as strace, gdb, or valgrind. If
54## you're building your own viewer, bear in mind that the executable 62## you're building your own viewer, bear in mind that the executable
@@ -127,7 +135,20 @@ if [ -n "$LL_RUN_ERR" ]; then
127 if [ "$LL_RUN_ERR" = "runerr" ]; then 135 if [ "$LL_RUN_ERR" = "runerr" ]; then
128 # generic error running the binary 136 # generic error running the binary
129 echo 'unexpected shutdown' 137 echo 'unexpected shutdown'
130
131
132 fi 138 fi
133fi 139fi
140
141LOGS_PATH="${HOME}/.imprudence/logs"
142if [ -f "${LOGS_PATH}/stack_trace.log" ]; then
143 LOG_PACKAGE_NAME="MAIL-THIS-CRASHLOG-PLEASE.$(date +%y%m%d%H%M).tar.bz2"
144 cp "${LOGS_PATH}/stack_trace.log" stack_trace.log
145 cp "${LOGS_PATH}/Imprudence.log" Imprudence.log
146 tar --numeric-owner -cjf ${LOG_PACKAGE_NAME} \
147 stack_trace.log \
148 Imprudence.log
149 rm stack_trace.log
150 rm Imprudence.log
151 echo "You find a crash log package to mail to Imprudence here:"
152 echo "${RUN_PATH}/${LOG_PACKAGE_NAME}"
153 echo "See where to send: http://wiki.kokuaviewer.org/wiki/Imprudence:Debug_Logs#Where_to_Send_Them"
154fi \ No newline at end of file
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 86acaea..0f129dd 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -912,6 +912,7 @@ class LinuxManifest(ViewerManifest):
912 912
913 self.path("res/imprudence_icon.png","imprudence_icon.png") 913 self.path("res/imprudence_icon.png","imprudence_icon.png")
914 if self.prefix("linux_tools", dst=""): 914 if self.prefix("linux_tools", dst=""):
915 self.path("alsoft.conf")
915 #self.path("client-readme.txt","README-linux.txt") 916 #self.path("client-readme.txt","README-linux.txt")
916 self.path("client-readme-voice.txt","README-linux-voice.txt") 917 self.path("client-readme-voice.txt","README-linux-voice.txt")
917 #self.path("client-readme-joystick.txt","README-linux-joystick.txt") 918 #self.path("client-readme-joystick.txt","README-linux-joystick.txt")