Arch Linux совсем не воспроизводит звук

Вопрос или проблема

Моя установка 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, сделав следующее:

  1. Откройте /etc/default/grub с помощью текстового редактора

  2. Найдите запись GRUB_CMDLINE_LINUX_DEFAULT

  3. Добавьте radeon.audio=1 в конец части в двойных кавычках

  4. Сохраните файл и выполните 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, уже дает понимание ситуации.

Возможные решения:

  1. Проверка настроек 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
    • Перезагрузите систему.

  2. Проверка настроек ALSA:
    Если проблема сохраняется, откройте alsamixer и проверьте, какие устройства звука доступны:

    alsamixer
    • Нажмите F6, чтобы выбрать устройство, и убедитесь, что у вас выбрано корректное (например, ALC245 Analog).
    • Также проверьте уровень громкости и убедитесь, что звук не отключен (пароль перемещения стоек может быть "MM" для отключено и "00" для включено).
  3. Тестирование вывода звука:
    Чтобы протестировать, используйте aplay с указанием устройства:

    aplay -Dhw:1,0 /usr/share/sounds/alsa/Noise.wav

    Если это работает, предоставит информацию о том, что проблема заключается в настройках по умолчанию.

  4. Настройка устройства по умолчанию:
    Для установки устройства по умолчанию, выполните следующее:

    • Создайте или отредактируйте файл ~/.asoundrc:
      nano ~/.asoundrc
    • Добавьте следующий блок:

      pcm.!default {
       type hw
       card 1
      }
      
      ctl.!default {
       type hw
       card 1
      }
    • Сохраните изменения и перезагрузите ALSA:
      sudo alsa force-reload
  5. Дополнительные проверки:

    • Рассмотрите возможность подключения к телевизору через HDMI, чтобы определить, идет ли звук через HDMI.
    • Если вы все еще сталкиваетесь с проблемами, сообщите, какие устройства доступны в alsamixer, и пожалуйста, выполните диагностику с помощью команды dmesg | grep snd.

Эти шаги должны помочь вам решить проблему с отсутствием звука в вашей системе Arch Linux. Если ни одно из этих решений не работает, пожалуйста, предоставьте дополнительные детали, включая вывод команды dmesg после загрузки, чтобы помочь более глубоко проанализировать проблему.

С уважением и удачи в решении вашей проблемы!

Оцените материал
Добавить комментарий

Капча загружается...