Po nastavení nového počítače s Ubuntu 18.04 jsem si všiml, že nevychází žádný zvuk (z reproduktorů, sluchátek nebo HDMI). V nastavení zvuku (z nastavení Gnome) jsem si všiml, že existuje pouze jeden fiktivní výstup jako zařízení pro výstup zvuku.
První věc, kterou jsem udělal, bylo hledat řešení online, jako je například toto, ale žádné nefungovalo (ačkoli toto řešení může fungovat pro vás, zkuste to). Pak jsem si vzpomněl, že se mi před časem podařilo opravit zvuk na mém starém desktopu (který byl upgradován na novější verze Ubuntu místo nové instalace), takže jsem zkusil toto řešení a … fungovalo!
Zde je to, co jsem udělal, aby zvuk fungoval v Ubuntu 18.04 – doufejme, že to bude fungovat i pro některé z vás.
Měl bych také zmínit, že můj počítač podporuje snd_hda_intel
Modul jádra (kodek Realtek ALC892) . Níže vysvětluji, jak si můžete ověřit, že to děláte (krok 0).
Tuto opravu jsem musel použít pouze v Ubuntu, ale předpokládám, že bude fungovat i v jiných distribucích Linuxu. Přinejmenším by to mělo vyřešit podobné problémy v Linux Mintu, Elementary OS a pravděpodobně také v Debianu (ale mělo by to platit pro mnoho dalších distribucí Linuxu, i když to nemohu otestovat).
Aktualizace bez zvuku po odpojení kabelu HDMI. V případě, že jste připojili a poté odpojili kabel HDMI a na ploše Ubuntu již není žádný zvuk, řešení je jednoduché. Připojte zařízení HDMI zpět a měli byste být schopni přepnout zpět na integrované / externí reproduktory, poté můžete kabel HDMI znovu odpojit.
[Edit:březen 2020] Dochází k regresi jádra (v Linuxu 5.3.0-41 a pravděpodobně novějších verzích na Ubuntu 19.10), která způsobuje nový problém s „fiktivním výstupem“ na Ubuntu 19.10. Tento článek jsem aktualizoval opravou tohoto problému – najdete ji ve spodní části článku (s názvem # 2 Fix PCI / interní zvuková karta nebyla rozpoznána (fiktivní výstup) s jádrem Ubuntu 5.3.0-41 a novější v Ubuntu 19.10 ). Edit # 2:Zdá se, že k tomu dochází také v Ubuntu 18.04 a možná i Ubuntu 20.04.
[[Anoter edit]]První řešení, které byste měli vyzkoušet, je jednoduše restartovat PulseAudio pomocí tohoto příkazu:
pulseaudio -k
To opraví tón v mnoha situacích. Pokud se například vaše sluchátka nezobrazují v nastavení zvuku systému.
# 1 oprava problému se zvukem v Ubuntu (fiktivní problém)
0. Tato oprava Ubuntu bude fungovat bez zvuku, pokud má váš počítač snd_hda_intel
Modul jádra. Než se tedy pokusíte použít tuto opravu, zkontrolujte, zda snd_hda_intel
Je použit modul jádra. Chcete-li to provést, můžete spustit:
lsmod | grep snd_hda_intel
Který by měl zobrazovat alespoň jeden snd_hda_intel
Vstup. Zde je výstup z mého počítače:
$ lsmod | grep snd_hda_intel
snd_hda_intel 40960 8
snd_hda_codec 126976 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_pcm 98304 4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd 81920 27 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm
Můžete také:
lspci -nnk | grep -A2 Audio
To by mělo ukázat zvuková zařízení spolu s použitým modulem / ovladačem jádra. Toto je výstup mého systému:
$ lspci -nnk | grep -A2 Audio
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Subsystem: Dell 6 Series/C200 Series Chipset Family High Definition Audio Controller [1028:04a7]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
1. Až to dostanete snd_hda_intel
ve výstupu výše uvedených příkazů a v Ubuntu nezískáte žádný zvuk (a pouze fiktivní výstup), zde se to můžete pokusit opravit. Musíte přidat options snd-hda-intel model=generic
Na konci /etc/modprobe.d/alsa-base.conf
Soubor. V tomto souboru nic jiného neměňte!
Můžete přidat options snd-hda-intel model=generic
Na konci /etc/modprobe.d/alsa-base.conf
spuštěním tohoto příkazu:
echo "options snd-hda-intel model=generic" | sudo tee -a /etc/modprobe.d/alsa-base.conf
Tento příkaz spusťte pouze jednou, protože tento řádek přidá pokaždé, když jej spustíte! Pokud jej chcete změnit, otevřete jej /etc/modprobe.d/alsa-base.conf
jako root pomocí textového editoru.
2. Poté restartujte systém. Doufejme, že váš zvuk bude nyní fungovat v Ubuntu a nezískáte jen falešné výstupní zařízení v System Settings > Sound
.
Pokud stále neslyšíte žádný zvuk a stále vidíte pouze fiktivní výstup v Předvolbách systému, můžete zkusit model
na auto
Místo generic
, takže upravte /etc/modprobe.d/alsa-base.conf
Soubor pomocí textového editoru (jako root) a změňte jej. Zde naleznete seznam dalších modelů, které můžete vyzkoušet v závislosti na hardwaru vašeho počítače.
# 2 Oprava PCI / interní zvuková karta nebyla rozpoznána (fiktivní výstup) s jádrem Ubuntu 5.3.0-41 a -42 v Ubuntu 19.10 / 18.04
V jádrech 5.3.0-41 a -42 došlo k regresi (díky JustNizovi za upozornění), což způsobuje nový problém s „fiktivním výstupem“ na Ubuntu 19.10 a 18.04. Vysvětlení této chyby jsou k dispozici v této zprávě o chybě, takže nebudu zacházet do podrobností a přímo vám říkat, jak ji opravit.
[[Edit] Zdá se, že se to může stát také některým uživatelům Ubuntu 20.04.
Řešení této „fiktivní výstupní“ regrese je:
1. Upravte /etc/modprobe.d/alsa-base.conf
jako root a přidejte options snd-hda-intel dmic_detect=0
na konci tohoto souboru. Můžete to udělat jediným příkazem pomocí (tento příkaz spusťte pouze jednou):
echo "options snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf
2. Upravte /etc/modprobe.d/blacklist.conf
jako root a přidejte blacklist snd_soc_skl
na konci souboru. Můžete to udělat jediným příkazem pomocí (tento příkaz spusťte pouze jednou):
echo "blacklist snd_soc_skl" | sudo tee -a /etc/modprobe.d/blacklist.conf
3. Po provedení těchto změn restartujte systém.
Vývojáři pracují na nápravě. Opravená verze jádra bude pravděpodobně 5.3.0-43. Pokud k tomu dojde, vraťte tyto změny zpět.