This is how I got sound running on 64-bit Ubuntu 12.04
The problem is apparently due to a bug introduced awhile back when Ubuntu implemented some multi-architecture support. See Ubuntu launchpad bug: https://bugs.launchpad.net/ubuntu/+sour ... ug/1002515. Thanks for the heart of this fix go to Stanislav (https://launchpad.net/~ka-cooler) and Jaroslaw (https://launchpad.net/~jail-j), comments #3 and #4.
Symptoms
- You are running Ubuntu 12.04 64-bit
- When started normally, the game runs fine but no sound is present.
- When started in a terminal by "padsp eschalon_book_1", the game runs fine, no sound is present, and the error message "ERROR: ld.so: object 'libpulsedsp.so' from LD_PRELOAD cannot be preloaded: ignored." appears on the terminal.
- The fix involves:
- Manually installing a 32-bit version of the Pulse Audio OSS emulation library libpulsedsp.so
- Creating a short script to launch the game.
- Download the package file from: http://ubuntu.wikimedia.org/ubuntu//poo ... 5_i386.deb. Save it to your "/tmp/" folder.
- Extract the contents of the package and install the library:
Code: Select all
cd /tmp dpkg-deb -x libpulsedsp_1.1-0ubuntu15_i386.deb . sudo cp ./usr/lib/i386-linux-gnu/libpulsedsp.so /usr/lib32 sudo chown root:root /usr/lib32/libpulsedsp.so
- Create a script to launch the game.
- Use your favorite text editor to create the script. I called mine "run-eschalon-book-I" and placed it in my "$HOME/bin" folder because in Ubuntu this location is already on my user $PATH.
- Copy the code below into the script file
- Change the "$HOME/path/to/your/Eschalon/Installation/..." path to fit wherever your game is installed.
- The "DISPLAY..." line is not strictly necessary. If you have multiple separate screens that you launch from you might find this useful.
- The "xgamma..." lines increase brightness before starting the game and restore it afterward. Change or delete these lines to suit.
- The script can be launched from a terminal, from the Alt-F2 dialog, or you can create a menu entry (It does not have to be run in a terminal). If you named yours as I did above and placed it in your "$HOME/bin" folder then the "run-eschalon-book-I" command (no-quotes needed) will start the game.
Code: Select all
#!/bin/bash DISPLAY=":0.0" xgamma -gamma 1.25 LD_PRELOAD="/usr/lib32/libpulsedsp.so" "$HOME-path-to-your-Eschalon-Installation/Eschalon Book I Registered/eschalon_book_1" xgamma -gamma 1.00
- EDIT: Oops! In the original post i omitted that you must make the script executable:
Code: Select all
chmod 755 "$HOME/bin/run-eschalon-book-I"
- After everything is working, let us clean up by removing the dowloaded package and the extracted files. Assuming you downloaded and extracted into the "/tmp/" folder as describe above, then:
Code: Select all
rm /tmp/libpulsedsp_1.1-0ubuntu15_i386.deb rm -r /tmp/usr