Page 1 of 1

Problems with Cirrus Logic CS4281

Posted: Sat Feb 14, 2009 5:22 pm
by ^rooker
I'm running into strange performance problems with a CS4281 Cirrus Logic soundcard in an old Thinkpad (Running "Ubuntu Hardy 8.04.1 server" with XFCE4):

When I use it with Wine (v1.1.14), directly over ALSA, the playback stutters and crackles as if the computer was too slow. However, the CPU load is approx. at 25% (if at all...). Playing audio directly from other applications works as it should.

Now I've tried running Wine through JACK, and guess what? It runs perfectly, which adds to my assumption that it's not a performance problem itself, but more a "ALSA + Wine don't like each other in my setup" problem.

However, using jackd causes another problem for me: I don't have my MIDI interface in Wine, which I do when I use ALSA.

Haven't solved this, yet but I will hopefully find a solution soon.

Found a workaround

Posted: Sat Feb 14, 2009 7:37 pm
by ^rooker
Here's a workaround I found for now:

Code: Select all

1) Open winecfg and then select the "audio" tab.
2) Select only ALSA as audio backend.
3) In the dropdown box for "hardware acceleration" choose "Emulation".
That does the trick.

I'll add infos about some other findings in the next post.

Dead-end findings along the way...

Posted: Sat Feb 14, 2009 7:43 pm
by ^rooker
Here are some things I've tried (most of them to no avail):

1) Increase buffer size of audio card:

Code: Select all

echo "512" > /proc/asound/card0/pcm0p/sub0/prealloc
(64 is default, 512 is the max. limit of the CS4281 card/driver)
Had no effect.

2) Separate IRQs:
Within the BIOS, I've manually assigned individual IRQs to all PCI devices.
Had no effect.

3) Higher priority, using renice/nice:
Had no effect.

4) Tried to get JACK midi ports by starting jack with MIDI "raw", as well as "seq":
Had no effect. Did not see any MIDI devices in wine while using jack. Some say that wine doesn't handle MIDI with jack, others report to see at least a single jack-midi port.

5) Tried OSS instead of ALSA:
Selecting OSS in winecfg led to different, but still crackling and choppy output. Additionally, it caused the CPU load to go up to 100% permanently. (Note: I don't think that this was native OSS, but rather OSS over ALSA)