Частичный ответ:
EDID содержит аудиоинформацию, в частности блок расширения аудио CEA, указанный вами в edid-decode
. Эти данные извлекаются драйверами ядра и становятся доступными для ALSA как ELD(«EDID -как данные» ). Вы видите текущие ELD (и проверяете, присутствуют ли они вообще )с помощью
cat /proc/asound/card*/eld\#*
Вы также можете изменить некоторые данные ELD с помощью этого интерфейса, например.
echo 'audio_sync_delay 23' | sudo tee /proc/asound/card0/eld#3.2
Таким образом, если по какой-то причине загрузочный EDID вашего ядра не преобразуется в ELD, вывод звука HDMI не будет работать.
Могут быть и другие причины, по которым это не работает; в этом случае я рекомендую полностью остановить Pulseaudio (или использоватьpasuspender
)и попытаться провести расследование на уровне ALSA. aplay --dump-hw-params -D...
может помочь.
Я не знаю никакого способа принудительно перезаписать ELD с помощью пользовательского ELD, как это можно сделать с EDID, и я не уверен, что такой способ вообще существует.
Другими словами, я не знаю, как решить проблему, но, возможно, эта информация подскажет вам, где искать дополнительную информацию.
Убедитесь, что каждый пользователь имеет уникальный идентификатор пользователя, а все сценарии определения переменных среды не настроены на перезапись идентификатора пользователя.
Сравните выходные данные id user1
и id user2
.
Проверьте папки , в которых определены переменные среды .
Отредактируйте файлы /etc/passwd и /etc/group, если возникают проблемы с правами доступа/идентификатором. Обязательно прочитайте документы обоих файлов. Документы в:/etc/passwd , /etc/group