Som distorcido/estalado vindo de quando o arquivo .asoundrc da ALSA usa o tipo hw em vez do tipo plug

Som distorcido/estalado vindo de quando o arquivo .asoundrc da ALSA usa o tipo hw em vez do tipo plug

Tenho o XBMCbuntu instalado em um HTPC rodando Ubuntu 14.04 e Kodi 14.1. Tenho tentado instalar e executar o Steam para poder transmitir jogos do meu PC para jogos. Eu segui os passos deeste guiausando ALSA apenas porque o PulseAudio não me dava nenhum som e os pré e pós-scripts não funcionavam na alternância entre ALSA e PA.

O áudio no Kodi funciona bem quando meu ~/.asoundrc fica assim:

pcm.dsp {
    type plug
    slave.pcm "dmixer"
}

pcm.dsp0 {
    type plug
    slave.pcm "dmixer"
}

pcm.!default {
    type plug
    slave.pcm "dmixer"
}

ctl.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer {
    type dmix
    ipc_key 101
    slave {
        pcm "hw:0,3"
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 48000
    }
    bindings {
        0  0
        1  1
    }
 }

Mas quando o Steam é iniciado a partir do menu, o áudio fica distorcido, estalando e geralmente quebrado, mas há som e é reconhecível. Um pouco de experimentação e erro de tentativa e consegui identificar isso usando

ctl.!default {
    type hw
    card 0
}

me daria o mesmo som quebrado no Kodi. E essa

ctl.!default {
    type plug
    slave.pcm "hdmi:CARD=HDMI,DEV=0"
}

me dá um som adequado. Tentei usar o dispositivo "plug" no dispositivo dmix, mas não obtive nenhum som e pesquisas adicionais confirmaram que não funciona. Como não posso usar dispositivos "plug" em um dispositivo dmix, preciso de uma solução que me permita usar o mesmo dispositivo "plug" no dmixOUde alguma forma, conserte o dispositivo "hw". Abaixo você encontrará meu aplay -l e aplay -L Além disso, estou um pouco confuso sobre a origem de "hdmi:CARD=HDMI,DEV=0", já que não há dispositivo 0 para o cartão 0 listado em aplay -l. Eu vejo isso em aplay -L mas todos os outros PCMs vêm dos dispositivos em aplay -l. Além disso, estou conectado à minha TV e receptor usando HDMI e o dispositivo ALC1150 não funciona com as opções de sistema no Kodi nem em ~/.asoundrc.

$aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1150 Analog [ALC1150 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1150 Digital [ALC1150 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
dsp
dsp0
default
dmixer
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Hardware device with all software conversions
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1150 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Front speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Digital
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample mixing device
dmix:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample mixing device
dsnoop:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample snooping device
dsnoop:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample snooping device
hw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct hardware device without any conversions
hw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct hardware device without any conversions
plughw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Hardware device with all software conversions
plughw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Hardware device with all software conversions

Responder1

Há uma solução possível no relatório de bug abaixo. Basicamente, tudo se resume a adicionar uma opção de módulo e usar um script amixer para ativar/desativar o som do seu dispositivo digital.

No mínimo você deve assinar o bug e indicar que ele afeta você.

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361

informação relacionada