diff options
author | Armin Weatherwax | 2011-04-12 15:02:47 +0200 |
---|---|---|
committer | Armin Weatherwax | 2011-04-12 22:21:16 +0200 |
commit | 4ac5c3922f4415d83343d375d9a9b6b4d1888598 (patch) | |
tree | b0e9aa369eee1f8848973ac380752e68e89593fd | |
parent | diamonds are a gccs best friend ... and need also a space (diff) | |
download | meta-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.conf | 253 | ||||
-rwxr-xr-x | linden/indra/newview/linux_tools/wrapper.sh | 45 | ||||
-rwxr-xr-x | linden/indra/newview/viewer_manifest.py | 1 |
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 |
133 | fi | 139 | fi |
140 | |||
141 | LOGS_PATH="${HOME}/.imprudence/logs" | ||
142 | if [ -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" | ||
154 | fi \ 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") |