From: Andreas Grois on
Hi

Sorry for asking an old question again, but my wonderful usenet-provider
deleted the old articles...
Since I bought a "new" mainboard with nforce 4-chipset, I'm
unable to play any games under wine (well, I'm one of Blizzards
WoW-victims) with sound enabled. I don't know if it's a problem of the
onboard soundchip or the linux-driver for it (CONFIG_SND_INTEL8X0), but
everytime a sound is played back, the framerate drops from 50 to about 5
(so I have to disable sound when playing). I didn't have that problem with
my old VIA K8T890-chipset.

Long introduction, short question:
Do you know any cheap PCI-express soundcard (since the only free PCI-slot
of my mainboard is the one directly below the graphics-card -> installing
anything there would block the GPU-fan), that has a good old stereo
output, hardware-samplerate-conversion, multi-channel-playback (of
course hardware-mixing) and is well supported by current linux-kernels?

Thank you in advance for your tips.
Andreas
From: Wolfgang Draxinger on
Andreas Grois wrote:

> Since I bought a "new" mainboard with nforce 4-chipset, I'm
> unable to play any games under wine (well, I'm one of Blizzards
> WoW-victims) with sound enabled. I don't know if it's a problem
> of the onboard soundchip or the linux-driver for it
> (CONFIG_SND_INTEL8X0), but everytime a sound is played back,
> the framerate drops from 50 to about 5 (so I have to disable
> sound when playing). I didn't have that problem with my old VIA
> K8T890-chipset.

In my experience the sound interface of WINE is a bit unsteady.
IMHO the best would be, to put some intermediate layer inbetween
that segregates WINE from the sound API. I'm thinking of ESD
here.

Your problem is probably, that mose games nowadays use the sound
output for timing, since the CPU instruction counter has become
an unrelaiable timing souce with the advent of dynamic clocking
(Intel SpeedStep, AMD PowerNow). Both Windows and Linux provide
a form of high precision counters, but those on Windows have
their own issues (unlike the quite reliable HRPT and RTC timers
of Linux). The sound output however is a very good timing source
in all cases. Given a certain sample rate and buffer length you
can precicely time a game by the asynchronous sound buffer
events (buffer starts playing, buffer playing has finished). Now
depending on the way, how a certain driver deals with reporting
finished buffers, it can happen that your program gets notified
about it with some delay => you game FPS drops.

Using ESD as an intermediary could be a solution.

> Long introduction, short question:
> Do you know any cheap PCI-express soundcard (since the only
> free PCI-slot of my mainboard is the one directly below the
> graphics-card -> installing anything there would block the
> GPU-fan), that has a good old stereo output,

First: The correct abbreviation for PCI-Express is PCI-E. There's
also a standard PCI-X, which is however completely different
from what you mean.

Second: I hardly believe you, that the only free PCI slot is
directly below the graphics card. The graphics slot likely is a
PCI-E 16x, and the odds are good that the mainboard has more
than one PCI-E slot. However all PCI-E slots are grouped
together and most certainly not interrupted by a single PCI
slot. Probably you're mistaking a PCI-E 4x slot for a PCI slot
(they look similair, but are completely different).

Wolfgang Draxinger
--
E-Mail address works, Jabber: hexarith(a)jabber.org, ICQ: 134682867

From: Clemens Ladisch on
Andreas Grois wrote:
> Since I bought a "new" mainboard with nforce 4-chipset, I'm
> unable to play any games under wine (well, I'm one of Blizzards
> WoW-victims) with sound enabled. I don't know if it's a problem of the
> onboard soundchip or the linux-driver for it (CONFIG_SND_INTEL8X0), but
> everytime a sound is played back, the framerate drops from 50 to about 5
> (so I have to disable sound when playing). I didn't have that problem with
> my old VIA K8T890-chipset.

VIA AC'97 controllers can do mixing and sample rate conversion in
hardware, but Intel-compatible ones cannot. Apparently, the software
mixing of either the game or of Wine is, er, inefficient. I'd guess
that Wine's DirectX emulation is the culprit.

