Вопрос или проблема
Первое: виртуальный звук через RDP (Удаленное Подключение к Рабочему Столу), т.е. NoMachine работает великолепно, только внутренние динамики и наушники не издают звука. Драйверы звука (sound open firmware установлены из источника github v2.2 (до последней v2.12)). Звуковая карта – intel snd_hda_intel.
Я следовал нескольким ссылкам, найденным в сети, касающимся Linux Mint или Ubuntu 22, которые всегда похожи на:
- установить ALSA
- переустановить звуковую систему и перезапустить alsa
- (пере)установить pipewire
- установить и настроить hdajackretask (это, на мой взгляд, наименее перспективный способ)
включая перезапуск alsa,
# dmesg | grep snd
[ 659.315312] snd_hda_intel 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе PCI 0x040100
[ 659.315388] snd_hda_intel 0000:00:1f.3: Цифровые микрофоны найдены на платформе Skylake+, используется драйвер SOF
[ 659.678692] snd_hda_codec_realtek ehdaudio0D0: автоконфигурация для ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 659.678695] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 659.678697] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 659.678698] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 659.678699] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 659.678699] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
Получение информации о системе (последние две строки аудио):
# inxi -SMA
System:
Host: HP-ENVY-Laptop-13-aq1176ng Kernel: 6.8.0-52-generic arch: x86_64
bits: 64
Desktop: Cinnamon v: 6.4.6 Distro: Linux Mint 22.1 Xia
Machine:
Type: Laptop System: HP product: HP ENVY Laptop 13-aq1xxx
v: Type1ProductConfigId serial: 8CG0165VNF
Mobo: HP model: 86AE v: 83.18 serial: PJEKT1DHCDM061 UEFI: Insyde v: F.22
date: 11/24/2023
Audio:
Device-1: Intel Comet Lake PCH-LP cAVS driver: sof-audio-pci-intel-cnl
API: ALSA v: k6.8.0-52-generic status: kernel-api
Журнал относительно нахождений ‘snd’ во время загрузки выглядит нормально для меня:
$ journalctl -b -x | grep -i snd
Oct 17 19:15:17 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_intel 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе PCI 0x040100
Oct 17 19:15:17 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_intel 0000:00:1f.3: Цифровые микрофоны найдены на платформе Skylake+, используется драйвер SOF
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: автоконфигурация для ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: inputs:
Feb 20 00:05:30 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_intel 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе PCI 0x040100
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_intel 0000:00:1f.3: Цифровые микрофоны найдены на платформе Skylake+, используется драйвер SOF
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: автоконфигурация для ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: inputs:
Feb 20 01:17:31 HP-ENVY-Laptop-13-aq1176ng kernel: snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
Пока результатов нет. Единственное, что работает – если подключиться через NoMachine, звук передается на удаленный компьютер.
Так что я считаю, что звук производится, но где-то между слоями Абстракции ОС и железом есть проблема. Прошу вас о ваших идеях или решениях (деревья)!
[ИЗМЕНЕНИЕ]
aplay -l вывод
# aplay -l
**** Список аппаратных устройств ВОСПРОИЗВЕДЕНИЯ ****
карта 0: sofhdadsp [sof-hda-dsp], устройство 0: HDA Analog (*) []
Подустройства: 0/1
Подустройство #0: подустройство #0
карта 0: sofhdadsp [sof-hda-dsp], устройство 3: HDMI1 (*) []
Подустройства: 1/1
Подустройство #0: подустройство #0
карта 0: sofhdadsp [sof-hda-dsp], устройство 4: HDMI2 (*) []
Подустройства: 1/1
Подустройство #0: подустройство #0
карта 0: sofhdadsp [sof-hda-dsp], устройство 5: HDMI3 (*) []
Подустройства: 1/1
Подустройство #0: подустройство #0
lspci вывод:
# lspci
00:00.0 Host bridge: Intel Corporation Comet Lake-U v1 4c Host Bridge/DRAM Controller (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Comet Lake Thermal Subsytem
00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH-LP Shared SRAM
00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi
00:14.5 SD Host controller: Intel Corporation Comet Lake PCH-LP SCS3
00:15.0 Serial bus controller: Intel Corporation Serial IO I2C Host Controller
00:15.1 Serial bus controller: Intel Corporation Comet Lake Serial IO I2C Host Controller
00:16.0 Communication controller: Intel Corporation Comet Lake Management Engine Interface
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode]
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #5 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #13 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller
00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller
02:00.0 3D controller: NVIDIA Corporation GP108BM [GeForce MX250] (rev a1)
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal]
выводdmesg|grep audio
# dmesg |grep audio
[ 15.060429] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе PCI 0x040100
[ 15.060582] sof-audio-pci-intel-cnl 0000:00:1f.3: Цифровые микрофоны найдены на платформе Skylake+, используется драйвер SOF
[ 15.060596] sof-audio-pci-intel-cnl 0000:00:1f.3: включение устройства (0000 -> 0002)
[ 15.060801] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе 0x040100
[ 15.060876] sof-audio-pci-intel-cnl 0000:00:1f.3: привязан 0000:00:02.0 (операции i915_audio_component_bind_ops [i915])
[ 15.067813] sof-audio-pci-intel-cnl 0000:00:1f.3: используется режим прерывания msi
[ 15.108086] sof-audio-pci-intel-cnl 0000:00:1f.3: найдены кодеки hda, маска 5
[ 15.108092] sof-audio-pci-intel-cnl 0000:00:1f.3: используется драйвер машины HDA skl_hda_dsp_generic
[ 15.108097] sof-audio-pci-intel-cnl 0000:00:1f.3: DMIC'ы обнаружены в таблицах NHLT: 2
[ 15.113689] sof-audio-pci-intel-cnl 0000:00:1f.3: Пути/файлы микропрограмм для типа IPC 0:
[ 15.113694] sof-audio-pci-intel-cnl 0000:00:1f.3: Файл микропрограммы: intel/sof/sof-cml.ri
[ 15.113697] sof-audio-pci-intel-cnl 0000:00:1f.3: Файл топологии: intel/sof-tplg/sof-hda-generic-2ch.tplg
[ 15.116471] sof-audio-pci-intel-cnl 0000:00:1f.3: Информация микропрограммы: версия 2:2:0-57864
[ 15.116474] sof-audio-pci-intel-cnl 0000:00:1f.3: Микропрограмма: ABI 3:22:1 Ядро ABI 3:23:0
[ 15.116481] sof-audio-pci-intel-cnl 0000:00:1f.3: неизвестный заголовок sof_ext_man тип 3 размер 0x30
[ 15.216153] sof-audio-pci-intel-cnl 0000:00:1f.3: Информация микропрограммы: версия 2:2:0-57864
[ 15.216160] sof-audio-pci-intel-cnl 0000:00:1f.3: Микропрограмма: ABI 3:22:1 Ядро ABI 3:23:0
[ 15.236595] sof-audio-pci-intel-cnl 0000:00:1f.3: Топология: ABI 3:22:1 Ядро ABI 3:23:0
[ 15.257684] snd_hda_codec_realtek ehdaudio0D0: автоконфигурация для ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 15.257692] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 15.257695] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 15.257697] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 15.257699] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 15.257701] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
[ 4302.743485] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе PCI 0x040100
[ 4302.743565] sof-audio-pci-intel-cnl 0000:00:1f.3: Цифровые микрофоны найдены на платформе Skylake+, используется драйвер SOF
[ 4302.744012] sof-audio-pci-intel-cnl 0000:00:1f.3: DSP обнаружен с информацией о классе/подклассе/программинтерфейсе 0x040100
[ 4302.744080] sof-audio-pci-intel-cnl 0000:00:1f.3: привязан 0000:00:02.0 (операции i915_audio_component_bind_ops [i915])
[ 4302.750643] sof-audio-pci-intel-cnl 0000:00:1f.3: используется режим прерывания msi
[ 4302.764441] sof-audio-pci-intel-cnl 0000:00:1f.3: найдены кодеки hda, маска 5
[ 4302.764450] sof-audio-pci-intel-cnl 0000:00:1f.3: используется драйвер машины HDA skl_hda_dsp_generic
[ 4302.764457] sof-audio-pci-intel-cnl 0000:00:1f.3: DMIC'ы обнаружены в таблицах NHLT: 2
[ 4302.766353] sof-audio-pci-intel-cnl 0000:00:1f.3: Пути/файлы микропрограмм для типа IPC 0:
[ 4302.766357] sof-audio-pci-intel-cnl 0000:00:1f.3: Файл микропрограммы: intel/sof/sof-cml.ri
[ 4302.766358] sof-audio-pci-intel-cnl 0000:00:1f.3: Файл топологии: intel/sof-tplg/sof-hda-generic-2ch.tplg
[ 4302.768019] sof-audio-pci-intel-cnl 0000:00:1f.3: Информация микропрограммы: версия 2:2:0-57864
[ 4302.768022] sof-audio-pci-intel-cnl 0000:00:1f.3: Микропрограмма: ABI 3:22:1 Ядро ABI 3:23:0
[ 4302.768029] sof-audio-pci-intel-cnl 0000:00:1f.3: неизвестный заголовок sof_ext_man тип 3 размер 0x30
[ 4302.880559] sof-audio-pci-intel-cnl 0000:00:1f.3: Информация микропрограммы: версия 2:2:0-57864
[ 4302.880569] sof-audio-pci-intel-cnl 0000:00:1f.3: Микропрограмма: ABI 3:22:1 Ядро ABI 3:23:0
[ 4302.881182] sof-audio-pci-intel-cnl 0000:00:1f.3: Топология: ABI 3:22:1 Ядро ABI 3:23:0
[ 4302.897218] snd_hda_codec_realtek ehdaudio0D0: автоконфигурация для ALC285: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 4302.897226] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 4302.897229] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 4302.897232] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 4302.897233] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 4302.897235] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
Ответ или решение
Проблема с выводом звука на ноутбуке HP Envy 13 aq1176ng под управлением Linux Mint 22 представляет собой довольно распространенную ситуацию, учитывая разнообразие аппаратных конфигураций и версии программного обеспечения. В случае, описанном в вопросе, звук передается по RDP (через NoMachine), но не воспроизводится через встроенные динамики или наушники. Рассмотрим теоретическое объяснение, пример и применение для решения этой проблемы.
Теория
-
Звуковая подсистема в Linux
Звуковая подсистема в Linux использует несколько слоев программного обеспечения для управления звуком: ALSA (Advanced Linux Sound Architecture) и PulseAudio (или в некоторых случаях PipeWire). ALSA работает на уровне ядра, предоставляя низкоуровневый доступ к звуковому оборудованию, тогда как PulseAudio является пользовательским слоем, управляющим маршрутизацией и микшированием звуковых потоков.
-
SOF (Sound Open Firmware)
Sound Open Firmware – это проект с открытым исходным кодом, который обеспечивает микропрограммное обеспечение для звуковых процессоров в современных архитектурах Intel, таких как кометные озера и другие. SOF может использоваться с драйверами ALSA и требует тщательно настроенных конфигурационных файлов для правильного функционирования.
-
Аппаратные особенности
Ноутбук HP Envy 13 использует звуковую карту Intel с драйвером
snd_hda_intel
и кодеком Realtek ALC285. Вам необходимо удостовериться, что все аппаратные элементы правильно обнаруживаются и конфигурируются соответствующими драйверами и прошивками.
Пример
В аналогичной ситуации с ноутбуком, использующим систему на базе Intel с поддержкой SOF, проблемы звука могут быть связаны с неправильной конфигурацией драйверов или прошивок SOF. Типичные шаги для устранения проблемы состоят в проверке совместимости драйверов и прошивок, правильной настройке PulseAudio или PipeWire и, возможно, изменении конфигурационных файлов для ALSA.
Применение
-
Обновление и проверка драйверов
- Убедитесь, что у вас установлена последняя версия ядра Linux и драйверов для звуковой карты. Иногда обновления содержат необходимые исправления для драйверов, поддерживающих SOF и конкретные аппаратные устройства.
- Для этого в терминале выполните:
sudo apt update sudo apt upgrade
-
Проверка конфигурации SOF
- Удостоверьтесь, что установлена правильная версия прошивки SOF, соответствующая вашей версии ядра. Запустите команду, чтобы проверить файлы прошивки:
ls /lib/firmware/intel/sof
- Если обнаружены проблемы, вы можете попробовать установить или обновить микропрограмму, скачав её с официального репозитория SOF.
- Удостоверьтесь, что установлена правильная версия прошивки SOF, соответствующая вашей версии ядра. Запустите команду, чтобы проверить файлы прошивки:
-
Настройка ALSA и PulseAudio
- Убедитесь, что устройства правильно отображаются в ALSA:
aplay -l
- Если устройства не отображаются правильно, возможно, вам потребуется вручную настроить конфигурационные файлы:
sudo nano /etc/alsa/conf.d/sof-hda-dsp.con
- Также проверьте настройки PulseAudio:
- Запустите PulseAudio в режиме отладки:
pulseaudio -k pulseaudio --start --log-level=debug
- Запустите PulseAudio в режиме отладки:
- Убедитесь, что устройства правильно отображаются в ALSA:
-
Использование hdajackretask
- Средство
hdajackretask
позволяет переназначить разъемы аудиооборудования. Иногда, из-за аппаратных особенностей, требуется перенастроить кодек Realtek ALC285:sudo apt install alsa-tools-gui hdajackretask
- Переназначьте разъемы для соответствия динамикам и наушникам.
- Средство
-
Использование PipeWire (вместо PulseAudio)
- PipeWire может решить проблему маршрутизации звука, так как в нем лучше поддерживаются современные звуковые устройства и форматы.
- Установите PipeWire и его зависимости, если еще не установлены:
sudo apt install pipewire pipewire-audio-client-libraries
-
Проверка конфигурации конфигурационных файлов
- Убедитесь, что файлы конфигурации PulseAudio и ALSA настроены правильно. Например,
~/.config/pulse/default.pa
для PulseAudio или~/.asoundrc
для ALSA.
- Убедитесь, что файлы конфигурации PulseAudio и ALSA настроены правильно. Например,
Применяя эти методы, вы сможете диагностировать и, вероятно, решить проблему с отсутствием звука на динамиках и наушниках. В случае, если ни одно из предложенных решений не приводит к успеху, возможно, стоит обратиться за поддержкой в форум сообщества Linux Mint или Ubuntu, предоставив все диагностические данные, полученные на вышеописанных шагах.