If you don't normally follow the Ubuntu development lists, it's a good time to begin. Yesterday I uploaded alsa-driver 1.0.22.1 to Lucid which, among other things, contains my extensions to power down various parts of the HDA controller and codec after a configurable idle period. Work is far from complete, and I could use your help to make sure your sound hardware is well-supported in 10.10.
In summary:
"Just to clarify in case it's not already obvious: my having uploaded alsa-driver 1.0.22.1 in no way affects the default Lucid install of the kernelspace ALSA driver (aka alsa-kernel). It remains 1.0.21. Anyone wishing to build modules of 1.0.22.1 can do so using module-assistant and alsa-source. And, until Takashi returns, that approach will be more current than using the daily snap from the 27 Dec.
So, the current state of Lucid contains:
alsa-kernel 1.0.21 (as shipped in linux 2.6.32-9.13-generic)
alsa-lib 1.0.22 + Fix-S24_3LE-softvol-distortion.patch (bdf80)
alsa-plugins 1.0.22"
Thursday, December 31, 2009
Monday, December 7, 2009
Lucid development: audio for Alpha 1
Things that won't land for Lucid Alpha 1:
Steady progress on Analog Devices HDA suspend/resume additions/fixes in pursuit of powerdown objectives;
Fix for PulseAudio bailing on HDA softmodems.
On the other hand, they will land sometime soonish. In fact, the latter fix is available for testing in Karmic from the ubuntu-audio-dev PPA.
(As always, thanks for understanding that I have a limited amount of free time to do this stuff.)
Steady progress on Analog Devices HDA suspend/resume additions/fixes in pursuit of powerdown objectives;
Fix for PulseAudio bailing on HDA softmodems.
On the other hand, they will land sometime soonish. In fact, the latter fix is available for testing in Karmic from the ubuntu-audio-dev PPA.
(As always, thanks for understanding that I have a limited amount of free time to do this stuff.)
Thursday, November 19, 2009
How not to configure default settings for sound applications
You're absolutely right, Martin: recordmydesktop did the wrong thing and screwed your sound experience in Ubuntu. Fortunately, it's really straightforward to fix:
--- recordmydesktop-0.3.8.1.orig/src/rmd_types.h
+++ recordmydesktop-0.3.8.1/src/rmd_types.h
@@ -39,7 +39,7 @@
#ifdef HAVE_LIBASOUND
#include
- #define DEFAULT_AUDIO_DEVICE "hw:0,0"
+ #define DEFAULT_AUDIO_DEVICE "default"
#else
#include
#include
--- recordmydesktop-0.3.8.1.orig/src/rmd_types.h
+++ recordmydesktop-0.3.8.1/src/rmd_types.h
@@ -39,7 +39,7 @@
#ifdef HAVE_LIBASOUND
#include
- #define DEFAULT_AUDIO_DEVICE "hw:0,0"
+ #define DEFAULT_AUDIO_DEVICE "default"
#else
#include
#include
Wednesday, November 18, 2009
Flailing against the light, or why bad things happen to good users
Seriously, Craig, I'm a bit disappointed that you didn't stop to ask members of this perceived conspiracy how to disable PulseAudio before flaming away, but as you say, it is most definitely your "right" to flame away. And, as Jordan mentioned in your blog post's comments, it was (and is) hardly MOTU's decision to tie PulseAudio more tightly into the GNOME desktop. That decision was upstream GNOME's. Not Ubuntu's. Not Fedora's. Not openSUSE's. Not Gentoo's. Not Debian's. Not Mandriva's.
In other words, it would take a non-trivial amount of work to remove the PulseAudio dependency from GNOME, and then Ubuntu would get to carry the delta *and* respond to defect reports.
Let's put this in perspective: there are two people working on audio in Ubuntu. One of them is employed by Canonical, and he isn't 100% time on audio. The other one cares enough to trawl through vitriol and drivel to respond to requests, demands, rants, and apathy -- on his lunch breaks and spare time -- to unbreak a resounding mess. If it's insufficiently clear, you're preaching to the choir, and your ultimatum is pathetically misdirected.
Now let's be constructive:
Firstly, PulseAudio *can* be made to go away in Karmic. I've written about it before, but I guess the naysayers are too busy flailing about how much PA sucks. Some caveats with the approach given: you'll need to use one of alsamixer, amixer (both command line tools shipped by default in the alsa-utils package), alsamixer-gui, aumix, and so on. You'll lose live per-application (per-stream) migration. You'll lose per-application volumes. And you'll lose other things, but they're hardly consequential enough to list here.
Secondly, the loss of system sounds is not a PulseAudio issue. It's a window manager issue. There's even a defect report about it.
Thirdly, PulseAudio *has* to use ALSA. PulseAudio is not a replacement for ALSA and never will be, because one of ALSA's primary functions is enable hardware. It's a sound driver. PulseAudio is not a sound driver; it's a program that uses sound drivers. If you're expecting PulseAudio to replace ALSA, go ahead and throw that idea out the window.
Fourthly, where are your defect reports for PulseAudio and ALSA in Karmic?
Lastly, no one is forcing you to upgrade to the latest Ubuntu hotness. Some people still use Dapper; others, Hardy. A great many people don't use Ubuntu at all. If you don't enjoy Ubuntu's direction, why not attend the Lucid developer summit and work with people there to resolve some issues?
In other words, it would take a non-trivial amount of work to remove the PulseAudio dependency from GNOME, and then Ubuntu would get to carry the delta *and* respond to defect reports.
Let's put this in perspective: there are two people working on audio in Ubuntu. One of them is employed by Canonical, and he isn't 100% time on audio. The other one cares enough to trawl through vitriol and drivel to respond to requests, demands, rants, and apathy -- on his lunch breaks and spare time -- to unbreak a resounding mess. If it's insufficiently clear, you're preaching to the choir, and your ultimatum is pathetically misdirected.
Now let's be constructive:
Firstly, PulseAudio *can* be made to go away in Karmic. I've written about it before, but I guess the naysayers are too busy flailing about how much PA sucks. Some caveats with the approach given: you'll need to use one of alsamixer, amixer (both command line tools shipped by default in the alsa-utils package), alsamixer-gui, aumix, and so on. You'll lose live per-application (per-stream) migration. You'll lose per-application volumes. And you'll lose other things, but they're hardly consequential enough to list here.
Secondly, the loss of system sounds is not a PulseAudio issue. It's a window manager issue. There's even a defect report about it.
Thirdly, PulseAudio *has* to use ALSA. PulseAudio is not a replacement for ALSA and never will be, because one of ALSA's primary functions is enable hardware. It's a sound driver. PulseAudio is not a sound driver; it's a program that uses sound drivers. If you're expecting PulseAudio to replace ALSA, go ahead and throw that idea out the window.
Fourthly, where are your defect reports for PulseAudio and ALSA in Karmic?
Lastly, no one is forcing you to upgrade to the latest Ubuntu hotness. Some people still use Dapper; others, Hardy. A great many people don't use Ubuntu at all. If you don't enjoy Ubuntu's direction, why not attend the Lucid developer summit and work with people there to resolve some issues?
Thursday, October 29, 2009
Caveats for audio in 9.10
Here follows an update for 9.10 to this month's earlier caveats:
If you use Ubuntu:
If you use Ubuntu:
- Use Karmic's kernel, not Jaunty's. A lot of you with Realtek and IDT/Sigmatel HDA codecs are being bitten by /boot/grub/grub.cfg not being updated properly, resulting in Jaunty's 2.6.28 kernel being used instead of Karmic's 2.6.31. Jaunty's kernel has pretty subpar performance for PulseAudio, and you should not incorrectly blame PulseAudio.
- Check that slmodemd is not running if you're seeing a dummy/null sink in the volume control applet. Arguably PulseAudio's module-udev-detect should allow the device instead of bailing when detecting it, and an approach is under discussion for future versions. In the meantime, you can either instead load module-detect in /etc/pulse/default.pa (or ~/.pulse/default.pa) or kill slmodemd.
- Install linux-backports-modules-alsa-karmic (then reboot) if you have a very new computer, because that package enables audio on quite a few very new laptop models and contains much improved support for microphone auto-switching.
- Use a temporary alternate channel mapping for PulseAudio if you have an ice17xx-based sound card. Please be aware that the fault lies with alsa-lib not PulseAudio and will be addressed in 10.04 LTS.
- Configure PulseAudio to ignore your sound driver's misreported dB information if you experience "overdriven" sound.
- Attach a verbose PulseAudio runtime log to your PulseAudio bug report.
- Attach an ALSA codec dump to your linux bug report if jack sense (e.g., connecting headphones mutes internal laptop speakers) does not seem to function properly.
Tuesday, October 13, 2009
The perils of saving sound card state; and why apologizing is good.
Bad news: I broke alsa-utils in Karmic.
Good news: I fixed it tonight. Please report your results.
Honestly, I tested the previous upload on Ubuntu, Kubuntu, and Xubuntu before committing to bzr -- even on different hardware! It just goes to show that I make dumb mistakes, so, sorry about that.
Mo' bett' news: many thanks to the awesome Tim Gardner, who imported alsa-driver stable (snapshot from 20091012) into ubuntu-karmic-lbm.git, which means that all you poor saps with eeePCs and HP dvs and Dell Studios will finally have less suck for audio. Granted, it will require installing linux-backports-modules-karmic in a week or so...
In other news (what?! there're more kinds?!), it really is decent to apologize when I make mistakes. This guy is a real gem, that is all.
Good news: I fixed it tonight. Please report your results.
Honestly, I tested the previous upload on Ubuntu, Kubuntu, and Xubuntu before committing to bzr -- even on different hardware! It just goes to show that I make dumb mistakes, so, sorry about that.
Mo' bett' news: many thanks to the awesome Tim Gardner, who imported alsa-driver stable (snapshot from 20091012) into ubuntu-karmic-lbm.git, which means that all you poor saps with eeePCs and HP dvs and Dell Studios will finally have less suck for audio. Granted, it will require installing linux-backports-modules-karmic in a week or so...
In other news (what?! there're more kinds?!), it really is decent to apologize when I make mistakes. This guy is a real gem, that is all.
Labels:
alsa,
alsa-utils,
alsactl,
gender,
initscript,
karmic,
ubuntu
Thursday, October 1, 2009
Caveats for audio in Ubuntu Karmic Beta
In the wake of the Ubuntu Karmic Beta release, here are some audio gotchas on my radar:
* Volumes being erroneously set to 0 and/or muted upon reboot/shutdown
** We'll address this in Lucid by altering how alsactl store is called. For Ubuntu, there's arguably no need to actually call alsactl restore; PulseAudio handles volume state on its own. Granted, the approach will take some fleshing out, as we need to handle Kubuntu, Xubuntu, Ubuntu Studio, ...
* Default PulseAudio behaviour causes overdriven audio due to hardware inanity
** Thanks to some wonderful (sarcasm) hardware integration, we can work around this issue by using the patch mentioned in the comment. Please note that this patch will not be turned on for Karmic, because doing so will result in a very poor user experience for many more HDA users whose hardware are not quite so craptastic.
* Internal/External microphone selection is broken for many HDA users
** Well-known upstream, being addressed for Lucid, patches too invasive for Karmic, etc.
* Extremely high CPU usage by PulseAudio with third-party applications (Skype, I'm looking at you)
** Use the PulseAudio-aware beta of Skype
Finally, last post I described populating the alsactl init database. There are a few things of which one should be aware:
* Too quiet or too loud is usually a driver (i.e., linux) bug
** We can work around this in alsa-kernel/linux, so the first place we check is linux, not alsa-utils. In the rare case it is not a driver bug, we resort to alsactl init patches.
* You can clone the upstream alsa-utils git tree and submit patches directly
** (Next post, I'll cover how to do it.)
* Volumes being erroneously set to 0 and/or muted upon reboot/shutdown
** We'll address this in Lucid by altering how alsactl store is called. For Ubuntu, there's arguably no need to actually call alsactl restore; PulseAudio handles volume state on its own. Granted, the approach will take some fleshing out, as we need to handle Kubuntu, Xubuntu, Ubuntu Studio, ...
* Default PulseAudio behaviour causes overdriven audio due to hardware inanity
** Thanks to some wonderful (sarcasm) hardware integration, we can work around this issue by using the patch mentioned in the comment. Please note that this patch will not be turned on for Karmic, because doing so will result in a very poor user experience for many more HDA users whose hardware are not quite so craptastic.
* Internal/External microphone selection is broken for many HDA users
** Well-known upstream, being addressed for Lucid, patches too invasive for Karmic, etc.
* Extremely high CPU usage by PulseAudio with third-party applications (Skype, I'm looking at you)
** Use the PulseAudio-aware beta of Skype
Finally, last post I described populating the alsactl init database. There are a few things of which one should be aware:
* Too quiet or too loud is usually a driver (i.e., linux) bug
** We can work around this in alsa-kernel/linux, so the first place we check is linux, not alsa-utils. In the rare case it is not a driver bug, we resort to alsactl init patches.
* You can clone the upstream alsa-utils git tree and submit patches directly
** (Next post, I'll cover how to do it.)
Subscribe to:
Posts (Atom)