eglfs: Allow setting screen size through environment variables.
This adds: - QT_QPA_EGLFS_WIDTH - QT_QPA_EGLFS_HEIGHT If both are set, fb0 detection is completely bypassed, otherwise, the environment variables act as an override for the fb0 values. Change-Id: Iaf38c8b0d40ce0a921bb6c5dbf31af788802d3fa Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
This commit is contained in:
parent
0823fa2c61
commit
56e751a0c9
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user