VOGONS


First post, by BasketCase

User metadata
Rank Newbie
Rank
Newbie

In a Linux system with more than one sound card is it possible to have DOSBox run on the second card? This could be done through alsa (hw1,0) or oss (/dev/dsp1).

Reply 2 of 4, by BasketCase

User metadata
Rank Newbie
Rank
Newbie

I did some quick reading and I found some SDL variables that look right. I tried setting:
SDL_AUDIODRIVER=alsa AUDIODEV=hw:1,0
and
SDL_AUDIODRIVER=dsp AUDIODEV=/dev/dsp1
but neither worked.

However both settings prevented sound output completely and if I spelled out dsp1 or hw:0,0 DOSBox worked as normal so I think this is the right track.

Reply 3 of 4, by BasketCase

User metadata
Rank Newbie
Rank
Newbie

oh geez,
I should have checked my logs. My syslogd was eating 80% of my CPU logging repeated kernel bug messages:

BUG: stream = 0, pos = 0xfffffffa, buffer size = 0x400, period size = 0x200
BUG? (cpcm->pcm_channel)
Pid: 27935, comm: dosbox Not tainted 2.6.26-gentoo-r4 #1
[<fa8fb774>] snd_cs46xx_playback_direct_pointer+0x44/0x50 [snd_cs46xx]
[<c0416457>] snd_pcm_update_hw_ptr+0x37/0x200
[<c011e870>] __dequeue_entity+0x50/0xc0
[<c0416d1f>] snd_pcm_lib_write1+0x21f/0x2c0
[<c011fdc9>] hrtick_set+0x69/0x140
[<c04b289e>] schedule+0x24e/0x730
[<c02c86d4>] rb_insert_color+0x64/0xb0
[<c0416f2b>] snd_pcm_lib_write+0x6b/0x100
[<c0417f90>] snd_pcm_lib_write_transfer+0x0/0xd0
[<c04153a5>] snd_pcm_playback_ioctl1+0xf5/0x400
[<c013a320>] lock_hrtimer_base+0x20/0x50
[<c013a3dc>] hrtimer_try_to_cancel+0x3c/0x80
[<c0415773>] snd_pcm_playback_ioctl+0x43/0x50
[<c0415730>] snd_pcm_playback_ioctl+0x0/0x50
[<c017aa6b>] vfs_ioctl+0x2b/0x90
[<c017ab2c>] do_vfs_ioctl+0x5c/0x290
[<c017ad9d>] sys_ioctl+0x3d/0x70
[<c0102f6d>] sysenter_past_esp+0x6a/0x91

Reply 4 of 4, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well I see no dosbox there actually.
DOSBox uses SDL to play the audio. All interfaces dosbox has to your soundcard (aside from midi) go through SDL.

Water flows down the stream
How to ask questions the smart way!