# Sonido HDMI

## thor3121

Hola que tal?, me ha surgido un problemilla en una instalación nueva de gentoo.

He usado genkernel al compilar el núcleo. así que imagino que tendrá soporte compilado para hdmi

El problema en cuestión, es que: puedo transmitir imagen mediante el puerto HDMI de la tarjeta gráfica, pero no puedo transmitir sonido.

 He reinstalado "alsa-utils" además de instalar los drivers de nvidia propietarios, por si fuese algún problema con los de nouveau.

 Y nada.

En alsamixer, he cambiado a la controladora de la gráfica, en este caso nvidia y tampoco funciona.

He estado buscando por los foros problemas por el estilo al mio y he encontrado este hilo entre otros parecidos:

https://forums.gentoo.org/viewtopic-t-950066-start-0.html

Tanto en este, como en otros que he leído, así como en la wiki de alsa, se hace referencia al archivo /etc/asound.conf. El cual no consigo encontrar en mi ordenador, i por tanto lo he creado con la configuración de la gráfica para probar.

Con idéntico resultado

ya no se por donde tirar, asi que me he decidido a preguntar-os.

Os pongo los datos de mi maquina:

uname -a

```
gentoo ~ # uname -a 

Linux gentoo 3.10.7-gentoo-r1 #1 SMP Sun Sep 29 17:33:36 CEST 2013 x86_64 AMD Phenom(tm) II X4 850 Processor AuthenticAMD GNU/Linux

```

lspci | grep --color -i audio

```
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)

05:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)

```

alsa-info

http://www.alsa-project.org/db/?f=12549829957dab69a4ec24f722fb1fee263c482c

aver si alguien me echa un cable de por donde continuar. gracias.Last edited by thor3121 on Sun Oct 13, 2013 11:57 am; edited 1 time in total

----------

## esteban_conde

 *Quote:*   

> He usado genkernel al compilar el núcleo

 

Averigua si tienes soporte en el kernel, para saberlo no hace falta que compiles, entra el directorio donde hayas instalado el kernel (emerge lo descomprime en /usr/src/NombreKernel por defecto) y ejecuta make menuconfig te saldrá la configuracion de la ultima vez que compilaste, salta a la seccion Device Drivers y busca HDMI.

----------

## thor3121

Hola esteban, he estado mirando en la coniguración del kernel, y si está activado el soporte para hdmi dentro de intel HD audio

```
.config - Linux/x86 3.10.7-gentoo-r1 Kernel Configuration

 > Device Drivers > Sound card support > Advanced Linux Sound Architecture > PCI sound devices > Intel HD Audio 

                    --- Intel HD Audio                                                                            

                   (64)  Pre-allocated buffer size for HD-audio driver                                         

                   [*]   Build hwdep interface for HD-audio driver                                              

                   [ ]     Allow dynamic codec reconfiguration                                                 

                   [ ]   Support digital beep via input layer                                                  

                   [ ]   Support jack plugging notification via input layer                                     

                   [ ]   Support initialization patch loading for HD-audio                                     

                   [*]   Build Realtek HD-audio codec support                                                  

                   [*]   Build Analog Device HD-audio codec support                                             

                   [*]   Build IDT/Sigmatel HD-audio codec support                                             

                   [*]   Build VIA HD-audio codec support                                                       

                   [*]   Build HDMI/DisplayPort HD-audio codec support                                         

                   [*]   Build Cirrus Logic codec support                                                        

                   [*]   Build Conexant HD-audio codec support                                                 

                   [*]   Build Creative CA0110-IBG codec support    
```

----------

## thor3121

Hola de nuevo, he seguido buscando y he visto esto:

https://forums.gentoo.org/viewtopic-t-894058-postdays-0-postorder-asc-start-25.html

Mi inglés es mas bien malo, pero creo haber entendido que tiene el mismo problema que yo mas o menos.

he intentado seguir los pasos que le dan a este señor, por si solucionava algo, sobretodo la parte en que modifica el archivo:

```
/etc/modprobe.d/alsa.conf
```

pues la parte del kernel, segun  parece la tengo correcta.

