EGLFS и ротация приложения QT5 под Linux

От имени моего коллеги я хотел бы спросить, можно ли повернуть все окно приложения QT5 (QT 5.6.1-1). Мы используем EGLFS в качестве бэкэнда на платформе Sitara TI AM335X, работающей с кадровым буфером Linux.

Текущая ситуация такова: у нас есть приложение, которое обычно поворачивается на 90 градусов с точки зрения конечного пользователя. В качестве временного решения мой коллега (разработчик этого приложения) вращает каждый элемент в этом окне, чтобы добиться надлежащего визуального эффекта. К сожалению, это вращение занимает много времени процессора.

У меня вопрос - можно ли повернуть все окно по часовой стрелке? Я имею в виду, возможно ли сделать это на уровне EGLFS или QT5, не поворачивая каждый элемент в окне?

Я пытался поменять xy размеры экрана (800x480), но безуспешно. Я также изучил исходные тексты драйверов ядра Linux и не вижу возможности повернуть весь экран. Я думал о создании какого-то другого буфера в памяти, из которого я мог бы копировать данные с вращением в целевую память, но я не уверен, что это хорошая идея.

Есть идеи?

2 ответа

Установить QT_QPA_EGLFS_ROTATION переменная среды для 90 или же -90, Смотрите документацию.

Вращение на платформе EGLFS было связано с ошибкой QTBUG-39959 до версии 5.7.x, поэтому переменная вращения игнорировалась.

Ошибка исправлена ​​с версии 5.8.

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