Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Linux Software

ALSA vs. OSS vs. OSSFree 32

scenic writes "I was wondering what experience the /. community has had with ALSA vs the sound drivers that are part of the Kernel and the various other choices (such as the 4Front OSS packages). I've used the commercial OSS drivers as well as the "included" Linux drivers. I've started to look to ALSA for better sound response (for example, I've noticed with esd and the basic linux drivers, there is sometimes a lag when playing back video files through esd. I understand that esd is part of the issue, but it's sort of important to be able to multiplex sound). What have others' experiences been? What other solutions are there aside from things like esd?" Which sound systems do you find work for your system, and which don't? If specific hardware / software combinations can be endorsed or critiqued, it'll probably help a lot of people.
This discussion has been archived. No new comments can be posted.

ALSA vs. OSS vs. OSSFree

Comments Filter:
  • by wrinkledshirt ( 228541 ) on Friday August 24, 2001 @02:38PM (#2214616) Homepage
    John Hurt does an interesting breakdown of six different methods of programming sound for games, and talks about the advantages and disadvantages of each (not just the programming part).

    According to him OSS is a pretty entrenched technology, but ALSA's continuing to grow. The fact that ALSA's retaining nearly 100% compatibility with OSS probably means that at some point you'll be able to make a full shift from OSS to ALSA...

    Don't know if that's helpful (or even relevent).

  • by bconway ( 63464 )
    It sounds like your problem has nothing to do with the drivers you're using, it's that you're using a sound daemon. Most quality sound cards (like the SB Live Value, 39 bucks on pricewatch) will mix up to 32 wav sources in HARDWARE. There's no need to use esound or arts sound daemons to do mixing for you, and they only muck up the works. I've been using the OSS drivers from opensource.creative.com for my SB Live, but these were merged into the latest kernel releases, so I have no need to look outside the kernel.
  • Vote for ALSA (Score:3, Informative)

    by spuk ( 86506 ) on Saturday August 25, 2001 @09:57PM (#2217205) Homepage
    ALSA seems to have a better design and general quality. My (crappy) onboard ESS Solo 1 barely works (only pcm playback, didn't even record, the last time I checked) with the kernel driver, and its alsa driver supports (almost?) all the features, including 3D effects and all the in/out channels.

    • I agree that ALSA is by far better..... For a while I thought I would have to pay more for my sound driver (OSS) than every piece of software on my system! Then I discovered ALSA was the only other way to get my ALS4000 working under linux! :-)
  • by salimma ( 115327 ) on Saturday August 25, 2001 @10:29PM (#2217263) Homepage Journal
    As has been mentioned, ALSA has OSS compatibility, and even better, automatically multiplex audio streams for you. Yes, you can play multiple sound files at the same time without a sound server.

    Kind of like the jump from Win9x to Win2k, soundwise.

    HTH,

    Michel

    • My understanding is Mandrake 8.0 used ALSA exclusively. I use the Maestro 2 chipset (it's a crappy no-name laptop), and it didn't seem to multiplex sounds at all. Hence I use artsd. Am I completely on crack, and is there a definitive way to test if the ESS Maestro 2 is capable of/currently wavetable mixing via ALSA?
      • I have an on-the-motherboard chip by C-Media. I automagically had multiplexed sound on my first bootup of Mandrake 8. Now only if I could get my dual monitors working with my Radeon VE. :-(
      • I should have clarified this, the multiplexing works for 0.9.0 upwards only. Sorry.

        Michel

        • While the latest ALSA drivers sound wonderful on my SB Live, I have a non-technical problem with them.

          I have tried to build several programs and libraries that have "native" ALSA support, and ALSA gets detected properly at configure-time. Then I proceed to make, and the build will die because the app only supports the 0.5.0 ALSA interface, and not 0.9.0. It is not really the fault of the ALSA drivers, the configure scripts (and ideally the software package itself) need updating to be aware of the newer ALSA interface.

          I just feel like I am losing functionality when I have to reconfigure the software with "--disable-alsa" and let the OSS emulation layer get used. <sigh> I wish I had more time to hack on my favorite projects. ALSA 0.9 for everyone!
          • Indeed. Situation will improve when they declare the API completely frozen, of course. Sometime before 1.0 is released, but even now it is much better than OSS.

            I believe some of Red Hat's beta testers who own SB Lives have been rather unhappy at the state of the emu10k driver in the latest kernels...

            Ran into snags with programs' configure trying to enable ALSA support. Solution? Do not install the alsa libraries, just install the drivers. Works for me.

            Regards,

            Michel

            • Ran into snags with programs' configure trying to enable ALSA support. Solution? Do not install the alsa libraries, just install the drivers. Works for me.

              Sounds like fun, one question: Are you able to multiplex connections using the oss-compatibility mode? Another Question: Will that work with all the drivers?

              Cheers.

              • Sounds like fun, one question: Are you able to multiplex connections using the oss-compatibility mode? Another Question: Will that work with all the drivers?

                Answering the first question, yes it works in oss-compatibility mode. In fact I have not really tried its native mode - the hassle of there being almost no application that support it natively being the culprit, as well as having to recompile.

                One would expect the soundservers (esd, arts) to be the first programs to support ALSA 0.9.0, but that would be defeating the purpose of doing multiplexing without a sound server, no?

                As to the second question, I have tried it with the ymfpci driver. YMMV. But if they implement it like Win2k's sound drivers, which I have tested on the good ol' SB AWE64, it should work on most drivers.

                Yours,

                Michel

                • Thanks for your response.

                  I tried compiling up the newest drivers, but I was unable to get it mutliplexing - don't know if I missed a switch somewhere though. Symptoms were while playing a Real stream, loading xmms and pressing play - the latter froze until Real was stopped, at which point it came back to life. Am I missing something?

                  This maybe because of my crappy Intellistaion onboard sound (i8x0 with ac97 codec)

                  Cheers.
                  • Assuming that you are indeed loading the ALSA drivers and their OSS compatibility layers (snd-card-xxx, snd-pcm-oss, snd-mixer-oss etc.), make sure that Real and XMMS are both set to use OSS drivers instead of ESD or any other sound server.

                    It might be true that your sound chipset does not do multiplexing, I'm afraid this feature is not yet well documented; stumbled upon it by chance myself.

                    That's the only thing I could think of - but there are lots of cheap PCI soundcards out there :)

                    HTH,

                    Michel

  • ...which drivers support playing more than one goddamned sound at once? IRIX can do it. Hell, even Solaris 8 can do it. And, you know, Windows has been able to do it since Win95. It's been 10 years; where are my concurrent Linux sound drivers?

    Does anyone know if they exist and what card I should be purchasing?

    (Please do not mention ESD, the Enlightened Sound Daemon. This is not a good solution. ESD built into the kernel would be.)

    - A.P.
    • I run a Creative Labs SBLive! Value OEM, picked it up for about $50 a while back (they're probably cheaper now.) Love it, works great, don't have to use esd or anything like that. (Only use for esd I've found is to send sound across the LAN.)

      I absolutely hate my Ensoniq AudioPCI (I think it's a Creative card too) that I have at work as it only supports one sound at a time - I'm stuck using esd there. But here at home, using the SBLive works great.
      • Ensoniq AudioPCI ens1370 works great for me with multiple sound sources and everything. Under ALSA, it even supports full duplex (recording on line-in and outputting on speaker-out at the same time). Also, the line-in can be switched to another speaker-out, giving you four distinct sound sources, it's not 5.1 but for a card that cost $20 in 1998, that's pretty good. None of this is specific to ALSA 9.x either, I've been using ALSA and this card since ALSA 4.x.

    • by gid ( 5195 )
      As mentioned above, yes ALSA supports hardware mixing. When you have the ALSA drivers running, and one of the magical sound cards, then more than one program can essentially use /dev/dsp at once. I've been digging for about 30 minutes now and still can't find a list of cards that support hardware mixing. So here's the cards that I KNOW support hardware mixing:

      ymf724 pci based cards

      ymf744 pci based cards, it's essentially a ymf724 but it has digital out, and 4 channel out

      SB Live

      Trident 4DWave

      I own two ymf724's and a ymf744, great cards, they sound great, and they're cheap :) The ymf744and ymf724 have issues with quake3, it hangs on exit :( But you can just kill off the process luckily. This is with the latest .9.0beta7 drivers, the .5.x drivers don't have any noticeable issues though.

      A quick search here's the cards: ymf744 [$18] [pccentury.com] and ymf744 pro version (digital out version?) [$25] [pccentury.com]

    • And, you know, Windows has been able to do it since Win95.


      Actually I've had problems with that--the system sounds always work, of course (except for those of us who've turned the damned things off), and you almost always get one other source working, but I haven't been able to, for example, run WinAmp and play a game. This might be because one or the other is using DirectX, but I'm pretty sure some of the combinations I've tried haven't used DirectSound.


      So it's not perfect; hopefully ALSA will catch up soon and Linux will be ahead of Windows in this respect. Certainly Windows has a slight edge right now, tho.

One man's constant is another man's variable. -- A.J. Perlis

Working...