You need to enable kernel preemption in the kernel features section and
the realtime LSM (Linux Security Model) in the Security section. For it
to be enabled, you have to uncheck (I don't know why) the "common linux
I don't have the latest 2.6.12, but a 2.6.12-rc4 patched with the mm patch.
However I still have serious xrun problems even with fairly large
periods (512, even 1024). I later found two possible causes of this
problem, which are independent of the kernel:
1) If you have an independent kernel module, such as the semi-closed one
that NVidia provides, it is clearly not patched for realtime! This is my
case. Maybe for audio I should use the nv module included in the kernel
2) The video card assigns itself the maximum priority in the PCI bus,
while the USB or the onboard audio (I have an onboard intel8x0 chipset
and I use an external MAudio MobilePre USB) have the lowest possible
priority on the bus.
Thus, during even naive graphic operations (such as the raising of a
window), I get xruns. Nor to mention if I run glxgears or something like
This can be fixed using the "setpci" command to force a lower priority
on the video card and to raise the audio. I didn't try this yet, but
it's promising. Of course, you'd get worse graphics performance, but
you don't want both things at the same time do you?
These are my advices. Please (anyone) try them and tell me if it made a
difference. I'll test them myself when I have some time.
Christoph Eckert wrote: