LINUX.ORG.RU

Отсутствует звук через HDMI на одноплатном компьютере ARM

 , , ,


0

1

Одноплатный компьютер, SoC Allwinner A10 (ARM v7) с GPU Mali 400 и HDMI-разъёмом. Собрал свежий загрузчик u-boot, относительно свежее ядро 6.6, использовал версию ubuntu 24 «без иксов». Добился вывода изображения, работы почти всех устройств.
Не могу добиться, чтобы в системе появилась звуковая карта HDMI.
Долго не мог понять, почему отстуствовали в системе GPU и некоторые другие устройства. Оказывается, на ARM-системах многие устройства не определяются автоматически, а должны быть описаны в devicetree-файле, который используется ядром при загрузке.

Касается ли это и звуковой карты HDMI? Не смог понять, как описать наличие звуковой карты HDMI в devicetree-файле.
Или причина в неполноценных драйверах для HDMI? Если использовать старинный форк ядра, linux-sunxi v3.4 - звуковая карта определяется и звук через HDMI присутствует, но там, как я увидел, используются специфические драйверы, которых в mainline kernel v6.6 я не нашёл.

Перемещено hobbit из general

https://linux-sunxi.org/Linux_mainlining_effort

|            | A10 | ... | ... | ... |
|------------|-----|-----|-----|-----|
| HDMI Audio | WIP |  NO | WIP |  NO |

A10 / A20 / A31 HDMI Audio WIP Stefan Mavrodiev Add support for sun4i HDMI audio

Возможно имелся ввиду https://lkml.org/lkml/2020/1/28/458

Третья попытка не зашла.

Потом для более старших процессоров был: https://patchwork.kernel.org/project/linux-arm-kernel/cover/20200426120442.11560-1-peron.clem@gmail.com/

This is some work done by Marcus Cooper and Jernej Škrabec. These patches are present in LibreElec kernel and have been tested by LE users.

Так что ищи на просторах патчи и пытайся их применить.

AlexVR ★★★★★
()

Сделал поиск DRM_SUN4I_HDMI_AUDIO в Armbian:

$ rg DRM_SUN4I_HDMI_AUDIO
config/kernel/linux-sunxi-legacy.config
4804:CONFIG_DRM_SUN4I_HDMI_AUDIO=y

config/kernel/linux-sunxi-current.config
5012:CONFIG_DRM_SUN4I_HDMI_AUDIO=y

config/kernel/linux-sunxi-edge.config
5024:CONFIG_DRM_SUN4I_HDMI_AUDIO=y

patch/kernel/archive/sunxi-6.6/patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
30:+config DRM_SUN4I_HDMI_AUDIO
52:+ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
599:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
612:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
623:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO

patch/kernel/archive/sunxi-6.1/patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
31:+config DRM_SUN4I_HDMI_AUDIO
53:+ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
600:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
613:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
624:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO

patch/kernel/archive/sunxi-6.7/patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
30:+config DRM_SUN4I_HDMI_AUDIO
52:+ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
599:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
612:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
623:+#ifdef CONFIG_DRM_SUN4I_HDMI_AUDIO
AlexVR ★★★★★
()