I recently tossed aRTS out my computer for good. I am now running an ALSA/dmix setup with the following asound.conf:
Code: Select all
# This is ripped straight from the amarok wiki at http://amarok.kde.org/wiki/index.php/Setting_up_Dmix_for_ALSA
# I really should understand what's going on here!
# At any rate, this seems to work if programs with ALSA output are pointed to the "dmixer" mixer.
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0" # make sure this matches the actual device
#period_time 0 # not necessary since ALSA 1.0pre
period_size 2048 # Use a power of 2
buffer_size 32768 # must be a multiple of period_size
#rate 44100 # not necessary; let alsa-lib handle this
}
bindings {
0 0
1 1 # bind only the first 2 channels
}
}
pcm.duplex
{
type asym
playback.pcm "dmixer"
capture.pcm "dsnoop"
}
# Everything shall be dmixed, so redefine "default":
# Note that this is _not_ a good idea, since dmix doesn't allow mmap access currently
#pcm.!default {
# type plug
# slave.pcm "duplex"
#}
# OSS via aoss should d(mix)stroyed:
pcm.dsp0 {
type plug
slave.pcm "duplex"
}
ctl.dmixer {
type hw
card 0
}For my audio playing experience, I use amaroK with the Gstreamer backend. The computer is a Centrino laptop, and it dynamically clocks the CPU up and down as needed. This means that my CPU often runs at 600 MHz while playing music. If I start maximizing/minimizing windows, the audio will (sometimes) skip for a bit. The speedstepping daemon has some latency when it comes to clocking up to meet such fluctuating demands for processing power, and it could be causing the skips. However, I think running at the minimal 600 MHz oughta be enough for skip-free audio playback.
Any ideas? I've tried messing around with Gstreamer options in the amaroK config, but to no avail.
PS: Dmix has proven really hard for me to grasp. Anybody feel like explaining the meaning of the things in my asound.conf? I usually like to understand what's going on when something Just Works.