he reiniciado el servicio de alsa y no funciona.

Esto es lo que saca dmesg:

```
NVRM: nvidiafb, or rivatv was loaded and obtained ownership of

NVRM: the NVIDIA device(s).

[   12.287492] NVRM: Try unloading the conflicting kernel module (and/or

NVRM: reconfigure your kernel without the conflicting

NVRM: driver(s)), then try loading the NVIDIA kernel module

NVRM: again.

[   12.287493] NVRM: No NVIDIA graphics adapter probed!

[   12.572829] hda-intel 0000:00:14.2: Codec #1 probe error; disabling it...

[   13.581963] hda-intel 0000:00:14.2: Codec #2 probe error; disabling it...

[   14.591096] hda-intel 0000:00:14.2: Codec #3 probe error; disabling it...

[   14.610829] hda_intel: Disabling MSI

[   14.610830] hda_intel: codec_mask forced to 0xf2

[   17.688433] hda-intel 0000:05:00.1: azx_get_response timeout, switching to polling mode: last cmd=0x400f0000

[   18.707558] hda-intel 0000:05:00.1: Codec #4 probe error; disabling it...

[   19.726683] hda-intel 0000:05:00.1: Codec #5 probe error; disabling it...

[   20.745808] hda-intel 0000:05:00.1: Codec #6 probe error; disabling it...

[   21.764932] hda-intel 0000:05:00.1: Codec #7 probe error; disabling it...

```

Aparte de esto, sigo sin tener claro porque no tengo el archivo:

```
 /.asound.conf
```

O si debería de tenerlo o bien crearlo yo.

gracias

----------

## Stolz

Lo primero que debes hacer es quitar del kernel el driver de framebuffer para nvidia. Según pone en ese mensaje tienes activado  nvidiafb o rivatv y está entrando en conflicto con el driver propietario de Nvidia. Si quieres tener framebuffer con el driver propietario de nvida usa los drivers vesa o uvesa.

Lo segundo Genkernel no hace magia, solo es  una herramienta para automatizar el compilado del kernel. El hecho de usarlo no te compila las opciones adecuadas para tu sistema. Es responsabilidad tuya marcar lo que necesites y desmarcar lo que no. Te va a tocar investigar las opciones que necesitas.

Sobre el audio HDMI, la única opción que necesitas es la que ya tienes marcada: [*]   Build HDMI/DisplayPort HD-audio codec support. Todas las demás dudo que las necesites todas (¿o tal vez tienes instaladas todas esas tarjetas de sonido?).

Lo primero que debes hacer (y esto se aplica a cualquier tarjeta de sonido, no solo a la HDMI) es quitar el silencio (mute) de todos los canales de salida de la tarjeta: alsamixer -> F6 -> HDA NVidia -> quita el 'mute' a todos los canales usando la tecla M.

Si tu tarjeta es como la mía y tiene varias salidas HDMI lo siguiente es localizar el alias de ALSA que corresponde a la salida en la que tienes conectados los altavoces del sistema HDMI. En mi caso hice algo así:

```
aplay -L | grep hdmi

hdmi:CARD=NVidia,DEV=0

hdmi:CARD=NVidia,DEV=1

hdmi:CARD=NVidia,DEV=2

hdmi:CARD=NVidia,DEV=3

....
```

Prueba cada de uno en uno con el comando:

```

speaker-test -c 6 -D hdmi:CARD=NVidia,DEV=0

speaker-test -c 6 -D hdmi:CARD=NVidia,DEV=1

....

```

(Tengo un 5.1 por eso he indicado 6 altavoces con -c 6)

En mi caso ha resultado ser hdmi:CARD=NVidia,DEV=1. Para convertirlo al dispositivo por defecto del sistema edita /etc/asound.conf (o ~/.asourdrc si solo lo quieres a nivel de usuario, pero desde luego no /.asound.conf)

```
pcm.!default hdmi:CARD=NVidia,DEV=1
```

Eso es todo lo que tuve que hacer yo. Si con eso no lo consigues igual tu tarjeta se configura de forma distinta, a ver si alguien más te puede ayudar.

----------

