Problems with Cirrus Logic CS4281

Linux howto's, compile information, information on whatever we learned on working with linux, MACOs and - of course - Products of the big evil....
Post Reply
User avatar
^rooker
Site Admin
Posts: 1484
Joined: Fri Aug 29, 2003 8:39 pm

Problems with Cirrus Logic CS4281

Post 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.
Jumping out of an airplane is not a basic instinct. Neither is breathing underwater. But put the two together and you're traveling through space!
User avatar
^rooker
Site Admin
Posts: 1484
Joined: Fri Aug 29, 2003 8:39 pm

Found a workaround

Post 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.
User avatar
^rooker
Site Admin
Posts: 1484
Joined: Fri Aug 29, 2003 8:39 pm

Dead-end findings along the way...

Post 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)
Post Reply