Announcement

Collapse
No announcement yet.

Quake sound in Linux - *nix guys only

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quake sound in Linux - *nix guys only

    Hey all,

    I recently reloaded my computer.
    Was on Fedora 10, didn't like the latest release of Fedora, went with Ubuntu 11.10.

    Loaded up quake, no sound. The obvious fix for this has always been:

    echo "<quake binary> 0 0 direct" > /proc/asound/card0/pcm0p/oss

    ^--- This, of course, redirects sound to oss emulation

    Yet, I get the error, oss not found. I even went as far as modprobing for the snd_pcm_oss, which resulted in a FATAL: module not found. After doing some research, I found that since ubuntu 10.x, not only is opensound not installed, but no longer *supported* by ubuntu. Ubuntu 11.10 ships with kernel 3.x, so those snd emulation modules no longer exist to be modprobe'd.

    I've seen threads where people have removed pulse and gone with OSS for their system, but all the ones that involve a ubuntu release 11.04 and up have failed miserably.

    There are various threads where people who play wolfenstein (and a few other games) are in the same boat as me, and have been successful redirectiong sound with aoss <game binary>, but this method is only successful if the game has configurable sound params, as wolfenstein does.

    I'm hoping that someone has come across this problem, and has a somewhat simple fix, because the future of quake in linux is looking pretty bleak as more and more linux distros go the way of kernel 3.x

  • #2
    I'm on the last LTS version of Ubuntu (long term support). A slightly older version.

    I replaced Pulseaudio with OSS 4 by installing the latter myself. No problems. Pulseaudio is for people who want a Windows replacement, ie "one sound driver (server, actually) to rule them all". This works great if you only use typical recent desktop software (and this is why Ubuntu, with its focus on "newbie friendliness", opted for Pulse - you're not supposed to change your Ubuntu installation fundamentally, it's the wrong distro if you want to get your hands dirty, but of course it is Linux so nothing keeps you from it if you're determined). It does not work well if you run older software like Quake. Obviously it is moronic to drop support for OSS - it is not OLD, actually I think other *nix systems do use OSS (freebsd?), and actually OSS4 is a superb sound driver. People are just stupid sometimes...

    First off, Pulseaudio sucks. The entire idea behind a "master-audio-server" sucks. Which is why I installed OSS4 instead - you use Linux, so you're supposed to decide what's good for you all by yourself and have the skills to deal with it. If you want to be spoon fed, Windows is -> that way.

    I guess the hard part is not to install OSS4 - it's to remove Pulseaudio from an Ubuntu system... think of it like this, Ubuntu is trying to be like Windows. They try to give you one unified solution that works out of the box and never needs you to do any manual work. While this is absolutely great for many people, it is horrible if you need to remove one of its components...
    If you must use Pulse for some reason, try using a wrapper. aoss is a wrapper for ALSA (one of the Linux sound solutions) to make programs think they're using OSS (another *nix sound solution). So you need the same thing, just for Pulse and OSS (afaik most Quake engines expect /dev/dsp for a sound device, which is OSS). Hence, you would for example google for "oss pulseaudio wrapper" and then install it.

    Long story short, padsp is what might work for you. You might be a lot better off asking this stuff at a Linux forum though - most gamers aren't very technical people.

    Sound under Linux is a problem because people can never agree on something. The last candidate for a pan-Linux compromise was Pulseaudio; and like I said, it works great for grandmas who never know what a sound driver is, but it works bad for people who use 15 year old games...

    -> Either use a wrapper (find one that works), or remove pulseaudio from your system and install either ALSA or OSS4. If neither of these work, use a Linux distro that doesn't use Pulseaudio (or any other crappy "sound server").

    Maybe there is a variant of Ubuntu that doesn't use Pulse? Xubuntu? Kubuntu? Maybe you'll have more luck with those.

    Personally I can say that while Ubuntu's out-of-the-box performance is highly impressive (it really "just works"), I don't like Canonical's decisions such as first going with the (horrible IMO) Gnome 3, then wanting to replace that, and depending so heavily on stuff like Pulseaudio to the point where it's almost impossible to remove that. Clearly, Canonical's aim is to provide a "black box" that works for 90% of desktop users, but no longer allows people to modify their system to their needs (which is what made Linux). If this policy continues, I won't update to a newer Ubuntu system when the support runs out, I'll rather look elsewhere. I was using Gentoo for the longest time, a distro that requires getting your hands dirty but never forces you to run stuff you don't want either.

    A possible solution to the problem on the Quake side of things is to use an engine that utilizes SDL for audio output (ie uses SDL_mixer, I think). SDL is an abstraction layer, basically, and supports many sound systems. It is possible to tell SDL which audio driver it should use, by passing it a command line switch / environment variable (or putting that in a startup script for Quake).

    Engines that use SDL are many, to my knowledge at least Darkplaces (unless they dropped the SDL client), FTE, and anything that's based on FitzquakeSDL (Quakespasm + RMQengine). I know that at least RMQe uses SDL for audio. If you're lucky, SDL will even detect the audio subsystem by itself.

    So SDL is one possible future for Quake under Linux.

    Linux isn't the problem, anyway - as long as your distro allows you to choose which sound system you want, you're fine. The problem occurs when a distro thinks it has to make decisions for you that you're not OK with.
    Scout's Journey
    Rune of Earth Magic

    Comment


    • #3
      most of the larger custom engines have some native alsa code which generally resolve the issues quite well without the upheaval of changing the distro's poor choice in sound api and then discovering all the various apps that don't work...
      whether a particular engine's alsa code works with less than a second of latency is a different matter.. but hey.
      Some Game Thing

      Comment


      • #4
        Thanks for the replies, guys.

        I've been using fedora for years on the desktop, Debian on all my servers - my *nix experience is in LDAP, BIND, LAMP stacks, file servers and so on - I've never really touched the sound until now. I'll see what I I can do with removing pulseaudio and installing either alsa or OSS (I do remember having some random issues with earlier releases of pulseaudio) - But, like I said, after doing some googling, many folks have had terrible issues with removing pulse and installing OSS in Ubuntu 11.04/10.

        If I can get this to work, I'll post a quick walkthrough, as many of the latest distros have abandoned support for alsa/oss. Arch, Mint, Fedora, Ubuntu. It's good to know that others have abandoned pulse and are happy with OSS. I will say, however, that this will probably be a huge headache as I'm sure a simple apt-get remove pulseaudio will NOT be the solution.

        I agree with you on Gnome3. Unity is OK, in that I find it to be slightly better than the default gnome3 desktop. There are some features I actually like, and some that I loathe. I ran KDE for years until they went to version 4 and gayed everything up - seems all the desktops are dumbing down the user experience in ways that I really dislike. Next year, we'll all have IPAD desktop interfaces =(

        Comment


        • #5
          I am running Ubuntu 11.04 atm, had no problems removing pulse (first step after installing. If you want to use /dev/dsp you have to compile your own kernel with oss support enabled (I had to manually edit that .config file to get it to work) but that is only for you if you know what you're are doing or have some time to invest.
          Other then that, alsa and/or SDL work fine for me.
          One Problem is however the missing support for linux in the most used (for multiplayer) engines (crack only @version 1.6 something, baker gotten stuck in software redesign hell it seems). I actually made a rough port of proquake 4.7 with alsa support, find it under 'unfinished works' forum.
          I use a frankenstein mix of joequake, crack and proquake that I did for myself for multiplayer.
          Single player engines like the fitzquake-SDL family and darkplaces work great though so you can run the latest and greatest provided by Seven/Seanstar and their cohorts (big thx to those guys, fantastic work).

          Comment


          • #6
            Regardless of the OS, do not use the ancient binaries from id software. Use Quakespasm
            Quake 1 Singleplayer Maps and Mods

            Comment


            • #7
              Originally posted by leopold View Post
              I am running Ubuntu 11.04 atm, had no problems removing pulse (first step after installing. If you want to use /dev/dsp you have to compile....

              Ever notice how whenever the word "Linux" is introduced, somewhere lurking behind it is the word compile?
              Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

              Comment


              • #8
                Originally posted by Mindf!3ldzX View Post
                Ever notice how whenever the word "Linux" is introduced, somewhere lurking behind it is the word compile?
                Hehe, yea, and then they wonder that noone ports games to linux anymore

                Comment


                • #9
                  Originally posted by Mindf!3ldzX View Post
                  Ever notice how whenever the word "Linux" is introduced, somewhere lurking behind it is the word compile?
                  You say that like if the freedom to change software and compile it oneself is a bad thing.
                  Quake 1 Singleplayer Maps and Mods

                  Comment


                  • #10
                    No,it just seems redundant. Too many people spend too much time trying to refute the Windows platform by choice. I mean,sure you can call it being "spoon fed" , but I look at it more like I'm the smart guy who went to the watering hole. (content)

                    Linux users think that its better to dig a irrigation trench to wherever they are currently located,bringing the content to them to consume...

                    I dont like digging trenches (compiling,wondering why something doesnt work in linux)
                    Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

                    Comment


                    • #11
                      You talk about compiling as if it was a large horrifying undertaking. It isn't. I compile the RMQengine every time MH changes something, which takes about a minute. I also compiled OSS4, Radiant (because i hacked it), and some other stuff. I even used to compile my entire OS myself (Gentoo), INCLUDING the compiler...

                      I don't think I had to recompile the kernel under Ubuntu (Lucid) when I installed OSS4. Pretty sure it provides its own kernel module, but that shouldn't require recompiling the kernel itself.

                      Anyway, editing the kernel config file is a pretty hardcore way to change the settings in your kernel. There is a user interface for it; as root, type "make menuconfig" in your kernel source dir, or "make xconfig".

                      Here's a short HOWTO on OSS4 for Debian (Ubuntu is based on Debian, so it might at least be insightful).

                      Debian User Forums &bull; View topic - HOWTO: OSS4 on Debian (squeeze/sid only)

                      ALSA might work just as well. SDL should be able to talk to all of them.

                      SDL_envvars

                      You set it like

                      $ SDL_AUDIODRIVER=dsp ~/quake -blah +etc +map soandso

                      and you can put it into a script so you don't have to type it every time. Try alsa instead of dsp, too.

                      Many ways lead to Rome though, especially true when one uses Linux. I've been unable to get sound in some Quake 2 engines under some Linux systems, and couldn't find out the reason. Sound is apparently tricky. OSS4 and SDL work pretty well for me though, especially since many older programs look for OSS (/dev/dsp) by default.
                      Scout's Journey
                      Rune of Earth Magic

                      Comment


                      • #12
                        I am also fed up with ubuntu and this is my last fling with it ,10.4 Lucid.
                        I got the most out of 8.04 Hardy.
                        I also tossed Pulse Audio on the scrap heap as soon as I installed it opting for OSS4, which works fine for me.
                        I will be going back to slackware after this because I happen to like compiling my own OS with full control over everything.It is quite satisfying to be able to right click copy DVDs.
                        Also running several soundblasters makes a nice 8 channel mixer.
                        Qakespasm and Darkplaces should work without effort though I would think.
                        Last edited by bluntz; 11-01-2011, 08:22 PM.
                        WARNING
                        May be too intense for some viewers.
                        Stress Relief Device
                        ....BANG HEAD HERE....
                        ---------------------------
                        .
                        .
                        .
                        .
                        .--------------------------

                        Comment


                        • #13
                          use darkplaces it comes with pre-compiled linux binaries p.s. LINUX ROCKS dont believe what those windows Nazis are saying (joke don't get offended)

                          link LordHavoc's DarkPlaces Quake Modification just download the latest stable release and then slap that greasy pig and play some quake!

                          Comment


                          • #14
                            In the BLUE COOOORNEER, WINDOWS7 !!!!



                            And in the RED COOOORNER , Ubuntu !!!!
                            Last edited by Mindf!3ldzX; 11-04-2011, 08:11 PM.
                            Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

                            Comment

                            Working...
                            X