Я работаю с устройством Broadcom 97356, которое содержит HDMI и аналоговое видеовыходное устройство.
Я хотел бы иметь возможность рисовать на одном из этих двух устройств (или на обоих одновременно!) с помощью устройства кадрового буфера. Однако у меня возникли проблемы с поиском правильной документации, которая поможет мне встать на путь истинный.
Я хочу использоватьанглийский как иностранныйдля разработки небольшого приложения и я хотел бы начать с самого простого бэкэнда: фреймбуфера. Но я не знаю, как его включить; я перекомпилировал свое ядро с поддержкой фреймбуфера. Хотя я не вижу/dev/fb0Устройство. Есть/dev/hdmi0устройство и я не могу найти ни одного, связанного конкретно с аналоговым выходом.
Итак, мой вопрос: как Linux решает, какой видеовыход будет использоваться при создании устройства фреймбуфера? Как мне настроить его так, чтобы он делал то, что я хочу, например, установить выход HDMI как тот, который отображает содержимое фреймбуфера?
решение1
Частичный ответ:
как Linux решает, какой видеовыход будет использоваться при создании устройства кадрового буфера?
"Linux" не делает этого, это зависит от драйвера. Поэтому первым шагом будет изучение dmesg
и/или lsmod
выяснение того, какой драйвер загружается. Следующий шаг - найти исходный код драйвера, прочитать его и выяснить, какие опции он понимает. /dev/hdmi0
- довольно необычное название для устройства буфера кадров, хотя, кажется, некоторые драйверы sunxi используют его. Вы пробовали что-то в него записать (с помощью dd
или небольшой программы на C)? Ведет ли он себя как буфер кадров?
Поэтому отредактируйте вопрос, добавив соответствующую часть dmesg
, или добавьте ссылку на полный ответ dmesg
после загрузки в pastebin и т. д.
как мне настроить его так, чтобы он делал то, что я хочу
См. выше: это полностью зависит от драйвера. Например, драйвер кадрового буфера Intel не позволяет переключиться на HDMI (или не позволял, в последний раз, когда я смотрел).