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

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

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

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

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

Любые идеи?


person user2699113    schedule 24.08.2017    source источник


Ответы (2)


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

person Kuba hasn't forgotten Monica    schedule 29.08.2017
comment
Вы уверены, что эта переменная env работает на qt-5.6.1-1? - person user2699113; 30.08.2017
comment
Нет я не. Загляните в источники, чтобы увидеть, появляется ли он где-нибудь. - person Kuba hasn't forgotten Monica; 30.08.2017

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

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

person lbenini    schedule 29.05.2018