Linux XBMC + Zsnes Sound + Multiple Outputs
#1
Hello guys,

I just wanted to post the solution to a problem I encountered while trying to get ZSNES running with my Rom-Colleciton-Browser.
The problem was that when starting ZSNES out of XBMC I had no sound in ZSNES. So I searched for help and found this amazing guide by TehCrucible: http://forum.xbmc.org/showthread.php?tid=129256.

But after getting this to work with the edited .asoundrc-file sound only worked with HDMI, no longer with analog output.
I started playing around and here is the solution I found:
Code:
pcm.both {
        type route
        slave {
                pcm multi
                channels 6
        }
        ttable.0.0 1.0
        ttable.1.1 1.0
        ttable.0.2 1.0
        ttable.1.3 1.0
        ttable.0.4 1.0
        ttable.1.5 1.0
}

pcm.multi {
        type multi
        slaves.a {
                pcm "hdmi_hw"
                channels 2
        }
        slaves.b {
                pcm "digital_hw"
                channels 2
        }
        slaves.c {
                pcm "analog_hw"
                channels 2
        }
        bindings.0.slave a
        bindings.0.channel 0
        bindings.1.slave a
        bindings.1.channel 1
        bindings.2.slave b
        bindings.2.channel 0
        bindings.3.slave b
        bindings.3.channel 1
        bindings.4.slave c
        bindings.4.channel 0
        bindings.5.slave c
        bindings.5.channel 1
}


pcm.digital_hw {
        type hw
        card 0
        device 1
        channels 2
}

pcm.analog_hw {
        type hw
        card 0
        device 0
        channels 2
}

pcm.hdmi_hw {
    type hw
    card 0
    device 3
    channels 2
}

pcm.dmixer {
   type dmix
   ipc_key 1024
   ipc_key_add_uid false
   ipc_perm 0660
   slave {
      pcm "hw:0,3"
      rate 48000
      channels 2
      format S32_LE
      period_time 0
      period_size 1024
      buffer_time 0
      buffer_size 4096
   }
}

pcm.!default {
   type plug
   slave {
    pcm "dmixer"
    }
}
Make a backup of your existing .asoundrc (in /home/username), replace the .asoundrc with the code posted before and restart the machine to try it out.
In XBMC you have to set both audio settings to "plug:both" in order to be able to use all outputs in XBMC. When starting Zsnes it will use the default output which is the one TehCrucible called "dmixer".
Just make sure that your hardware is adressed correctly in the pcm.dmixer-section (in my case it is "hw:0,3").

This means: Zsnes uses HDMI with the correct settings in order to play sound and still XBMC can use analogue, digital and HDMI outputs.
As you see, this is just a small addition to the guide mentioned before and maybe it can be added to it to show all solutions in one place.

Thanks again to TehCrucible.
Reply

Logout Mark Read Team Forum Stats Members Help
Linux XBMC + Zsnes Sound + Multiple Outputs0