[Wayland-bugs] [Bug 73782] Weston called from weston-launch loses permission to uaccess fb devices on tty switch back

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jan 17 20:07:26 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=73782

--- Comment #5 from nerdopolis1 at verizon.net ---
This is the best workaround I can come up with.
I have it loop, because if fbdev_output_reenable is being called, and it's
failing to open the framebuffer device, it's probably because it's waiting for
udev to put permissions on the file again, assuming permissions to the
framebuffer device is granted with
SUBSYSTEM=="graphics", KERNEL=="fb*", TAG+="uaccess"
in a udev rules file

It's probably not merge worthy though?

diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 138aaab..7ebbe92 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -726,11 +726,14 @@ fbdev_output_reenable(struct fbdev_compositor
*compositor,
     weston_log("Re-enabling fbdev output.\n");

     /* Create the frame buffer. */
-    fb_fd = fbdev_frame_buffer_open(output, output->device,
+    fb_fd = -1;
+    while (fb_fd < 0) {
+        usleep(10000);
+        fb_fd = fbdev_frame_buffer_open(output, output->device,
                                     &new_screen_info);
-    if (fb_fd < 0) {
-        weston_log("Creating frame buffer failed.\n");
-        goto err;
+        if (fb_fd < 0) {
+          weston_log("Creating frame buffer failed.\n");
+        }
     }

     /* Check whether the frame buffer details have changed since we were

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-bugs/attachments/20150118/b7a52af2/attachment.html>


More information about the wayland-bugs mailing list