summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platforms/eglfs/qeglfshooks_stub.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp b/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
index 25bf1fdfea..3c944e68b9 100644
--- a/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
+++ b/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
@@ -66,6 +66,16 @@ QSize QEglFSHooks::screenSize() const
static QSize size;
if (size.isEmpty()) {
+ int width = qgetenv("QT_QPA_EGLFS_WIDTH").toInt();
+ int height = qgetenv("QT_QPA_EGLFS_HEIGHT").toInt();
+
+ if (width && height) {
+ // no need to read fb0
+ size.setWidth(width);
+ size.setHeight(height);
+ return size;
+ }
+
struct fb_var_screeninfo vinfo;
int fd = open("/dev/fb0", O_RDONLY);
@@ -79,6 +89,12 @@ QSize QEglFSHooks::screenSize() const
} else {
qWarning("Failed to open /dev/fb0 to detect screen resolution.");
}
+
+ // override fb0 from environment var setting
+ if (width)
+ size.setWidth(width);
+ if (height)
+ size.setHeight(height);
}
return size;