Portál AbcLinuxu, 5. května 2025 22:06

Dotaz: nVidia ION a zvuk skrze HDMI

3.6.2014 16:29 JanM | skóre: 28
nVidia ION a zvuk skrze HDMI
Přečteno: 417×
Odpovědět | Admin
Zdravím,

po upgradu Xubuntu 12.04 na 14.04 jsem se rozloučil se zvukem skrze HDMI a zatím se mi to podařilo rozchodit jen částečně a (z mého) pohledu nelogicky - viz na konci příspěvku.

$ lspci
00:00.0 Host bridge: NVIDIA Corporation MCP79 Host Bridge (rev b1)
00:00.1 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.0 ISA bridge: NVIDIA Corporation MCP79 LPC Bridge (rev b2)
00:03.1 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.2 SMBus: NVIDIA Corporation MCP79 SMBus (rev b1)
00:03.3 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.5 Co-processor: NVIDIA Corporation MCP79 Co-processor (rev b1)
00:04.0 USB controller: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:04.1 USB controller: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:06.0 USB controller: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:06.1 USB controller: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:08.0 Audio device: NVIDIA Corporation MCP79 High Definition Audio (rev b1)
00:09.0 PCI bridge: NVIDIA Corporation MCP79 PCI Bridge (rev b1)
00:0a.0 Ethernet controller: NVIDIA Corporation MCP79 Ethernet (rev b1)
00:0b.0 SATA controller: NVIDIA Corporation MCP79 AHCI Controller (rev b1)
00:0c.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:10.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:15.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:16.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:17.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:18.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
03:00.0 VGA compatible controller: NVIDIA Corporation ION VGA (rev b1)
04:00.0 Network controller: Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express) (rev 01)
Číslování zařízení zůstalo shodné s 12.04:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
# cat /etc/asound.conf
pcm.hdmi_hw {
 type hw
 card 0     #  <-----  Put your card number here
 device 3   #  <-----  Put your device number here
 }

pcm.hdmi_formatted {
 type plug
 slave {
  pcm hdmi_hw
  rate 48000
  channels 2
  }
 }

pcm.hdmi_complete {
 type softvol
 slave.pcm hdmi_formatted
 control.name hdmi_volume
 control.card 0
 }

pcm.!default hdmi_complete

Metoda pokus omyl přinesla ovoce, byť jen nahnilé neb sice funguje
aplay -d hw:0,1 test.wav
, bohužel bez soft mixéru (což chci: je to mythtv box a chci se vyhnout televiznímu ovladači). Při odstranění /etc/asound.conf nefunguje žádná varianta "aplay -d neco:někde,někde zvuk.wav", kde něco je hw, plughw.

Veškeré návody odkazují na směrování zvuku na "hw:0,3" - to však nejde. Proč to funguje skrze hw:0,1 v případě (a právě v tom případě), kdy hw:0,3 je nastaveno v /etc/asound.conf, to tedy moc nechápu.

P.S. Mohu-li soudit, Xubuntu nepoužívá pulse audio, tedy se jedná jen o ALSA.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.6.2014 20:19 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nVidia ION a zvuk skrze HDMI
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nadefinoval sis vlastní default, ten přes aplay nehraje? Tedy aplay -D default nebo jen aplay. Jinak ten parametr je velké -D, malé -d je --duration
3.6.2014 20:51 JanM | skóre: 28
Rozbalit Rozbalit vše Re: nVidia ION a zvuk skrze HDMI
Ano, chyba s přepínačem se vloudila a testovaní zahnala do běhání v kruhu.

Původně aplay bez parametrů též nepřehrával, ale stačilo v alsamixeru (vlastně nějaký xfce4 mixer) aktivovat přepínač IEC958. Poté to s výše uvedenou konfigurací přehrává ok. Jestli byl aktivní i v předchozí konfiguraci v Xubuntu 12.04 to nevím, ale po upgrade to nastaveno nebylo. Na infernetu ohledně toho přepínače v souvislosti s nVidia ION + HDMI též moc zmínek nebylo, přišel jsem na to náhodou.

Nakonec jsem ještě trochu bojoval s MythTV frontendem, neb v nastavení zvuku se oskenují zvuková zařízení a nabídnou se k výběru, ale většina včetně slibného ALSA:sysdefault:nVidia" je pro přímý přístup k hw (tedy bez softvol). Naštěstí se to nechalo přepsat na ALSA:default a vše ok.

Díky za nakopnutí, řešit problémy se zvukem po každém upgrade je opravdu inspirující ;-)
3.6.2014 21:39 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nVidia ION a zvuk skrze HDMI
Nepoužívej v alsích konfigurácích číslo zvukovky (card), které se může kdykoliv změnit, ale její název (viz aplay). V tvém případě je to Nvidia. Pořadí device se nemění, to je natvrdo zadrátované v ovladači.

Do startup skriptů (např. /etc/rc.local) si přidej nastavení všech potřebných ovládacích prvků příkazem amixer (na webu najdeš spoustu ukázek, chce to trošku zkoušení správné syntaxe). Typicky zapnutí Spdif out, nastavení hlasitosti, unmutnutí, atd. Na svém HTPC se mi občas stávalo, že mi nějaký proces jejich nastavení změnil, tak jsem do definice zařízení, které XBMC otevírá, přidal nastavení a zamčení těchto čudlíků. Když XBMC zařízení otevře, ovládací prvky se nastaví na danou hodnotu a zamknou a do ukončení XBMC (uvolnění daného zařízení) s nimi nejde hýbat.
pcm.my51hooked {
        type hooks
        slave.pcm "my51"
        hooks.0 {
                type ctl_elems
                hook_args [
                        {
                                interface MIXER
                                name "Master Playback Switch"
                                lock true
                                value true
                        }
                        {
                                interface MIXER
                                name "Master Playback Volume"
                                lock true
                                value 127
                        }
                        {
                                interface MIXER
                                name "DAC Switch"
                                index 0
                                lock true
                                value true
                        }
                        {
                                interface MIXER
                                name "DAC Switch"
                                index 1
                                lock true
                                value true
                        }
                        {
                                interface MIXER
                                name "DAC Switch"
                                index 2
                                lock true
                                value true
                        }
                        {
                                interface MIXER
                                name "DAC Switch"
                                index 3
                                lock true
                                value true

                         }
                ]
        }
}
Cílem je maximální spolehlivost nastavení, aby to bylo opravdu jako bezúdržbové zařízení.
4.6.2014 09:59 JanM | skóre: 28
Rozbalit Rozbalit vše Re: nVidia ION a zvuk skrze HDMI
Kouknu na to a příště na to sáhnu zase až za dva roky ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.