Jump to content

Still thinking


Jzboarder
 Share

9 posts in this topic

Recommended Posts

I am thinking about switching over to Ubuntu 9.04. (If I can ever get hackintosh to ever work). The thing is I am a windows user and I play games. I know you can use crossover but I can not find a yarr of 8.0 and I dont know any other program that would run games using directx 9. I am also a zune user. There is no support for zune on linux unless I use vmware. I have used ubuntu before so I know the basics but when I am on skype on ubuntu and watch a youtube video before I get in a call or I am listing to music and some one calls me, I can not get in the call because of an audio problem. Would there be anyway I can fix that? So I can be on skype and listen to music or watch a video at the same time?

 

I know you have to manually change the sound stuff and I have tried that in ubuntu 8.10 but I still got that problem. maybe some of you guys here can help me on that problem?

 

Thanks!

Link to comment
Share on other sites

Audio in Linux is a tangled mess of two major driver sets (OSS and ALSA) and about a million different libraries, each of which attempts to rectify one problem or another, mostly related to OSS's inability to handle multiple simultaneous audio streams -- but the end result is a lot of confusion. It is possible to get things working fairly well, but it takes a great deal of tinkering. I'm starting to think that the best way to do it is to run Gentoo, since you can then specify what audio libraries you want to be used at software compile time. (I'd just skip most of the libraries and use ALSA directly whenever possible.) Unfortunately, Gentoo's more hacker-friendly than user-friendly, in the sense that it requires a lot of tweaking of text-mode configuration files. It's also built around the idea of locally-compiled software, so your system may be tied up for a couple of days compiling packages when you first install it.

 

There are a few things you can do, as general procedures:

 

  • Ensure that your kernel uses ALSA rather than OSS. ALSA provides an OSS emulation layer. This layer is required for some programs, but many newer ones don't need it, so you might want to try disabling it. Unfortunately, this will require recompiling your kernel, or at least its audio drivers.
  • Try different programs. There may be alternatives to specific programs, such as mplayer vs. xine vs. various others for video playback. Sometimes one program causes less audio interference than another one does.
  • Check each program's options (configuration file options, command line options, GUI interface options) to find the ones relating to how sound is output. Options might include OSS, ALSA, and various libraries. I find that ALSA usually works best, and ALSA is capable of dynamically merging multiple audio streams, so you can bypass that trouble-prone spaghetti plate of libraries if you use ALSA directly. Unfortunately, not all programs have such options, and sometimes some of these options aren't available in the binaries provided by distribution maintainers.
  • You can download the source code for a few critical programs (whatever's giving you the most grief) and check for compile-time options relating to sound production. If you see options that aren't present in the binaries you've got, you can recompile the program with the direct ALSA support, perhaps disabling OSS and/or other libraries. This may require that you download and install some development libraries, though. When you're done, you can either remove the original package (if it's not depended upon by others) or install your version side-by-side with the distribution's package, and select the one you want to use by passing a complete pathname (e.g., "/usr/local/bin/soundprog" rather than "soundprog" or "/usr/bin/soundprog").

 

Unfortunately, I can't offer more specific advice, since I don't use Skype myself, and you haven't given details about what other programs you're using (presumably Flash for the YouTube videos, though). I haven't studied Ubuntu's sound options in all that much detail, so I don't know just how well (or poorly) it's set up.

Link to comment
Share on other sites

Hold on there, Rod. It sounds like you've been away from Linux for a bit?

 

It sounds like you're describing the old OSS, OSS3. For the uninitiated, OSS3 was pretty much the universal sound API across all Unices (except likely OS X). Then came OSS4, which was closed source. Forced to choose between forking OSS and creating a new sound API, the Linux hackers chose the new route, and created ALSA (IMHO, a mistake, but then I am no kernel hacker). Basically _any_ distro you run across today uses ALSA. Some provide another system on top of ALSA, PulseAudio. PulseAudio allows you to do some nifty things with sound and some other stuff. I just use straight ALSA on Arch Linux because I don't need Pulse, but if you use a user-friendly distro like Ubuntu (which uses Pulse) you should never have to care. ALSA has deficiencies in sound quality compared to OSS, but I consider myself a mid-level audiophile and can't tell the difference.

 

It should be noted for accuracy that OSS4 has since been open-sourced again. There seem to be no plans to merge OSS4 into the kernel, BUT, there are ways to replace ALSA and PulseAudio with OSS4 (OSS4 covers both ALSA and PulseAudio's functions) in most distros. Completely unsupported, of course. OSS4 has problems for me, otherwise I'd be using it right now.

 

The above is a VERY simplified picture of Linux sound, and may be inaccurate. While I LOVE Linux, I must agree with Rob -- sound on Linux is a tangled mess. It's one of the weak spots. Hopefully we will very soon be at the point where Joe Ubuntu won't have to know anything about the underpinnings of Linux sound (_maybe_ we're there already), but for the foreseeable future, heavy power users and especially developers will be headdesking over Linux sound.

 

 

 

Now, on to the other things. Yes, there is little to no Zune support on Linux. Just like the recent iPod support is weak. You didn't expect a product from MS or Apple to be compatible with Free Software, did ya? Or behave in a _normal_ way for a USB device? ;P VMware/VirtualBox/QEMU should work, I think. Google around, and try on the Ubuntu forums.

 

As for the Skype thing, I *heard* (may be wrong) that audio issues are being fixed for the new version of Skype. Personally, I use Free alternatives to Skype's nasty, bug-ridden (and easily eavesdroppable), proprietary network :) But I recognize that for many there is no choice, of course. Anyways, I'm pretty confident you'll be able to get Skype to play nice, either this version or a later one, with the help of Ubuntu docs and the forums there.

 

For Crossover, you do know that there is a free alternative called Wine, which Crossover is based on? Wine (and, thus, Crossover) allows you to play many DirectX 9 titles like Portal and Half-Life 2. DirectX (and other MS API) support is always improving. You can check here to see how well your favorite apps work: http://appdb.winehq.org/

Also, new versions of VMware and VirtualBox offer experimental DirectX support which is also constantly improving.

Link to comment
Share on other sites

About gaming. As much as I have tested Crossover, it wasn't the same as play'n on windows. Bugs existed. In some cases to unplayable state.

 

It may be similar but not the same. Also the newer games build with DirectX11 in mind, will likely be far more "not the same".

 

Much the same applies to Vmware and other virtual stuff. it's ok to use some basic, not graphics intensive applications. 3D stuff is not best part of such a solutions.

Link to comment
Share on other sites

Das_Human is 100% correct :( However, some games run flawlessly (better than Windoze in some cases). Again, check that AppDB.

 

I just can't wait until Wine is completely done, or very very near to it. This benefits Mac users, too, as Wine is being ported to the Mac. Then Windows will have to compete with GNU/Linux and OS X purely on technical merit, instead of massive weight of locked-in apps... and fail :P

Link to comment
Share on other sites

Hold on there, Rod. It sounds like you've been away from Linux for a bit?

 

No. I've got seven Linux installations on five computers. Some of these I've deliberately left running somewhat old distributions, but others are quite recent (Fedora 11, for instance). I consult and write about Linux for a living.

 

It sounds like you're describing the old OSS, OSS3. For the uninitiated, OSS3 was pretty much the universal sound API across all Unices (except likely OS X). Then came OSS4, which was closed source. Forced to choose between forking OSS and creating a new sound API, the Linux hackers chose the new route, and created ALSA (IMHO, a mistake, but then I am no kernel hacker). Basically _any_ distro you run across today uses ALSA.

 

Yes and no. Every modern distribution supports ALSA, to one extent to another. Part of the problem is that ALSA provides an OSS emulation layer, and many individual programs and sound libraries use that layer, which causes contention issues. It must also be emphasized that a phrase such as "any distro... uses ALSA" is misleading, because the sound picture in Linux is not unified. Program A might use ALSA, Program B might use OSS (or at least the OSS device files provided by ALSA), Program C might use a library that can be configured to use either ALSA or OSS, and Program D might be configurable to use ALSA directly, OSS directly, or another library (other than the one that Program C uses). You can see that this is a mess.

 

Some provide another system on top of ALSA, PulseAudio.

 

When I first heard of PulseAudio, I nearly screamed: It was yet another library that was further complicating the already complex Linux audio system. PulseAudio is just one of the "about a million different libraries" to which I referred in my original post. There are lots of others, such as ESD (PulseAudio's predecessor), SDL, etc. Some libraries are even built atop other libraries.

 

It's been a while since I've looked into the details, but clearly some programs and libraries still use the OSS devices, which can accept just one input (even when it's ALSA that handles the sound hardware). The result is that no other application can play sounds. For instance, when I run the QEMU emulator binary that's provided by Ubuntu with its 8.04 release, OSes run in the emulator can play sounds fine -- but suddenly my Konsole terminals can't produce beeps. I recently recompiled QEMU from source for other reasons, and I discovered a sound option. When I enabled ALSA support and disabled all the other audio options (there are six in total for QEMU!), my new binary no longer hogged the sound card.

 

It should be noted for accuracy that OSS4 has since been open-sourced again. There seem to be no plans to merge OSS4 into the kernel, BUT, there are ways to replace ALSA and PulseAudio with OSS4 (OSS4 covers both ALSA and PulseAudio's functions) in most distros. Completely unsupported, of course. OSS4 has problems for me, otherwise I'd be using it right now.

 

As of the 2.6.30 kernel, the OSS drivers are marked as "deprecated," meaning their use is discouraged and they may be removed. This isn't an area I follow all that closely, though, so I don't know what the kernel developers might be planning for the future. Certainly the OSS drivers have been marked as deprecated for quite a while.

 

The above is a VERY simplified picture of Linux sound, and may be inaccurate. While I LOVE Linux, I must agree with Rob -- sound on Linux is a tangled mess. It's one of the weak spots. Hopefully we will very soon be at the point where Joe Ubuntu won't have to know anything about the underpinnings of Linux sound (_maybe_ we're there already), but for the foreseeable future, heavy power users and especially developers will be headdesking over Linux sound.

 

Casual and productivity (word processing, etc.) users can probably get by without knowing too much; sound does mostly work on Linux, and this is enough for most productivity uses of an OS. The problems come when you rely on sound (say, a sound being played to announce the arrival of new e-mail) and/or when you use audio-heavy programs (games, video playback, etc.). Some such programs can interfere with one another, and figuring out why can be difficult.

 

Unfortunately, I'm less optimistic than you are about this. The sound situation in Linux has been a mess for a decade, and it's gotten more messy over that time, not less messy. Part of the mess is because so many Linux programs aren't really Linux programs -- they're Unix programs, intended to run on multiple platforms (Linux, FreeBSD, Solaris, etc.). Some also run on Windows, Mac OS, and perhaps even other OSes. This makes it hard to simplify the tangled mess by eliminating libraries or sound subsystems, since no one access method can be used across all these different platforms. Instead, new libraries seem to pop up to deal with new needs, such as thin client audio.

 

Don't get me wrong; I like Linux. It's my everyday-use OS. Its handling of sound is arguably its weakest point, though, at least from a desktop user point of view.

Link to comment
Share on other sites

As of the 2.6.30 kernel, the OSS drivers are marked as "deprecated," meaning their use is discouraged and they may be removed. This isn't an area I follow all that closely, though, so I don't know what the kernel developers might be planning for the future. Certainly the OSS drivers have been marked as deprecated for quite a while.

 

The OSS in the kernel has been marked deprecated for a very good reason. It's OSS3, and it's completely obsoleted by now. OSS4 is very actively developed, separate from Linux.

Link to comment
Share on other sites

  • 2 weeks later...

OSS was marked as deprecated in 2003 during the 2.5 series, before 2.6.0.

 

It can be argued that PulseAudio was promoted to be the default Linux audio system a bit prematurely since it was beta quality at best. It's still known to be quite buggy in certain configurations (especially when running badly coded ALSA applications), and it wants a realtime kernel to really shine (but the -rt kernel has problems with the NVidia closed source drivers) but I truly believe that it's a HUGE step forward and the right path for Linux desktop audio nirvana in the long run. It's always a PITA when things that used to work, although they were ugly hacks, stop working. To get out of this dead-end we have to take a few step backwards to be able to move forward again. That means scrapping compatibility with ALSA bugs and the hacks/workarounds that relies on that. In the future, it will have been worth it.

Link to comment
Share on other sites

OSS was marked as deprecated in 2003 during the 2.5 series, before 2.6.0.

 

It can be argued that PulseAudio was promoted to be the default Linux audio system a bit prematurely since it was beta quality at best. It's still known to be quite buggy in certain configurations (especially when running badly coded ALSA applications), and it wants a realtime kernel to really shine (but the -rt kernel has problems with the NVidia closed source drivers) but I truly believe that it's a HUGE step forward and the right path for Linux desktop audio nirvana in the long run. It's always a PITA when things that used to work, although they were ugly hacks, stop working. To get out of this dead-end we have to take a few step backwards to be able to move forward again. That means scrapping compatibility with ALSA bugs and the hacks/workarounds that relies on that. In the future, it will have been worth it.

 

OSS 4.2 is used on all BSDs and is available for Linux as well. IMO it's much better and takes away the annoyance many still have with ALSA. When compared to ALSA many people have found the quality and correct jack detection better. People who speak down to OSS are still thinking about OSS 2, when it is much different now, and like I said, IMO and many others it's better than ALSA at its current state. YES - you can have many apps access sound at once, and the scheduling regarding that is much better than ALSA, as I've seen sound quality degrade when using many apps at once that need access to it when using ALSA.

 

Anyways, this is turning into a promotion it seems like, but i just caught your comment about OSS and I wanted to update your knowledge about it along with anyone else regarding its current status.

 

http://www.opensound.com/download.cgi

Link to comment
Share on other sites

 Share

×
×
  • Create New...