> Do you know any cheap PCI-express soundcard (since the only free PCI-slot
> of my mainboard is the one directly below the graphics-card -> installing
> anything there would block the GPU-fan), that has a good old stereo
> output, hardware-samplerate-conversion, multi-channel-playback (of
> course hardware-mixing) and is well supported by current linux-kernels?

Current Linux kernels do not support any PCI-E sound card.

Creative builds a PCI Express x1 model of the X-Fi line that also has
hardware mixing, but currently there is only a closed-source 64-bit beta
driver. It is unlikely that there will ever be an open source driver.

The Asus Xonar D2X is PCI-E x1 too, but is not yet available. A driver
is currently being written and will probably be part of the 2.6.25
kernel. (This card does not support hardware mixing, but instead you
get important features such as 192 kHz support and colorfully
illuminated jacks.)


Regards,
Clemens
From: Andreas Grois on
Am Sun, 25 Nov 2007 15:23:21 +0100 schrieb Wolfgang Draxinger:

Thanks for the tip with esd, I'll try that, as soon as I get home from
university. I'll post here, if it helped.

> a standard PCI-X, which is however completely different
> from what you mean.

Sorry for that mistake...

>
> Second: I hardly believe you, that the only free PCI slot is
> directly below the graphics card. The graphics slot likely is a
> PCI-E 16x, and the odds are good that the mainboard has more
> than one PCI-E slot. However all PCI-E slots are grouped
> together and most certainly not interrupted by a single PCI
> slot. Probably you're mistaking a PCI-E 4x slot for a PCI slot
> (they look similair, but are completely different).

It's definitely a PCI-Slot that resides below the PCI-E 16x. My board the
other PCI-Express slots above the 16x-slot. A picture is linked at
http://www.msi-technology.de/produkte/main_idx_view.php?Prod_id=601#

Thanks for the reply,
Andreas
From: Andreas Grois on
Am Mon, 26 Nov 2007 15:14:13 +0100 schrieb Clemens Ladisch:

> [...]
> VIA AC'97 controllers can do mixing and sample rate conversion in
> hardware, but Intel-compatible ones cannot. Apparently, the software
> mixing of either the game or of Wine is, er, inefficient. I'd guess
> that Wine's DirectX emulation is the culprit.

I'll just wait for newer wine-versions, maybe, if it really is the cause,
the problem will get fixed sometime. Since it only concerns gaming, it
isn't an important issue for me (I better should spend my time learning,
not playing).

Well, it might also be the case, that the problem is caused by the
WoW-Patch 2.2, which delivered a new (as Blizzard states: more reliable)
sound-engine. It happened, that my old board died before the patch was
released, yet I bought the new one afterwards. I also consider Mr.
Draxingers reply interesting, where he stated, that maybe the sound-output
is used as the games timing-source.

>[...]
> Current Linux kernels do not support any PCI-E sound card.

Sad to hear, but as I said, it's just for gaming, so this isn't really a
problem.

> Creative builds a PCI Express x1 model of the X-Fi line that also has
> hardware mixing, but currently there is only a closed-source 64-bit beta
> driver. It is unlikely that there will ever be an open source driver.

I'm not that "closed source means it's from the dark side of the force"
type, yet I'd prefer an open-source driver (even better: one that is
included in the kernel - no extra work in installing a third-party module
when updating).

> The Asus Xonar D2X is PCI-E x1 too, but is not yet available. A driver
> is currently being written and will probably be part of the 2.6.25
> kernel. (This card does not support hardware mixing, but instead you
> get important features such as 192 kHz support and colorfully
> illuminated jacks.)

That looks like the perfect card for people whos rims are more expensive
than their cars... That card might not solve my
"problem", since I'm not sure, that it isn't caused by the lack of
hardware-mixing.

> [...]

Thanks
Andreas