VOGONS

Common searches


First post, by TeaRex

User metadata
Rank Member
Rank
Member

Just gave myself an early Christmas present, an X-Fi Titanium card, now that the buzz was that Linux support finally works well enough to be usable for the X-Fi series. And it does, except for DOSBox.

Whenever DOSBox is running, sound produced by the card will "screech" horribly. It's like the signal is clipping very badly. And it doesn't matter whether DOSBox itself is making the sound or another program, such as a music player, running at the same time (even while DOSBox is NOT making any sound of its own, just sitting at the prompt). Only sound that isn't actually being produced by the card - such as stuff coming in from the line-in jack - is not affected.

I tried turning down all kinds of volume level sliders (from inside DOSBox with the MIXER command, from alsamixer, and from the Ubuntu 10.10 "Sound" preferences) but nothing helped. It got less loud but was still clipping, or sounding like it. I also tried different frequencies inside the DOSBox configuration (in all the places where you can set them), to no avail.

The problem does not happen in Windows 7 on the same machine, nor did it happen with the onboard sound chip. So I suspect a bug in the Linux X-Fi drivers or in alsa or pulseaudio - but still I'd like to ask whether this is a known problem and whether a workaround is known.

This machine is a ca. 3.15 GHz Core2Quad with 8 GB of RAM, Ubuntu 10.10 "Maverick", X-Fi Titanium PCI-Express card, Nvidia GTX 260 Graphics with fairly new Nvidia Linux driver version 260.19.06. DOSBox is newest SVN. Config file is attached.

Attachments

  • Filename
    dosbox.conf
    File size
    10.95 KiB
    Downloads
    197 downloads
    File license
    Fair use/fair dealing exception

tearex

Reply 1 of 5, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

The drivers for Linux, at least for my card (X-Fi Titanium Fatality Championship) had a slight mistake in the drivers for PCI-E cards...fixing that might help, the mistake lies in ctdrv.h.
The line #define PCI_SUBSYS_CREATIVE_SB0880 0x0041 is wrong (in the last official drivers I tried, some 2008 release)
You need to lspci -v and look for:
Subsystem: Creative Labs Device 004x
Where the x is a number, usually 2 or 3 instead of 1
And change the line above accordingly, it might help you...or it might not.

Reply 2 of 5, by TeaRex

User metadata
Rank Member
Rank
Member

Thank you bloodbat... do I understand you right that you can run DOSBox under Linux with the X-Fi *without* getting sound distortion?

It seems like the issue you described in your post is fixed in the in-kernel X-Fi driver by now. 0x0041, 0x0042 and 0x0043 are all listed as PCI_SUBDEVICE_ID_CREATIVE_SB08801, ...08802, ...08803 in include/linux/pci_ids.h, as ctdrv.h doesn't exist any more.

News about the sound issue itself: It's obviously not just clipping - it's also a sort of delayed, clipped "echo" coming about 0.5 to 1 seconds after the sound that's supposed to play. For example if you play a short "ding" you will hear "slightly screechy ding - short pause - slightly ding-like screech".

tearex

Reply 3 of 5, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

I haven't tried it for a while now, I virtualize my Linux machines now for several reasons, not including the sound distortion 😜
It's good that they fixed that, I didn't know.
I recall there were specific SDL builds for different sound backends in Ubuntu, the one that installs by default is the Pulseaudio one, if the drivers haven't really changed, they use Alsa, you could try changing the pulseaudio one for the libsdl1.2debian-alsa.

*Update* I just tested it with a 10.10 and got no screeching with the default Ubuntu drivers (see screenshots).

Attachments

  • console..png
    Filename
    console..png
    File size
    20.68 KiB
    Views
    3169 views
    File license
    Fair use/fair dealing exception
  • panel.png
    Filename
    panel.png
    File size
    13.26 KiB
    Views
    3169 views
    File license
    Fair use/fair dealing exception
  • eob2.png
    Filename
    eob2.png
    File size
    27.73 KiB
    Views
    3169 views
    File license
    Fair use/fair dealing exception

Reply 4 of 5, by TeaRex

User metadata
Rank Member
Rank
Member

I got it solved, though I don't quite understand how. The problem seems to have been in the 32-bit SDL-1.2 library on this 64-bit Linux (I compile DOSBox in 32 bit for the more compatible dynamic core). Installing SDL-1.2 from source instead of relying on the system-provided library solved the problem, for whatever reason.

tearex