Аудиодрайверы B&O или переназначение контактов для Ubuntu на HP Pavilion 15

Я недавно установил Ubuntu 20.04 на свой ноутбук HP (модель Pavilion 15-ck000nb, со звуком B&O), чтобы опробовать его. Пока все работает, за исключением того, что качество звука по сравнению с Windows 10 очень плохое. Возможно ли, что для неработающего сабвуфера требуются специальные драйверы Bang & Olufsen? Также, когда я проигрываю звук или музыку через разъем для наушников, я слышу легкий потрескивающий звук в левом канале. Ранее я пробовал PopOS 18.04 на этом ноутбуке, и у него была такая же проблема со звуком. Кодек - Realtek ALC295.

Заранее благодарю.

0
задан 4 May 2020 в 23:43

1 ответ

Отчет об ошибке ядра по этому поводу (и исправление): https://bugzilla.kernel.org/show_bug.cgi?id=195457#c11

Хитрость заключается в том, чтобы скопировать настройки звуковой карты с винды на линукс. Вот содержание приведенного выше комментария к отчету об ошибке:

У меня также была такая же проблема с моим ASROCK X370 Gaming K4 (ALC1220):

1-й случай: ПЕРВАЯ загрузка Linux: звук с шумом / потрескиванием.
2-й случай: ПЕРВАЯ загрузка Windows и ВТОРОЙ Linux: Звук отличный.

Мне удается решить проблему, сравнивая значения Coeff в обоих случаях и присваивая значения второго случая в сценарии во время загрузки. Как:

  • Установить alsa-tools.
  • В обоих случаях нужно выполнить: echo 1 > /sys/module/snd_hda_codec/parameters/dump_coefs
  • Затем, в первом случае, alsa-info --no-upload - -output infos_bad
  • Затем, во втором случае, alsa-info --no-upload --output infos_good
  • Наконец, вы сравниваете значения коэффициента: diff infos_bad infos_good | grep Coeff

Для изменения значения каждого отдельного Coeff необходимо действовать следующим образом: например, изменить Coeff 0x67 на значение 0x3000

hda-verb /dev/snd/hwC0D0 0x20 SET_COEF_INDEX 0x67
hda-глагол /dev/snd/hwC0D0 0x20 SET_PROC_COEF 0x3000

Вы должны сделать это в порядке возрастания Coeff. Обратите внимание, что hwC0D0 относится к вашей звуковой карте. В случае выхода HDMI, как у меня, моя звуковая карта, если hwC1D0.

Вот быстрый скрипт:


#!/bin/bash
coeffs=($(эхо 0x{16,43,44,5d,5e,63,67}))
значения=($(эхо 0x{8020,3405,fa10,0606,0000,e430,3000}))
для i в `seq 0 $(( ${#coeffs[@]} - 1 ))`
делать
глагол hda /dev/snd/hwC1D0 0x20 SET_COEF_INDEX ${coeffs[$i]} && глагол hda /dev/snd/hwC1D0 0x20 SET_PROC_COEF ${values[$i]}
Выполнено

Просто измените коэффициенты на изменение в массиве «коэффициенты» и новые значения в массиве «значения» и выполните этот скрипт. Ремарка, пока я не отключаю питание, мой аудиочипсет сохраняет значения. Вот почему вам нужно сделать ПЕРВЫЙ случай (первый...), а затем второй. Затем вы можете проверить, работает ли он только тогда, когда вы отключите питание своего мобильного устройства, а затем напрямую загрузитесь в Linux.

Я готовлю патч для ядра, но для тех, у кого есть проблемы, не могли бы вы опубликовать свой коэффициент/значения, которые необходимо изменить, пожалуйста.

Надеюсь, это поможет.

1
ответ дан 16 November 2020 в 10:11

Другие вопросы по тегам:

Похожие вопросы: