[PATCH 4/6] libweston: fbdev: set fb device info upon the first run. This attempts to wake up secondary framebuffer devices (/dev/fb1 and up) as usually these devices start powered off, and the FBIOPUT_VSCREENINFO ioctl turns it on. This was tested on a qemu system with the options:

nerdopolis bluescreen_avenger at verizon.net
Wed Sep 6 01:20:01 UTC 2017


-vga none -device VGA,id=video0 -device secondary-vga,id=video1 \
-device secondary-vga,id=video2
---
 libweston/compositor-fbdev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
index b4f0685c..a9cc08be 100644
--- a/libweston/compositor-fbdev.c
+++ b/libweston/compositor-fbdev.c
@@ -356,6 +356,13 @@ fbdev_frame_buffer_open(struct fbdev_output *output, const char *fb_dev,
 		return -1;
 	}
 
+	/* Attempt to correct the framebuffer settings */
+	if (fbdev_set_screen_info(output, fd,
+	                          &output->fb_info) < 0) {
+		weston_log("Failed to set mode settings. "
+		           "Attempting to open output anyway.\n");
+	}
+
 	/* Grab the screen info. */
 	if (fbdev_query_screen_info(output, fd, screen_info) < 0) {
 		weston_log("Failed to get frame buffer info: %s\n",
-- 
2.14.1



More information about the wayland-devel mailing list