Заставить приложение Qt GUI работать на кадровом буфере в Linux

Я разрабатываю графический интерфейс в Qt. Целевой платформой является Raspberry Pi Zero W на основе Linux / ARMv6, а дистрибутив - это пользовательский дистрибутив Poky / Yocto. Я подключил дисплейный модуль (2,4-дюймовый SPI TFT-дисплей на основе ILI9341) к Raspberry Pi и хотел бы, чтобы мое приложение Qt работало на кадровом буфере /dev/fb1 обеспечивается драйвером дисплея.

Текущий драйвер кадрового буфера позволяет мне отображать рабочий стол в модуле дисплея, то есть:

FRAMEBUFFER=/dev/fb1 startx

Предыдущая команда достигает того, что я хотел бы сделать косвенно. Однако я не хочу показывать свой рабочий стол. Я просто хочу указать кадровый буфер в качестве платформы отображения для приложения Qt (вместо использования DISPLAY переменная окружения)

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

1 ответ

Решение

Запуск Qt непосредственно в фреймбуфере описан здесь.

Короче говоря, вы бы использовали linuxfb драйвер для Qt, который будет связывать вас с /dev/fbX доступно в вашей системе.

Некоторая дополнительная информация также доступна здесь.

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