Package Details: et-sdl-sound 29-10

Git Clone URL: https://aur.archlinux.org/et-sdl-sound.git (read-only)
Package Base: et-sdl-sound
Description: Replacement for standard OSS sound system of Wolfenstein: Enemy Territory
Upstream URL: http://nullkey.kapsi.fi/et-sdl-sound/
Keywords: game
Licenses: GPL
Submitter: orivej
Maintainer: None
Last Packager: Spyhawk
Votes: 106
Popularity: 0.425677
First Submitted: 2007-03-11 19:04
Last Updated: 2015-08-06 16:55

Required by (2)

Sources (4)

Latest Comments

Spyhawk commented on 2016-06-16 10:23

@The_Loko> Feel free to adopt this package. I see you've taken over the main enemy-territory package too.

The_Loko commented on 2016-06-14 22:24

The source seems to be up again.

tomdal commented on 2016-05-19 20:32

The http source (http://nullkey.kapsi.fi/et-sdl-sound/archive/et-sdl-sound-r29.tar.gz) doesn't work.

phost commented on 2016-03-20 22:45

@Jojonintendo try the following:
1. Install alsa-oss
2. Load the modules: modprobe snd-mixer-oss snd-pcm-oss snd-seq-oss
3. Then redirect with: echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss

Jojonintendo commented on 2016-02-24 17:31

That's weird, I'm pretty sure I use this Arch install some months ago and it worked like a charm. ET:Legacy seems great but it misses PB support, and some mods I use. Thanks anyway for the feedback.

Spyhawk commented on 2016-02-24 17:24

I can't really help you since it works for me without issue.
You might however be interested in the ET:Legacy" fork (see "etlegacy32" package in the AUR). It adds native SDL2 sound support, and many bugfixes.

ET:Legacy is indeed a newer, better version of Enemy Territory but also has a few drawbacks, you might want to read the etlegacy.com website.

Jojonintendo commented on 2016-02-24 17:20

It builds without error, but now I get the following error

------- sound initialization -------
/dev/dsp: No such file or directory
Could not open /dev/dsp
------------------------------------

And again, no sound in the game. I installed lib32-libpulse since I use pulseaudio. This is a fresh install.

Spyhawk commented on 2016-01-15 14:01

jwbirdsong> Works for me.

jwbirdsong commented on 2016-01-13 06:35

Failed to build GCC errors
http://pastebin.com/pSpF5m68

Spyhawk commented on 2015-05-04 07:59

@hendrik> Thx, I added lib32-libpulse as optional dep, as it shouldn't be required if you don't use pulseaudio.

hendrik commented on 2015-05-03 20:15

I ran into the same error champidead described and strace showed that et-sdl-sound was looking around for libpulse:

18994 open("/usr/lib32/tls/i686/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
18995 stat64("/usr/lib32/tls/i686/sse2", 0xffc0ad80) = -1 ENOENT (No such file or directory)
18996 open("/usr/lib32/tls/i686/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
18997 stat64("/usr/lib32/tls/i686", 0xffc0ad80) = -1 ENOENT (No such file or directory)
18998 open("/usr/lib32/tls/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
18999 stat64("/usr/lib32/tls/sse2", 0xffc0ad80) = -1 ENOENT (No such file or directory)
19000 open("/usr/lib32/tls/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
19001 stat64("/usr/lib32/tls", 0xffc0ad80) = -1 ENOENT (No such file or directory)
19002 open("/usr/lib32/i686/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
19003 stat64("/usr/lib32/i686/sse2", 0xffc0ad80) = -1 ENOENT (No such file or directory)
19004 open("/usr/lib32/i686/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
19005 stat64("/usr/lib32/i686", 0xffc0ad80) = -1 ENOENT (No such file or directory)
19006 open("/usr/lib32/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
19007 stat64("/usr/lib32/sse2", 0xffc0ad80) = -1 ENOENT (No such file or directory)
19008 open("/usr/lib32/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
19009 stat64("/usr/lib32", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0
19010 munmap(0xeea99000, 259949) = 0
19011 munmap(0xef026000, 33124) = 0
19012 write(2, "ALSA lib dlmisc.c:254:(snd1_dlob"..., 45ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) ) = 45
19013 write(2, "Cannot open shared library /usr/"..., 76Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so) = 76

So i had to install lib32-libpulse to make it work.

Spyhawk commented on 2015-01-29 06:51

champidead> Thx, fixed.

champidead commented on 2015-01-28 20:24

I noticed this error after running enemy-territory.sdl (on 64-bit system):

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so
SDL_AudioDriverName() = NULL

I installed lib32-alsa-plugins and now it works.

Spyhawk commented on 2015-01-19 11:10

kotnik> Works for me. You probably need to install gcc-multilib, as this is a cross-compiled package.

kotnik commented on 2015-01-19 09:12

Version 29-8 fails to build: http://pastebin.com/ZigXGqku

Spyhawk commented on 2014-12-31 01:03

I fixed enemy-territory, thanks to the work achieved by adlerweb, although I had to use another CRC for some reason. Also dropped the Quake 3 launcher (apparently broken, and there's ioquake with proper SDL support anyway).

nofatigue commented on 2014-10-17 13:51

If this doesn't work for you, and you are interested in another solution,
I managed to get sound with OSS emulation with ALSA.
Read http://alsa.opensrc.org/OSS_emulation and the note about programs that use memory-mapping.

hyshka commented on 2014-08-30 13:35

I built this package as-in and with the script and modprobe trick mentioned here: https://bbs.archlinux.org/viewtopic.php?pid=986399#p986399

It works!

hyshka commented on 2014-08-29 22:21

I can't figure out how to put all your code together, does anyone have an updated PKGBUILD? Please update this package :)

adlerweb commented on 2013-07-14 16:49

Well… Fix worked for me but i guess a bit less of this ledgehammer would also succeed.

My CRC on arch x64 is 0x91b6b864, if this is consistent we should be able to just add it as a additional case: in hooks.cpp. The broken readlink can be resolved by adding the correct header.

Also i dislike dropping output completely so i rerouted the important parts to a logfile instead of the broken cout.

My changes are available at https://github.com/adlerweb/et-sdl-sound/compare/nullkey:master...master

xeroc commented on 2013-06-12 18:56

I cant run this on my 32bit machine.
all I get is a segault:
-------------
/usr/bin/enemy-territory.sdl: Zeile 9: 25387 Speicherzugriffsfehler (Speicherabzug geschrieben) ./et.x86 $*
-------------

dmesg tells me:
-------------
[ 9992.736806] et.x86[25387]: segfault at fffffff4 ip b7308ba1 sp bfbf87f0 error 5 in libstdc++.so.6.0.18[b7285000+dd000]
-------------

What happening here?

brenix commented on 2013-05-12 21:53

Using drelyn86's solution w/Nowaker's fix worked for me.

Here is an updated "260b-hardcode.patch" for drelyn86's package: http://pastie.org/7900091

Nowaker commented on 2013-04-14 21:21

drelyn86's solution did not work for me. http://pastie.org/7545448
I had to tune testlibsdl() function and modify a line to:

if [ "`file -b "$1" | grep "ELF 32-bit LSB"`" != "" ]; then

Not sure why my file output had two spaces between "LSB" and "shared object". But fixing it made the sound work.

Nowaker commented on 2013-04-14 21:20

drelyn86's solution did not work for me. http://pastie.org/7545448
I had to tune testlibsdl() function and modify a line to:

if [ "`file -b "$1" | grep "ELF 32-bit LSB"`" != "" ]; then

Not sure why my file output had two spaces between "LSB" and "shared object".

Nowaker commented on 2013-04-14 20:15

drelyn86's solution does not work. http://pastie.org/7545448

Nowaker commented on 2013-04-14 20:03

Does not work on x86_64.

% enemy-territory.sdl
[1] 6056 segmentation fault (core dumped) enemy-territory.sdl

I tried using 32-bit version but it didn't work.

% LD_PRELOAD=/opt/lib32/usr/lib/et-sdl-sound.so ./et
ERROR: ld.so: object '/opt/lib32/usr/lib/et-sdl-sound.so' from LD_PRELOAD cannot be preloaded: ignored.

Nowaker commented on 2013-04-14 19:52

Does not work on x86_64.

% enemy-territory.sdl
[1] 6056 segmentation fault (core dumped) enemy-territory.sdl

drelyn86's links don't work.

drelyn86 commented on 2013-02-10 02:12

I got sound working with enemy-territory on x86_64 today. It's a very hacky solution, but it works...

PKGBUILD: http://pastebin.com/PG9nVxMi
patch: http://pastebin.com/b4ihEJWa

fjim commented on 2012-12-11 21:04

Currently it segfaults for game binaries with architecture different than Arch's. This is an issue because some are built for 64bit but others are not (e.g. ET). I'm welcome to ideas on how to fix this issue.

fjim commented on 2012-12-11 20:50

Adopted and fixed.

tzok commented on 2012-11-26 21:03

Here is a fixed PKGBUILD: http://pastebin.com/PCWBSG1y

Anonymous comment on 2012-06-12 05:55

For it to pick the modified file I used makepkg -s -e.

Anonymous comment on 2012-06-11 14:19

@vanja_z,
I'm trying to do what you say here, but sadly, I'm unable to figure out how do I make makepkg -s command pick up the changed file. When I do a change like you have mentioned to the file et-sdl-sound/hooks.cpp and run makepkg -s, apparently all the souce code is being created. Is there a work around for this?

Anonymous comment on 2012-04-05 17:29

Build error:
The build error can be fixed by adding the line
#include <unistd.h>
near the top of et-sdl-sound/hooks.cpp

Segmentation fault:
Even after a successful build, I get segmentation faults like others have mentioned. I managed to get around this by building a 32 bit version of 'et-sdl-sound.so'. If you want to do this you need to install gcc-multilib and then remove the line applying x86_64.patch from the PKGBUILD

Alternative workaround:
You can download a standalone script from the authors site at,
http://nullkey.kapsi.fi/et-sdl-sound/
This script works well.

Anonymous comment on 2012-04-05 03:52

Getting build error:

==> Starting build()...
patching file Makefile
mkdir -p build
g++ -O2 -fomit-frame-pointer -Wall -fPIC -D__SDL -D__DLOPEN_SDL -D__DEFAULT_BACKEND=SDL -c mainlib.cpp -o build/mainlib.o
g++ -O2 -fomit-frame-pointer -Wall -fPIC -D__SDL -D__DLOPEN_SDL -D__DEFAULT_BACKEND=SDL -c etsdl.cpp -o build/etsdl.o
g++ -O2 -fomit-frame-pointer -Wall -fPIC -D__SDL -D__DLOPEN_SDL -D__DEFAULT_BACKEND=SDL -c hooks.cpp -o build/hooks.o
hooks.cpp: In function ‘void initHooks()’:
hooks.cpp:221:108: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
hooks.cpp:225:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
hooks.cpp: In function ‘unsigned int calculateProcCRC32()’:
hooks.cpp:381:70: error: ‘readlink’ was not declared in this scope
make: *** [build/hooks.o] Error 1

Anonymous comment on 2012-01-26 00:51

i need to modify /usr/bin/quake3.sdl like this to have sound on quake3 on arch64 (quake 3 is 32 bits) :
32 bits lib et-sdl-sound.so is in /opt/lib32/usr/lib
64 bits lib et-sdl-sound.so is in /usr/lib (that is in /etc/profile path)
-------------------
#!/bin/sh
cd "/opt/quake3"
[ -x ./quake3.x86 ] && export LD_PRELOAD="/opt/lib32/usr/lib/et-sdl-sound.so ${LD_PRELOAD}" && exec ./quake3.x86 $*
[ -x ./ioquake3.x86_64] && export LD_PRELOAD="et-sdl-sound.so ${LD_PRELOAD}" && exec ./ioquake3.x86_64 $*
-----------------

adlerweb commented on 2012-01-21 13:10

Same here - getting segfault with newest version - previous one worked.

Anonymous comment on 2012-01-15 23:26

Hmmm... I basically can't even get the game to run anymore. Same issues as @bunburya. I did some investigation and found that the game fails to init OpenGL now for some strange reason which I presume is why the LD_PRELOAD fails, because the game itself fails to launch. If anyone has any suggestions I'm all ears. Also, I recently made the switch from ALSA to using Pulseaudio because of teamspeak and skype mainly. I didn't have problem with ET until I switched to pulse.

Anonymous comment on 2012-01-14 02:53

Placing "export LD_PRELOAD=/usr/lib/et-sdl-sound.so" in my /opt/enemy-territory/et script causes et.x86 to segfault. Am I doing it wrong, or have others experienced this?

ElVirolo commented on 2012-01-04 20:13

I still have the /dev/dsp problem.

Anonymous comment on 2011-11-08 21:09

Okay, I've just updated the PKGBUILD and:

- fixed dependencies list to use new variable name
- updated dependencies and optional dependencies list to include pulseaudio and libpulse
- cleaned up the formatting to make it more readable

Please test it and let me know. Worked okay on my machine.

Doctor_Drive commented on 2011-11-08 14:29

for pulseaudio just install lib32-libpulse

Anonymous comment on 2011-10-27 17:32

For all those having sound issues with pulseaudio, I found this post on the Arch forums today which seems to give some insight into the problem. I will decide later if and how I will update the package.

https://bbs.archlinux.org/viewtopic.php?id=125911

Phlogiston commented on 2011-10-24 16:40

------- sound initialization -------
/dev/dsp: No such file or directory
Could not open /dev/dsp
------------------------------------

So I have the same problem as ffuentes. I remember to get this working with sdl... no idea why it fails now. Has anyone tried with OSS emulation?

Anonymous comment on 2011-10-21 07:12

I got it.

The problem is not directly this package. You have to install the enemy-territory package adding "options=(!strip)" to the PKGBUILD before anything else. But the et-sdl-sound will not work if you're using PulseAudio. What worked with me was download the script to my installation path (/opt/enemy-territory) and modify this line:

# SDL audio driver
SDL_AUDIODRIVER="alsa"

Replacing alsa with pulse.

Took me a whole day to notice that. Probably would be a good idea to support Pulseaudio in this package (I don't know how, I'm not a programmer).

Regards.

Anonymous comment on 2011-10-20 19:46

I've reinstalled the game, using the options=(!strip) suggested in the enemy-territory package but it's still not working.

------- sound initialization -------
/dev/dsp: No such file or directory
Could not open /dev/dsp
------------------------------------
Sound memory manager started
Sys_LoadDll(/home/ffuentes/.etwolf/etmain/ui.mp.i386.so)...
Sys_LoadDll(/home/ffuentes/.etwolf/etmain/ui.mp.i386.so) failed:
"/home/ffuentes/.etwolf/etmain/ui.mp.i386.so: cannot open shared object file: No such file or directory"
Sys_LoadDll(/opt/enemy-territory/etmain/ui.mp.i386.so)... ok
Sys_LoadDll(ui) found **vmMain** at 0xac8d1f40
Sys_LoadDll(ui) succeeded!


I don't know what to do, but Pulseaudio is now included in ArchLinux by default.

Anonymous comment on 2011-10-20 19:16

I never use Pulseaudio because its a royal pain and haven't really used it since it first came out. But regardless, the /dev/dsp issue sounds like its sound-related but I would need the full error text. I do not however, think that your /dev/dsp issue is related to your checksum failure though I don't know for sure.

Anonymous comment on 2011-10-20 18:58

I forget to mention that my enemy-territory gives me an error of /dev/dsp

In addition I remember that I'm using Pulseaudio, like (I guess) many ArchLinux users. Might be that?

I will install it again.

Anonymous comment on 2011-10-20 17:42

@ffuentes: I will try to look into it but I make no promises. Though I have a feeling it maybe isn't related to et-sdl because your failing a CRC32 checksum test. Perhaps try reinstalling the ET binaries (2.60b or whatever) and see what that does.

Anonymous comment on 2011-10-20 09:13

It's not working with me.

[et-sdl-sound] info : et.x86 is installed to /opt/enemy-territory
[et-sdl-sound] info : 32-bit libSDL.so is installed to /usr/lib/libSDL-1.2.so.0.11.3
[et-sdl-sound] info : library is written to /tmp/et-sdl-sound.so
[et-sdl-sound] info : launching the game...
Read /opt/enemy-territory/et.x86 (1604328 bytes)
You are not running a recognized version of Enemy Territory or RTCW (CRC32 = 0x91b6b864)
ET 2.60b linux-i386 May 8 2006

:(

lfleischer commented on 2011-09-25 20:15

Merged et-sdl-sound-fixed into et-sdl-sound.

Anonymous comment on 2011-09-23 22:48

Package updated with PKGBUILD from et-sdl-sound-fixed.

Anonymous comment on 2011-09-23 10:51

Will update this package with the changes from et-sdl-sound-fixed later this afternoon.

Anonymous comment on 2011-09-21 16:50

cryptocrack: will do, the author of the original package doesn't seem to have been responsive to anyone for some time and I was the one to originally mark the et-sdl-sound package as out of date. I will formerly send him an email regarding the issue and CC you. If he does not respond, I would be glad to adopt and maintain the original package.

lfleischer commented on 2011-09-21 12:44

maddog39: Adding "-fixed" packages to the AUR is a bad idea. Could you please send a mail to the et-sdl-sound maintainer and ask him to either fix or orphan the broken package? If he doesn't reply for one week, I'll disown et-sdl-sound, so that you can adopt and fix it. Thanks!

swiftgeek commented on 2011-08-28 12:34

Again not working ;(
x86_64 + pulseaudio + export SDL_AUDIODRIVER="pulse"
/dev/dsp: No such file or directory
Could not open /dev/dsp

x86_64 + padsp + export SDL_AUDIODRIVER="esd"
Sorry but your soundcard can't do this

swiftgeek commented on 2011-08-28 11:46

Again not working ;(
x86_64 + pulseaudio + export SDL_AUDIODRIVER="pulse"
/dev/dsp: No such file or directory
Could not open /dev/dsp

x86_64 + padsp + export SDL_AUDIODRIVER="esd"
Sorry but your soundcard can't do this

TomFyuri commented on 2011-08-01 23:12

For some reason, this doesn't work for me. I wonder whom I could speak to in order to solve this. I'm not sure, if i should blame this package. It seems fine. I also tryed doing manual instructions offered by site. But it just says either that something is wrong with my /dev/dsp (which doesn't exist in first place) or "Sorry but your soundcard can't do this".

Anonymous comment on 2011-05-15 11:52

Works! Appreciate it, thank you.

Anonymous comment on 2011-05-14 20:25

@inch: alright I updated the package with several other fixes to the PKGBUILD and it should compile just fine for everyone now

Anonymous comment on 2011-05-14 19:57

Im on it.

Anonymous comment on 2011-05-14 19:43

Hello, thank you for adding the fixed version. Though, I can't get it to work because of the failing md5 checksum validation (true-combat.sh). Could you please fix this?

Anonymous comment on 2011-04-20 23:43

This package no is entirely non-functional and hasn't been updated in well over a year. I've created a new package under et-sdl-sound-fixed which contains many suggestions made on this page as well as an updated mirror for the tarball.

hardfalcon commented on 2011-04-14 21:46

Please change the following line in true-combat.sh from

LD_PRELOAD="et-sdl-sound.so ${LD_PRELOAD}" exec ./et.x86 +set fs_game tcetest $*

to

LD_PRELOAD="et-sdl-sound.so ${LD_PRELOAD}" exec ./et +set fs_game tcetest $*

Directly launching /opt/enemy-territory/et.x86 instead of launching the /opt/enemy-territory/et script prevents the alsa patch from being loaded on x86_64 machines, as the lib32 libraries are not loaded.

zebulon commented on 2011-01-27 07:48

Hi, wolfsp.sdl does not work on my machine (I mean, the game runs but with no sound), however it works when I use the wolf-sdl-sound file from the original page (wolfsp-sdl-sound.gz launcher script). Is there a difference? I'll try to find the reason and will repost.

zebulon commented on 2011-01-27 07:46

Hi, wolfsp.sdl does not work on my machine, however it works when I use the wolf-sdl-sound file from the original page. Is there a difference? I'll try to find the reason and will repost.

Holoduke commented on 2010-07-18 01:50

When using pulseaudio on x86_64, don't forget lib32-alsa-plugins.

dumblob commented on 2010-05-19 19:42

Hello,
you are right. But I'm too lazy to do it. This was the main reason, why I wanted to generate new desktop files. Actually there is another reason - I don't like the idea of making new pkgbuild and posting it to AUR as a new package when there is only this tiny change, but so usefull one!
Anyway thanks for justification of your opinion.

dumblob commented on 2010-05-19 19:37

Hello,
you are right. But I'm too lazy to do it. This was the main reason, why I wanted to generate new desktop files. Actually there is another reason - I don't like the idea of making new pkgbuild and posting it to AUR as a new package when there is only this tiny change, but so usefull one!
Anyway thanks for claryfying your opinion :)

Arkham commented on 2010-05-19 09:14

Hello, I don't particularly like the idea of installing new desktop files for the same program. Instead, you could just edit your own desktop file in /usr/share/applications so that it executes the game with sdl backend instead of the normal one ;)

dumblob commented on 2010-05-02 11:48

Hello,
is there some possibility to add *.desktop files for each game to this package? Because we can now execute these games with sdl backend only from console and not from XDG-compilant menus. We can use something like 'sed' to substitute the exec entry in yet existing desktop file to make new one.