[PATCH] weston fbdev: Instead of less than 1 Hz use default refresh rate

Oliver Smith ollieparanoid at bitmessage.ch
Mon Apr 17 11:11:00 UTC 2017


I ran Weston on a Nexus 4 mobile phone, with a native GNU/Linux userland,
and the latest Android kernel for that device from LineageOS [1].

calculate_refresh_rate() returned 1 (mHz), which gets rounded to 0 Hz later
and results in nothing being drawn to the screen.

This patch makes sure, that there is at least a refresh rate of 1 Hz, because
it returns the default refresh rate of 60 Hz otherwise.

[1]: https://github.com/LineageOS/lge-kernel-mako

Signed-off-by: Oliver Smith <ollieparanoid at bitmessage.ch>
---
 libweston/compositor-fbdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
index 32d71e0..e80a504 100644
--- a/libweston/compositor-fbdev.c
+++ b/libweston/compositor-fbdev.c
@@ -253,7 +253,8 @@ calculate_refresh_rate(struct fb_var_screeninfo *vinfo)
 		if (refresh_rate > 200000)
 			refresh_rate = 200000; /* cap at 200 Hz */
 
-		return refresh_rate;
+		if (refresh_rate >= 1000) /* at least 1 Hz */
+			return refresh_rate;
 	}
 
 	return 60 * 1000; /* default to 60 Hz */
-- 
2.12.2



More information about the wayland-devel mailing list