3D Multiseat & wine-1.1.14 - alsa sound problem

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

3D Multiseat & wine-1.1.14 - alsa sound problem

Post by darion »

At june 2008 I wrote article how to build 3D Multiseat - a system with one case and several graphics cards, monitors, keyboards and mouses. Allows multiple (4) users to play games simultaneously with one computer under wine.

I decide to "split" onboard 7.1 sound card to 4 users (in stereo mode). I put .asoundrc files in users home directory:

Code: Select all

pcm.alc883 {
    type dmix
    ipc_key 2048
    slave {
        pcm "hw:0"
        rate 44100
        period_time 0
        period_size 1024
        channels 8
    }
    bindings {
        0 0
        1 1
        2 2
        3 3
        4 4
        5 5
        6 6
        7 7
    }
}
# green - "Front" in Alsa mixer
pcm.green {
    type plug
    slave {
        pcm "alc883"
        channels 8
    }
    ttable.0.0 1
    ttable.1.1 1
}
# gray - "Surround" in Alsa mixer
pcm.gray {
    type plug
    slave {
        pcm "alc883"
        channels 8
    }
    ttable.0.2 1
    ttable.1.3 1
}
# yelow - "Center" in Alsa mixer (mono?)
pcm.yelow {
    type plug
    slave {
        pcm "alc883"
        channels 8
    }
    ttable.0.4 1
    ttable.1.5 1
}
# black - Side in alsa mixer
pcm.black {
    type plug
    slave {
        pcm "alc883"
        channels 8
    }
    ttable.0.6 1
    ttable.1.7 1
}

pcm.!default {
    type plug
    slave {
        pcm "green" 
        channels 8
    }
}
I change only pcm "green" in pcm.!default section to "gray", "yellow", "black" to change output. And sound work on all sits separetely. I test it with mplayer, totem, etc and with wine 1.1.8

But with wine-1.1.14 sound split not working.

Code: Select all

err:dsound:DSOUND_MixOne Fatal error. Under/Overflow? primary_done=12160, mixpos=85888/183272 (39654/84616), primary_mixpos=1584, writepos=1712, mixlen=8192
Bug can be reproduced with 7.1 output card. If you copy .asoundrc file to home directory and start wine. Without .asoundrc sound works, but I need split output.
http://www.automation.dn.ua/linux/3d-multiseat_en.html
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

wine-1.1.15 has the same bug with splitted alsa sound. Can anyone help ?
All other applications work ok (mplayer, totem, gaim...).
Thunderbird
Level 5
Level 5
Posts: 336
Joined: Mon Nov 24, 2008 8:10 am

Post by Thunderbird »

There is not enough cpu time to handle all audio in time for each user that's what causes the underruns. A plain ac97 card already is crap for wine and splitting it to four users is really very bad and really expect this type of issues. (ac97 cards are roughly software based audio cards)
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

No, I don't think so. I test only one wine instance on one sit. It's not working. All others application work on all sits simultaneously.
And I test wine-1.1.8 - thear is no problem to split sound on this version on all 4 sits. So this might be regression bug.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

darion wrote:No, I don't think so. I test only one wine instance on one sit. It's not working. All others application work on all sits simultaneously.
And I test wine-1.1.8 - thear is no problem to split sound on this version on all 4 sits. So this might be regression bug.
Did you disabled, killed, removed pulseaudio?
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

3D Multiseat is based on Debian 4 and I don't have pulseaudio installed.
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

I rebuild all wine versions from 1.1.8 to 1.1.15
1.1.8, 1.1.9, 1.1.10, 1.1.11 - works good with split output.
1.1.12, 1.1.13, 1.1.14, 1.1.15 - don't work with split output.

So this is regression bug first appears in wine-1.1.12 - very regression buggy version. But this sound bug not resolved yet even in 1.1.15
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

I try to reduce period_size to 256 instead 1024. Sound split now working. But wine says

Code: Select all

err:wave:wodPlayer_WriteMaxFrags Error in writing wavehdr. Reason: Resource temporarily unavailable
And sound has some distortion.

Ok, at least it working now.
James McKenzie

3D Multiseat & wine-1.1.14 - alsa sound problem

Post by James McKenzie »

darion wrote:
I rebuild all wine versions from 1.1.8 to 1.1.15
1.1.8, 1.1.9, 1.1.10, 1.1.11 - works good with split output.
1.1.12, 1.1.13, 1.1.14, 1.1.15 - don't work with split output.

So this is regression bug first appears in wine-1.1.12 - very regression buggy version. But this sound bug not resolved yet even in 1.1.15
Looks like it is time for a regression test to discover which code fix
or implementation broke spit output on your system.

James McKenzie
darion
Level 1
Level 1
Posts: 9
Joined: Wed Aug 13, 2008 12:10 am

Post by darion »

Yes. How can I do it ? Maybe I should analize code from diff patch from version 1.1.11 to 1.1.12 ?
austin987
Wine Developer
Wine Developer
Posts: 2383
Joined: Fri Feb 22, 2008 8:19 pm

3D Multiseat & wine-1.1.14 - alsa sound problem

Post by austin987 »

On Mon, Feb 16, 2009 at 11:45 AM, darion <[email protected]> wrote:
Yes. How can I do it ? Maybe I should analize code from diff patch from version 1.1.11 to 1.1.12 ?
http://wiki.winehq.org/RegressionTesting

--
-Austin
Locked