dtchencf. /usr/share/alsa/pulse*00:00
dtchenplease note that Kubuntu and Xubuntu don't use PA by default, so they're fairly unique to Ubuntu, Edubuntu, Ubuntu Studio, ...00:00
maco<limcore> where is PA reroute to blame?  are there some tools to show exact patch of sound like  app --> allegro -> alsa --> PA --> alsa and that allow me to for example dump the sound stream at given point to see who messes up?00:01
macodtchen: er...ubuntu studio doesnt use PA either. its jack, remember?00:01
dtchenthere's nothing quite like what limcore alluded to00:02
dtchenperforming a "tracepath" or "traceroute" of audio is fairly labour-intensive ATM00:02
dtchenthe PA reroute can be identified as the culprit in SOME instances by using ALSA directly instead of PA00:03
dtchene.g., using "arecord -twav foo.wav" results in horrible distortion, but "arecord -Dplug:front:0 -twav foo.wav" is quite clear00:04
dtchenin the first instance, arecord uses the default device, which routes through PA; in the second instance, arecord uses alsa-lib's front virtual device on card 0, bypassing PA altogether00:04
dtchenmaco: JACK is one component shipped in Ubuntu Studio. PA is still present.00:05
dtchenalsa-lib bugs are more subtle but tend to be more catastrophic00:06
dtchene.g., bug 41267700:07
bcurtiswxubot4: Launchpad bug 412677 in alsa-lib "pulseaudio crashed with SIGFPE in snd_pcm_mmap_begin()" [Medium,Triaged] https://launchpad.net/bugs/41267700:08
dtchenin that bug, it's not altogether clear whether the driver should be enforcing a minimum buffer_size or whether the userspace library should refuse to return mmapped region00:08
dtchenneither is ideal, but the crash is difficult to trigger, and so in the context for Karmic, we'll simply propagate the error back up to PA, which will try again00:09
DarwinSurvivoris there any way to make the permissions-selector-list wider? I can't read 3/4 of the permissions!00:10
DarwinSurvivoroops, wrong channel :( , sorry00:10
dtchenlinux bugs are good defaults, which is why alsa-driver and linux tend to end up with most bugs00:11
maco<limcore> ok so how to test if my game (say OpenArena) has sound problems because of PA or alsa kernel driver?   killall pulseaudio and restart my game, or something more clever?  Please present the commands one should enter to test00:11
dtchenlinux bugs are almost always restricted to hardware-enablement, e.g., "my speakers don't mute when I insert headphones unless I pass model=foobar"00:11
dtchenlimcore: generally you'll want to identify whether it's alsa-plugins or PA, not linux or PA00:12
dtchenif it's linux, you'll see the symptoms regardless whether ALSA directly (no PA) or PA is used00:13
dtcheni think what you meant to ask is "how do i disable PA to test whether it's to blame?"00:13
dtchenin that case, you can do the following:00:13
dtchenecho autospawn = no|tee -a ~/.pulse/client.conf00:14
dtchenkillall pulseaudio00:14
dtchenso now that we have a better idea of how to assign tasks to the audio bugs, we can consider the symptoms themselves00:15
dtchenall Linux distributions using ALSA face the same classes of sound bugs, so a few of us prototyped a shell script to cull as much relevant information as possible00:16
dtchenit's now maintained upstream at http://www.alsa-project.org/alsa-info.sh as a bash script, but i understand there's movement at Canonical to remove the cruft in it00:17
dtchenalso, to avoid having to fetch alsa-info.sh each time, mdz added apport hooks to accomplish a subset of the functions00:17
dtchenif you feel like contributing, a good place to start is by porting the functionality to alsa-base's and linux's apport hooks00:18
dtchenlet's review what we've covered00:19
dtchenfirst, identify which part(s) of the audio stack are involved. then, open tasks in the bug.00:19
bcurtiswxandresmujica: dtchen: any plans to develop a symptom based apport hook?00:20
dtchensecond, if the user has not already contributed information using ubuntu-bug, apport-collect, or the alsa-info.sh script, then ask for that information.00:20
dtchenandresmujica: i'd love to see others help there00:20
dtchenany questions regarding basic sound triaging? we'll continue shortly if there aren't any.00:22
andresmujica(18:20:38) kermiac: so should i run the "alsa-info.sh" script even though I have used apport to collect the relevant info for my bug report?00:22
dtchenkermiac: there's generally no need to; if there is, someone will ask for it00:22
dtchen(where the someone is generally someone on the kernel team, or me, or upstream)00:23
dtchenok, so let's discuss symptoms. remember the three major classes:00:23
dtchen18:27 < dtchen> 0. sound muted bugs00:23
dtchen18:27 < dtchen> 1. audio anomaly (crackling, popping) bugs00:23
dtchen18:27 < dtchen> 2. general infrastructure bugs00:23
dtchen(0) is pretty straightforward from a triaging perspective00:24
dtchenlook at the Card*.Amixer.values.txt in the bug attachment00:25
dtchenor the relevant section in the alsa-info.txt00:25
dtchenbecause there's not one common set of mixer elements, you just have to learn which ones are important based on the codec00:26
dtchenBTW, mapping mixer elements to codecs is highly useful; a wiki page could be a prelim DB00:26
macoyou mean saying things like how on my laptop the headphones are actually called Surround?00:27
dtchenin general, you want to look at 'Master', 'PCM', 'Wave', 'Front', 'Surround', 'Headphone', 'Speaker'00:27
dtchennote that not all codecs will have all (or any!) of those elements00:27
dtchenin upstream-speak, it's the mixer confusion, and it's one thing that PA is addressing via another mixer abstraction layer00:28
dtchenany/all of the playback toggles and/or levels for 'Master', 'PCM', 'Wave', 'Front', 'Surround', 'Headphone', 'Speaker' may be set to zero and/or mute00:29
dtchenin that case, ask for them to be unmuted and raised00:29
dtchene.g., "I see your PCM is set to zero and muted; please see if raising the level and unmuting results in audible sound"00:29
dtchennow for the fun part: how does one decide whether it's PA or alsa-utils?00:30
dtchennote that PA starts on session login, so if the person reboots but does not log in via GDM (instead using tty1, ctrl+alt+F1), it should be easy to pinpoint whether PA is restoring incorrect levels00:31
dtchene.g., login on tty, look at alsamixer00:33
andresmujica zyb: But what if the important mixer isn't even displayed, because its "chan1"?  or is that in the files anyway?00:34
maco(wrong window)00:34
dtchenzyb: please clarify to what chan1 refers00:34
zybThats it! One Name meaningless to all but the developer that chose it00:36
dtchenzyb: as of Jaunty, by default alsamixer and amixer expose the ALSA-lib view, not the PA view00:36
zyband therefore not supported by any program00:37
dtchenin Intrepid, there was some confusion, so one needed to use alsamixer -Dhw:000:37
macodtchen: i think he means what if there's some mixer element that is the issue but isnt named PCM or Front or one of those common ones...how do you know it's the issue? and what if mixers dont show it by default? (since the gui mixers only show "important" ones by default)00:37
dtchenzyb: then someone needs to stab repeatedly until it's fixed in the source code00:37
dtchenzyb: there's a lot of trial and error in debugging the new codecs00:38
dtchensometimes even older ones, e.g., the latest alsa-utils upload00:38
dtchenany further questions?00:39
bcurtiswxnothing so far dtchen00:40
bcurtiswxis there a wiki page with all of this valuable information?00:40
dtchenok, moving on to (1), which is almost always linux and lower in the stack, i.e., you're looking at crack hardware and insufficient driver workarounds00:41
dtchennote that other peripherals, like the bus latency of video devices, can affect (1)00:41
dtcheni'm about to submit a patch against our linux source that should help in one aspect by increasing the default preallocation buffer size to 2 MB instead of 64 KB00:43
dtchenother distributions have done similarly, choosing something between 1 MB and 2 MB inclusive00:43
dtchenrtkit in Karmic will also help if the necessary linux patches are merged (they're being discussed ATM)00:44
dtchenthese symptoms are less prevalent in Karmic but fairly evident using PA in Jaunty00:44
maco#define rtkit?00:44
dtchen"apt-cache show rtkit"00:45
macooh its a package. ok00:45
dtchenany questions on debugging (1)?00:45
andresmujicais this related to that ? pulseaudio[4959]: alsa-sink.c: Increasing minimal latency to 76,00 ms00:46
dtchenandresmujica: yes, it is related00:47
dtchenessentially your hardware requires a higher watermark, so PA adjusts for you and will buffer more00:47
dtchenif it holds steady, it will attempt to decrease00:47
andresmujicaVoIP suffers A LOT from this... and with the VoIP high CPU requirements for VoIP codecs, i'm worried about VoIP in Linux...00:47
dtchenwell, for people who MUST use Skype, use the new Skype with PA support.00:48
andresmujicai mean corporate VoIP ...00:48
andresmujicanot skype..00:48
andresmujicabut that's a different story..00:49
dtchenandresmujica: there are workarounds, like disabling glitch-free and flatvol00:49
dtchenit's really hard to anticipate all sorts of broken hardware combinations00:49
andresmujicaso PA shows more clearly the HW problems not detected previously by alsa?00:50
dtchenno, they were always there in ALSA00:51
dtcheni really can't emphasise that enough00:51
dtchene.g., it's not as if that fpe bug would not have existed if PA hadn't existed :-)00:51
macodtchen: but whether they were *noticed* or not...?00:52
dtchenok, so to cover (2): general infrastructure bugs are ones like ia32-libs/alsa-plugins/pulseaudio, or using PA on Kubuntu/Xubuntu/Ubuntu Studio00:53
dtchenthese are situations where volume controls are not present in the default distro00:53
dtchenthese are mostly Low- or Wishlist-priority bugs00:54
dtchenthe obvious usability perspective is important, but people need to step in to help resolve those00:54
dtchenlastly, what's in store for Karmic{,+1} :00:55
dtchenit's important to track the ~ubuntu-audio-dev PPA and continue to file bugs00:56
dtchenfor the purpose of PulseAudio, it is legitimate to file bugs UNTIL Karmic's release against the PPA version00:56
dtchenat the point of Karmic's release in October, bugs filed against the PPA version of PA will be Invalidated00:57
dtchenit's important to note that this policy is ONLY valid for PA in Karmic and ONLY while Karmic is open for development00:58
dtchencurrently, there are a couple of high priority bugs for PA: session state confusion, i.e., volume being muted on session login01:00
dtchenalso, device enumeration01:00
dtchenany questions in conclusion?01:00
andresmujicawhat about upstreaming PA bugs ?  is there a policy for that? when it should be done?01:02
dtchenandresmujica: users tend to do that; distros tend to use pulseaudio-discuss01:03
zybsomething about karmic+1? Was mentioned at beginning01:04
dtchenandresmujica: i see nothing wrong with encouraging individual users to do so, but many of our changes were Ubuntu-specific01:04
dtchenzyb: there's a lot on the plate for +1 : native multiarch, power-down configurations, "tracing sound routes"01:05
zybtracing like traceroute? cool!!01:07
dtchenbcurtiswx: no, but one of the reasons i opted for a lot of background info is to enable wikifying the info01:07
dtchenanyhow, if there are no further questions, i'm happy to head out. thanks, everyone!01:08
kermiacthanks dtchen01:08
andresmujicathanks to you dtchen!! thanks for your time!01:08
bcurtiswxdtchen: cool thx01:09
dtcheni've pasted the irc log in https://wiki.ubuntu.com/Packaging/Training/Logs/2009-08-2801:13
dtchenif someone wants to clean it up, feel free01:14
jawnsydtchen: thanks :-) I actually didn't know this session was happening but I'm happy I was here, some interesting stuff discussed :-)01:17
hggdher. Where can I find the logs for the classroom?02:36
nhandlerhggdh: Logs from the packaging training sessions are on https://wiki.ubuntu.com/Packaging/Training/Logs02:41
hggdhnhandler, I was actually looking for the logs from Dan's training02:41
hggdhjust got home, and wanted to look at them02:42
hggdhcan I (later on) reposition them under the bug knowledge wiki?02:44
nhandlerhggdh: Just link to them from the bug knowledge wiki (or use the Include tag). No need to actually move it02:45
=== arvind_k is now known as arvind_khadri
=== stochastic is now known as stochastic_
=== Quintasan_ is now known as Quintasan
tim_Is there anyway to review the Ubuntu Developer Week sessions if you can't attend the specified timeslot?18:15
porthosetim_, yes the IRC logs should be available18:20
nhandlertim_: Clicking on a session in the table on https://wiki.ubuntu.com/UbuntuDeveloperWeek will take you to the logs once they are posted18:21
tim_Sounds great - thanks.  This may be standard operating procedure, but for newbies like me it might be useful to update the wiki with a note explaining what to do if you can't make the timeslot (my apologies if its there and I missed it)18:26

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!