Я занимаюсь разработкой приложения QT5 для запуска root-скрипта RPi2. Первоначально я тестирую QTQuick 2 с QML и сталкиваюсь с проблемой, когда приложение запускается с разрешением 1280x720 вместо предполагаемого 1920x1080 на 8-дюймовом дисплее HDMI.Raspberry Pi2 running Buildroot с QT5 Установить разрешение экрана
Я не знаю, если изменение I . нужно сделать где-то в запущенной ОС, или какой-либо значение в пределах интервала QT приложение для того, чтобы исправить разрешение
Logging screen.Width и screen.height в QML выводит следующее:
QML: x: 1280 y: 720
Я попытался установить переменные env, как указано в этом документе similar post, создав файл в /etc/profiles.d/ со следующим.
export QT_QPA_EGLFS_WIDTH=1920
export QT_QPA_EGLFS_HEIGHT=1080
export QT_QPA_EGLFS_PHYSICAL_WIDTH=177
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=100
export QT_QPA_EGLFS_DEPTH=24
export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
# Logging
#export QT_DEBUG_PLUGINS=1
export QT_QPA_EGLFS_DEBUG=1
#export QSG_INFO=1
export QT_LOGGING_RULES=qt.qpa.*=true
Однако это приводит к тому, приложение не обнаруживает переменные установлены
Невозможно запросить физический размер экрана, по умолчанию 100 точек на дюйм. Чтобы переопределить, установите QT_QPA_EGLFS_PHYSICAL_WIDTH и QT_QPA_EGLFS_PHYSICAL_HEIGHT (в миллиметрах).
Если я вручную создаю файл, содержащий значения, приведенные выше ошибки не выводятся, что свидетельствует о том, что они были замечены QT, но все же никаких изменений не отражено.
Я SSH'ing в Pi, чтобы вносить изменения и запускать приложение QT, и я также попытался использовать fbset, чтобы изменить его разрешение, которое, похоже, устанавливает терминал в 1080p, но не приложение при запуске.
fbset -xres 1920 -yres 1080
Ниже приведен вывод журнала при запуске приложения.
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm") qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm") qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm" qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm" qt.qpa.input: evdevkeyboard: Using device discovery qt.qpa.input: udev device discovery for type QFlags(0x8) qt.qpa.input: Found matching devices() qt.qpa.input: evdevmouse: Using device discovery qt.qpa.input: udev device discovery for type QFlags(0x1|0x2) qt.qpa.input: Found matching devices() qt.qpa.input: evdevtouch: Using device discovery qt.qpa.input: udev device discovery for type QFlags(0x2|0x4) qt.qpa.input: Found matching devices() qml: x: 1280 y: 720 Created context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile 0) with config: EGL_BUFFER_SIZE: 16 EGL_ALPHA_SIZE: 0 EGL_BLUE_SIZE: 5 EGL_GREEN_SIZE: 6 EGL_RED_SIZE: 5 EGL_DEPTH_SIZE: 24 EGL_STENCIL_SIZE: 8 EGL_CONFIG_CAVEAT: 12344 EGL_CONFIG_ID: 17 EGL_LEVEL: 0 EGL_MAX_PBUFFER_HEIGHT: 2048 EGL_MAX_PBUFFER_PIXELS: 4194304 EGL_MAX_PBUFFER_WIDTH: 2048 EGL_NATIVE_RENDERABLE: 1 EGL_NATIVE_VISUAL_ID: 107544 EGL_NATIVE_VISUAL_TYPE: 12344 EGL_SAMPLES: 0 EGL_SAMPLE_BUFFERS: 0 EGL_SURFACE_TYPE: 1639 EGL_TRANSPARENT_TYPE: 12344 EGL_TRANSPARENT_BLUE_VALUE: 0 EGL_TRANSPARENT_GREEN_VALUE: 0 EGL_TRANSPARENT_RED_VALUE: 0 EGL_BIND_TO_TEXTURE_RGB: 1 EGL_BIND_TO_TEXTURE_RGBA: 1 EGL_MIN_SWAP_INTERVAL: 0 EGL_MAX_SWAP_INTERVAL: 2147483647