5 ms·
I wish Linux video would go the way of Linux audio. Linux audio just works. There's a single userspace API (PulseAudio), a single kernel driver API (ALSA), and
by jmillikin 13y ago
I wish Linux video would go the way of Linux audio.
Linux audio just works. There's a single userspace API (PulseAudio), a single kernel driver API (ALSA), and all the old nastiness of the '90s (ESD, aRts, OSS) is dead and gone.
In contrast, getting video to work properly involves figuring out what hardware you're running (nVidia? ATI/AMD? Intel? misc other?), then hunting down the drivers, installing them, rebooting, hoping the hardware gets detected correctly, and so on until the user gives up and settles for a half-broken system. I consider myself fairly skilled with Linux stuff, and I still can't figure out how to get my desktop to have both kernel modesetting and accelerated OpenGL at the same time.
- mhurron 13y agoThe only time I have hunt down video drivers for Linux is when I decide to use the closed nVidia driver. Other than that it's all kernel/X supplied drivers.
- makomk 13y agoExcept that it doesn't just work. Ignoring the hardware aspect altogether for a moment, PulseAudio itself is inherently buggy. If you run it for long enough with its volume control app open, the daemon sometimes crashes and everything stops playing sound. (It looks like that might be due to a bug in the peak volume reporting code resulting from an incredibly misleading variable name, but I'm not sure - none of it's commented, so it's impossible to figure out how it's meant to work). Resampling glitches out randomly and requires a restart of the daemon. There was a patch to the resampling code in the latest release which was outright incomplete and broken but got included anyway, and since the PulseAudio devs don't release stable versions, the only release with the fix in will be a major one with a whole bunch of new regressions. I've encountered major bugs with fixes in the Fedora package that weren't submitted upstream at all, and the patches were written and added by Lennart Poettering himself. Then there's the hardware-specific fun: headphone outputs that don't mute the speakers when they should due to driver or hardware quirks, outputs and inputs that plain don't work, weird volume glitches where exiting one app causes all the others to shift in volume due to PulseAudio's info about the hardware volume control being wrong...
- jlgreco 13y agoFrankly both audio and video "just work" in Linux, and have for years. It has been several years since I bothered to look up what chips a computer had and what Linux support was like before making a purchase. I just buy the hardware I want, assume it will work, and find that it does. Maybe I've been getting lucky, but I don't think so. The only real remaining pain in the ass is printer support, but who the hell uses printers these days?
- ikt 13y agoMy HTPC has the desktop off the top of the TV and frequently the HDMI audio doesn't work. With my ATI graphics card on my desktop I have a script that runs on startup to force the display drive to to detect my 1920x1080 monitor otherwise it displays the screen with big black bars all around the edges. Audio and video are still a pita for me.
- jlgreco 13y agoProprietary driver I assume? That always has been, and always will be (as far as my crystal ball permits me to see), a clusterfuck. If you opt-in to that sort of pain, don't act surprised when you receive pain.
- oakwhiz 13y agoHave you tried this? sudo amdconfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
- stelonix 13y agoAudio just works if you're not a power user, or use only programs compatible with each other. Try using a JACK application alongside an ALSA one and you'll see it doesn't "just work". Even then, if you stick to ALSA applications, you'll have a few issues: 1) You're going to be limiting yourself to a lot less possibilities (Skype uses Pulse, IIRC, for example) 2) You can't have simple settings such as per-application volume control. Sure it "just works", but it does if you use a set of programs which only the people who say "it just works" (a lot of people, I know) restrict themselves to. While it may work for you, different people have different needs. I'm still waiting for the day Linux audio (and video, but less hopeful because of proprietary drivers) simply works in the same way it does under Windows/Mac. Footnote: I completely forgot to mention latency issues, which is awful for audio processing.
- jsnell 13y agoI've had real problems with the display stack once in the last maybe 10 years. And that was simply a case of the software support for Ivy Bridge not being released far enough before the hardware, and thus not supported out of the box on the latest stable release of anything at the time. (Of course our criteria for working might be different -- I care about stuff showing up on my monitor and X not crashing. Couldn't care less about kernel modesetting). In contrast, audio tends to randomly completely break after every other update. Most recent major breakage I had: for one whole Fedora release, the headset mic input would not work in the one app where I need it to work (Skype). Worked fine on the previous and next releases, with the same Skype binary. Minor problems that can be worked around just randomly come and go. Right now one one machine all audio playback will stop working every few days, until pulseaudio is killed. Another computer randomly goes to a mode where all audio playback from Chrome is accelerated by IIRC 7%. Just enough to make you uneasy due to things being off somehow, but not enough to make obvious that there's a problem. This persists until pulseaudio is killed and restarted, of course, which magically fixes things.
- oakwhiz 13y agoAnother problem with PulseAudio is with latency and routing, which is why a lot of professional audio programs on Linux use JACK instead of PulseAudio. It's sometimes very hard to get JACK to play nice with PulseAudio, and this is exacerbated by the fact that ALSA only allows one program to use one audio device at a time. So it doesn't always "just work"...
- marshray 13y agoIsn't it kinda the kernel's job to allow multiple processes to access shared resources? Imagine if only one process at a time were allowed to access the disk.
- Daishiman 13y agoResources that require low-latency low-level access cannot be multiplexes easily
- Shish2k 13y agoSo have multiplexing desktop mode by default, and give pros a "reduce my latency" button?
- marshray 13y agoWhy couldn't the kernel perform simple mixing of the audio streams with just as low latency as something like JACK?
- oakwhiz 13y agoI've heard that you can get PulseAudio to connect to JACK, which in turn connects to ALSA. The idea here is that latency-sensitive applications that use routing will connect to JACK, while applications that connect to PulseAudio (like Skype, Firefox, etc.) don't care about latency. However I haven't been able to get this to work properly (why isn't this set up as the default on any of the distros I've tried this on?)
- deleted 13y ago[deleted]
- speeder 13y agoYou must be drunk or something.... I for example.owned a machine.where audio only worked after I installed OSS4 in the kernel. AND removed PA and Alsa so they stopped crashing some Wine stuff.