
Я не слышу звука через динамики моего ноутбука Lenovo Legion 7i, который, как сообщает alsamixer, используетRealtek ALC287.
Я пробовал различные дистрибутивы Linux и комбинации ядер, включая Ubuntu 16.04, 18.04 и 20.04, как с ядрами по умолчанию, так и с основными ядрами (5.7.x и 5.8.x), а также Manjaro с ядрами 5.6.x, 5.7.x и 5.8.x.
В каждом случае я отключил Auto-Mute в alsamixer и выставил все уровни громкости на максимум. Во всех случаях я не слышу звуков из динамиков (запуск теста динамиков, воспроизведение музыки и т. д.). Яявляюсьвозможность вывода звука через наушники и HDMI (хотя я считаю, что HDMI подключается через другую звуковую карту).
Кроме того, я вижу, что происходит какая-то звуковая активность, когда смотрю на pavucontrol (красновато-оранжевая полоса, указывающая на воспроизведение звука), но на самом деле звук из динамиков не воспроизводится.
Мои результаты alsa-info.sh (из Manjaro от 5.6.15) приведены здесь (не обращайте внимания, ниже более новые):
http://alsa-project.org/db/?f=ba86fe76a9d9cf1cced56600edf82eb206a36a72
Я с радостью запущу скрипт еще раз (или любой другой инструмент) из другой комбинации дистрибутива/ядра, пожалуйста, просто дайте мне знать, что будет полезно.
Я уже подал(а)отчет об ошибке с той же информацией, но, к сожалению, ответы поступили только от других людей с той же проблемой.
Что я могу сделать, чтобы звук заработал?У меня есть опыт разработки ПО, но не драйверов или пространства ядра. Готов учиться и пробовать все, что угодно на этом этапе.
ОБНОВЛЯТЬ
alsa-info.sh с использованием более нового ядра:
http://alsa-project.org/db/?f=4272343a3590cc08f192f98113dedfc0418afe52
решение1
Частичный ответ:
В предоставленной вами информации есть раздел о кодеке, в котором говорится, что данный кодек не распознается:
Codec: Realtek Generic
...
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa3813
Revision Id: 0x100002
В моей системе первая строка гласит:
Codec: Realtek ALC892
Код патчей, работающих с различными кодеками, находится в /sound/pci/hda/patch_realtek.c
, по крайней мере для относительно старого ядра, которое я сейчас использую.
Поэтому, чтобы звук заработал, вам нужно отладить неполадки кодека, затем написать патч и включить его в код, чтобы все остальные, у кого есть такое же оборудование, могли заставить его работать.
Информацию о кодеке можно выгрузить с помощью cat /proc/asound/card*/codec\#*
. Прочитайте, как работает кодек Intel HDA, и отладьте его.
Я рекомендую отключить Pulseaudio. hda-verb
из alsa-tools
пакета (по крайней мере, так он называется в Debian), это также может помочь.
Вы можете поискать в Google спецификации старых кодеков, чтобы понять, как они работают.