From the ALSA wiki
Original Comment - different "I" ;-)
Avoid laptops with this chip. It is buggy, and the input quality is really awful. If you get it to run, the output quality isn't bad. If you have problems with alsa locking your system when alsa starts, try updating to a recent CVS version of alsa; Takashi has done some work on this issue. It happens much less often now on my Dell Latitude CPi/a 366, but I still get some lockups.
I recently got a laptop with this chip. After reading the original comment I was afraid this was going to be painful... but that proved to be totally different. First I had looked up some information concerning the installation of Linux on the little laptop, which is a Dell Latitude LS running Gentoo Linux now. After some searching I found the following, ancient, recommendations from a RedHat 6.1 user -which uses OSS- to setup the sound as follows:
- Compile sound support as modules (which I found to be unnecessary in my case)
- Compile the sounddriver as a module
- Make sure the sounddriver gets loaded before the videodriver Otherwise the videocard will steal all the 2.5MB RAM assigned to the chip and deny the soundcard any access
So back in those days people had gotten the sound to work with OSS. But since the ALSA guys included and did some work on the NM256 driver as well I guessed ALSA could do the job as well.
So I went to setup my 2.6.22 kernel using menuconfig:
<*> Advanced Linux Sound Architecture <*> Sequencer support < > Sequencer dummy client <*> OSS Mixer API <*> OSS PCM (digital audio) API [*] OSS PCM (digital audio) API - Include plugin system [ ] OSS Sequencer API <*> RTC Timer support [*] Use RTC as default sequencer timer [ ] Dynamic device file minor numbers [*] Support old ALSA API [*] Verbose procfs contents
Sicne this is the first kernel I have build for the system and so wasnt
sure how and if the soundchip would function I added several options I
will probably remove later on, like "Verbose procfs contents" which I
could have used to "debug" any problem that might have occured. Same
goes for OSS support and the old ALSA API for backwards compatibily, I
will probably get those out there as well. The sound driver itself is
compiled as a module because I anticipated the unstable behaviour
mentioned in the original comment and because the old RedHat 6.1 seemed
to have functioned that way.
PCI Devices <M> NeoMagic NM256AV/ZX
Make sure to configure the rest of the kernel properly for your system. Take note that I did not enable framebuffer support, because of the possiblity of waking up the videochip and letting it snatch the 2.5MB memory away in front of the sounddriver's nose.
After this I was ready to test it and either be victorious in one go or
spend the night chasing ghosts. The compiled-in ALSA system appeared on
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC). ALSA device list: No soundcards found.
And afterward udev loaded the nm256 module and I checked the log which
nm256: found card signature in video RAM: 0x27ec00 nm256: Mapping port 1 from 0x2709a0 - 0x27ec00
No crashes, no instability of any kind so far, all seemed well.
So I fired up X and loaded Audacious to play me some MP3's. Audacious fired up normally, loaded the MP3 I feeded it and started to play. I grabbed the mixer and unmuted the channels and turned up the volume, out of the speaker came the sound of my MP3. Perfect!
The thing it doesnt do yet is playing from 2 sources at the same time. I get "audio device is busy", which is a classic. I havent had time to look while dmix isnt doing it or if some app is using the wrong output. I hope it's due to not installing the alsa-utils yet, so i'll install those soon to try. Feel free to comment or mail me about it if u have tips ;-)
Thing is, the chip works without problems. Awesome work ALSA Team!
Retrieved from "http://alsa.opensrc.org/Nm256"