Начиная с какого-то момента (возможно, после перехода на очередной релиз), у меня в моём Linux Fedora перестал работать звук.
После каждой загрузки системы приходилось запускать
pavucontrol, переходить на вкладку
Конфигурация, и вместо выбранного по умолчанию профиля "Цифровой стерео (IEC958) выход" перевыбирать "Аналоговый стерео выход":
Разумеется, в какой-то момент мне это надоело, и я начал искать способ, как сделать так, чтобы профиль "Аналоговый стерео выход" устанавливался при загрузке системы автоматически. Простого способа, такого например, как кнопка "Установить по умолчанию" для профиля в том же самом pavucontrol-е, я не нашёл (что и понятно, это же Linux!), поэтому пришлось немного поразбираться с настройками PulseAudio.
Всё оказалось не так страшно. Даже совсем нестрашно. Но какое-то время на поиск решения всё же пришлось потратить. Надеюсь, что теперь кому-то смогу это время сэкономить.
Итак, в моём случае решение сводилось к правке файла
/etc/pulse/default.pa. В самом конце я добавил:
set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo
set-sink-port alsa_output.pci-0000_00_1b.0.analog-stereo analog-output-lineout
И всё заработало!
После перезагрузки устанавливался нужный профиль и выбирался нужный порт для вывода звука - линейный выход.
Значения параметров для этих команд в вашем случае могут быть другие. Их можно посмотреть с помощью "pacmd list-cards" (вывод команды сокращён для удобства чтения; значения интересующих нас параметров выделены красным цветом):
$ pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1b.0>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel"
...
profiles:
input:analog-stereo: Аналоговый стерео вход (priority 65, available: no)
output:analog-stereo: Аналоговый стерео выход (priority 6500, available: no)
output:analog-stereo+input:analog-stereo: Аналоговый стерео дуплекс (priority 6565, available: no)
output:analog-surround-21: Аналоговый объёмный 2.1 выход (priority 1300, available: no)
...
output:iec958-stereo: Цифровой стерео (IEC958) выход (priority 5500, available: unknown)
output:iec958-stereo+input:analog-stereo: Цифровой стерео (IEC958) выход + Аналоговый стерео вход (priority 5565, available: no)
off: Выключено (priority 0, available: unknown)
active profile: <output:analog-stereo>
sinks:
alsa_output.pci-0000_00_1b.0.analog-stereo/#6: Встроенное аудио Аналоговый стерео
sources:
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#6: Monitor of Встроенное аудио Аналоговый стерео
ports:
analog-input-front-mic: Фронтальный микрофон (priority 8500, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
...
analog-output-lineout: Линейный выход (priority 9000, latency offset 0 usec, available: no)
properties:
analog-output-headphones: Наушники (priority 9900, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-headphones"
iec958-stereo-output: Цифровой выход (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:
Для команды set-card-profile нас интересуют:
- Имя звуковой карты. В моём случае это "alsa_card.pci-0000_00_1b.0".
- Имя профиля. В моём случае это "output:analog-stereo".
Для команды set-sink-port нас интересует:
- Имя sink-а. В моём случае это "alsa_output.pci-0000_00_1b.0.analog-stereo".
- Имя порта. В моём случае это "analog-output-lineout". Если бы я захотел, чтобы по умолчанию звук выводился на наушники, то в качестве имени порта я бы указал "analog-output-headphones".
Перед тем, как изменять файл
/etc/pulse/default.pa нужно:
- Сделать его резервную копию. Во-первых, потому что нужно всегда делать резервные копии файлов настроек перед их редактированием, а во-вторых, потому что если в этом файле накосячить, то PulseAudio вообще не запустится.
- Проверить правильность ваших параметров, запустив предварительно подготовленные команды через pacmd в терминале. Например:
$ pacmd set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo
$ pacmd set-sink-port alsa_output.pci-0000_00_1b.0.analog-stereo analog-output-lineout