PC-Speaker PCM driver for Linux

The driver was included in 2.6.26. This page is now kept for historical reasons only.

Q: What is this?
A: This is a driver that lets your built-in pc-speaker to play any digital sounds, so that you can eg. listen mp3 without a sound card.

Q: There is already a pc-speaker driver in the linux kernel, wtf?
A: Yes there is, but it can only produce beeps. You can't use it to play a digital sound of any kind.

Q: I want my pc-speaker to beep. Do I need your driver?
A: No, you don't. Just enable the pcspkr driver of the linux kernel.
A: My driver can be used for beeps just as well. As a bonus you'll get an ability to enable/disable the beeps via mixer.

Q: I want my pc-speaker to be able to play the digital sounds as well as the beeps. Should I enable both drivers?
A: No.

Q: I installed your driver and it doesn't play any sound at all. Why?
A: Check the mixer settings (use alsamixer). Make sure the sound is not muted and the volume is at maximum.
A: Well, here are the bad news. NVidia seem to have excluded the necessary capabilities from their NForce chipsets.
A: See dmesg. It is possible that the timer resolution is not sufficient for this driver.
This can be a kernel configuration error or too old hardware. The driver will complain in the log in this case.

Q: I have the NForce chipset, are there any hopes to get any sound at all?
A: A kind of. Try passing the nforce_wa=1 to the driver module, but expect a very bad sound.

Q: Will there be an x86-64 version?
A: Since the 2.6.24 kernel the driver should work on x86-64 in 64bit mode.

Q: Will this driver ever go into the mainline kernel?
A: The driver was included in 2.6.26. This page is now kept for historical reasons only.

Driver for 2.6 kernels

Kernel patch for >= 2.6.22 kernel. (OPTIONAL)
ALSA driver patch for >= 2.6.22 .. 2.6.24 kernels.
Needs this asound.conf
Note: driver for 2.6.25 does not exist, this version is not supported.


Driver for older kernels

Patch for >= 2.4.22 kernel (kernel part).
Driver patch for >= 2.4.22 kernel
Note: You have to apply both the patches above. Applying only one of them will not work!
Try these small patches if the OSS driver does not work properly for you.

Patch for kernel 2.2.19 is here.
It is completely outdated, 2.4 and 2.2 support is dropped.




If you have problems with my patch or any comments, feel free to contact me.