Вопрос или проблема
Моя установка Arch Linux отказывается воспроизводить звук, несмотря на все мои попытки. Я выполнил команду aplay -l
, и она распознает мои звуковые карты. Вот вывод:
**** Список ЗВУКОВЫХ УСТРОЙСТВ ИГРЫ ****
карта 0: Generic [HD-Audio Generic], устройство 3: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство #0: подустройство #0
карта 0: Generic [HD-Audio Generic], устройство 7: HDMI 1 [HDMI 1]
Подустройства: 1/1
Подустройство #0: подустройство #0
карта 1: Generic_1 [HD-Audio Generic], устройство 0: ALC245 Analog [ALC245 Analog]
Подустройства: 1/1
Подустройство #0: подустройство #0
Вот вывод команды lspci -k
:
Использование: lspci [<переключатели>]
Основные режимы отображения:
-mm Производить вывод, читаемый машиной (один -m для устаревшего формата)
-t Показать дерево шины
Опции отображения:
-v Быть многословным (-vv или -vvv для более высокой многословности)
-k Показать драйверы ядра, работающие с каждым устройством
-x Показать шестнадцатеричный дамп стандартной части конфигурационного пространства
-xxx Показать шестнадцатеричный дамп всего конфигурационного пространства (опасно; только root)
-xxxx Показать шестнадцатеричный дамп 4096-байтного расширенного конфигурационного пространства (только root)
-b Вид, ориентированный на шину (адреса и IRQ, как видно с шины)
-D Всегда показывать номера доменов
-P Отобразить путь моста в дополнение к номеру шины и устройства
-PP Отобразить путь шины в дополнение к номеру шины и устройства
Разрешение идентификаторов устройств в имена:
-n Показать числовые идентификаторы
-nn Показать как текстовые, так и числовые идентификаторы (имена и числа)
-q Запросить базу данных PCI ID для неизвестных идентификаторов через DNS
-qq Как выше, но повторно запросить локально кэшированные записи
-Q Запросить базу данных PCI ID для всех идентификаторов через DNS
Выбор устройств:
-s [[[[<домен>]:]<шина>]:][<слот>][.[<функция>]] Показать только устройства в выбранных слотах
-d [<поставщик>]:[<устройство>][:<класс>] Показать только устройства с указанными идентификаторами
Другие опции:
-i <файл> Использовать указанный ID базы данных вместо /usr/share/hwdata/pci.ids
-p <файл> Искать модули ядра в заданном файле вместо файла по умолчанию modules.pcimap
-M Включить режим `сопоставления шин` (опасно; только root)
Опции доступа к PCI:
-A <метод> Использовать указанный метод доступа к PCI (см. `-A help` для списка)
-O <пара>=<значение> Установить параметр доступа к PCI (см. `-O help` для списка)
-G Включить отладку доступа к PCI
-H <режим> Использовать прямой доступ к оборудованию (<режим> = 1 или 2)
-F <файл> Прочитать дамп конфигурации PCI из заданного файла
Вот вывод команды sudo alsactl init
:
Обнаружено оборудование: "HDA-Intel" "ATI R6xx HDMI" "HDA:1002aa01,00aa0100,00100700" "0x103c" "0x8a31"
Аппаратное обеспечение инициализировано с использованием общего метода
Обнаружено оборудование: "acp" "" "" "" ""
Аппаратное обеспечение инициализировано с использованием общего метода
Вот вывод команды lspci -v | grep -A7 -i audio
:
04:00.1 Звуковое устройство: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
Подсистема: Hewlett-Packard Company Устройство 8a31
Флаги: мастер шины, быстрая установка устройства, задержка 0, IRQ 87, группа IOMMU 14
Память по адресу d05c8000 (32-бит, не кэшируемая) [размер=16K]
Возможности: <доступ запрещен>
Драйвер ядра в использовании: snd_hda_intel
Модули ядра: snd_hda_intel
--
04:00.5 Мультимедийный контроллер: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 01)
Подсистема: Hewlett-Packard Company Устройство 8a31
Флаги: мастер шины, быстрая установка устройства, задержка 0, IRQ 85, группа IOMMU 18
Память по адресу d0580000 (32-бит, не кэшируемая) [размер=256K]
Возможности: <доступ запрещен>
Драйвер ядра в использовании: snd_rn_pci_acp3x
Модули ядра: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_sof_amd_renoir
04:00.6 Звуковое устройство: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
Подсистема: Hewlett-Packard Company Устройство 8a31
Флаги: мастер шины, быстрая установка устройства, задержка 0, IRQ 88, группа IOMMU 19
Память по адресу d05c0000 (32-бит, не кэшируемая) [размер=32K]
Возможности: <доступ запрещен>
Драйвер ядра в использовании: snd_hda_intel
Модули ядра: snd_hda_intel
Странно, что звуковые карты, кажется, являются HDMI, так что, возможно, это и есть проблема?
Это HP Envy x360, и он работал идеально, за исключением этой небольшой проблемы. Я хотел бы иметь возможность воспроизводить звук и буду очень признателен за любую помощь в решении этой проблемы. Спасибо!
Я нашел следующую тему на форумах Ubuntu, в которой автор описывает ту же проблему и также имеет устройство ATI R6XX HDMI
. Решение заключалось в установке флага ядра для radeon.audio=1
, сделав следующее:
-
Откройте
/etc/default/grub
с помощью текстового редактора -
Найдите запись
GRUB_CMDLINE_LINUX_DEFAULT
-
Добавьте
radeon.audio=1
в конец части в двойных кавычках -
Сохраните файл и выполните
sudo update-grub
Например:
Измените оригинальную запись /etc/default/grub
:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
на:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet radeon.audio=1"
Не редактируйте /boot/grub/grub.cfg
, как это указано в той теме одним из пользователей.
Если это не сработает или если radeon.audio=1
уже установлено, не могли бы вы сообщить, какие устройства перечислены, когда вы заходите в alsamixer
и нажимаете F6
? Нажатие F6
в alsamixer должно позволить вам выбрать карты, распознанные системой.
Я предполагаю, что ALSA по умолчанию использует HDMI-выход для звука. Вы можете протестировать это, подключив ноутбук к телевизору через HDMI.
Вы также можете попробовать заставить aplay выводить через ваше другое звуковое устройство для теста: aplay -Dhw:1,0 /usr/share/sounds/alsa/Noise.wav
. Если это сработает, вы можете использовать инструкции здесь, чтобы сделать карту 1 по умолчанию: https://www.alsa-project.org/main/index.php/Setting_the_default_device.
Ответ или решение
Уважаемый пользователь,
Ваш вопрос касается проблемы с отсутствием звука в системе Arch Linux, несмотря на то, что звуковые платы фиксируются корректно. Ваша информация, включая вывод команд aplay -l
, lspci -k
, и alsactl init
, уже дает понимание ситуации.
Возможные решения:
-
Проверка настроек GRUB для поддержки аудио Radeon:
Поскольку ваша система использует устройства HDMI, возможно, вам нужно добавить параметрradeon.audio=1
в конфигурацию загрузчика GRUB. Для этого выполните следующие шаги:-
Откройте файл конфигурации GRUB:
sudo nano /etc/default/grub
-
Найдите строку:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
-
Измените её на:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet radeon.audio=1"
-
Сохраните файл и обновите конфигурацию GRUB с помощью:
sudo update-grub
-
Перезагрузите систему.
-
-
Проверка настроек ALSA:
Если проблема сохраняется, откройтеalsamixer
и проверьте, какие устройства звука доступны:alsamixer
- Нажмите
F6
, чтобы выбрать устройство, и убедитесь, что у вас выбрано корректное (например,ALC245 Analog
). - Также проверьте уровень громкости и убедитесь, что звук не отключен (пароль перемещения стоек может быть "MM" для отключено и "00" для включено).
- Нажмите
-
Тестирование вывода звука:
Чтобы протестировать, используйтеaplay
с указанием устройства:aplay -Dhw:1,0 /usr/share/sounds/alsa/Noise.wav
Если это работает, предоставит информацию о том, что проблема заключается в настройках по умолчанию.
-
Настройка устройства по умолчанию:
Для установки устройства по умолчанию, выполните следующее:- Создайте или отредактируйте файл
~/.asoundrc
:nano ~/.asoundrc
-
Добавьте следующий блок:
pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }
- Сохраните изменения и перезагрузите ALSA:
sudo alsa force-reload
- Создайте или отредактируйте файл
-
Дополнительные проверки:
- Рассмотрите возможность подключения к телевизору через HDMI, чтобы определить, идет ли звук через HDMI.
- Если вы все еще сталкиваетесь с проблемами, сообщите, какие устройства доступны в
alsamixer
, и пожалуйста, выполните диагностику с помощью командыdmesg | grep snd
.
Эти шаги должны помочь вам решить проблему с отсутствием звука в вашей системе Arch Linux. Если ни одно из этих решений не работает, пожалуйста, предоставьте дополнительные детали, включая вывод команды dmesg
после загрузки, чтобы помочь более глубоко проанализировать проблему.
С уважением и удачи в решении вашей проблемы!