[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kwin] plugins/platforms/fbdev: fb_backend: use new udev function to detect framebuffer devices, if 
From:       Martin_Flöser <null () kde ! org>
Date:       2018-04-22 15:52:21
Message-ID: E1fAHHp-0006LJ-Sj () code ! kde ! org
[Download RAW message or body]

Git commit 8321453fdeee9ed72a2d40aa96e2a3d3a1a6c422 by Martin Flöser, on behalf of \
Nerdopolis Turfwalker. Committed on 22/04/2018 at 15:52.
Pushed by graesslin into branch 'master'.

fb_backend: use new udev function to detect framebuffer devices, if one is not set

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: rkflx, graesslin, anthonyfieroni, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9556

M  +10   -4    plugins/platforms/fbdev/fb_backend.cpp

https://commits.kde.org/kwin/8321453fdeee9ed72a2d40aa96e2a3d3a1a6c422

diff --git a/plugins/platforms/fbdev/fb_backend.cpp \
b/plugins/platforms/fbdev/fb_backend.cpp index 307895440..d5c9b5c29 100644
--- a/plugins/platforms/fbdev/fb_backend.cpp
+++ b/plugins/platforms/fbdev/fb_backend.cpp
@@ -24,6 +24,7 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #include "scene_qpainter_fb_backend.h"
 #include "screens.h"
 #include "virtual_terminal.h"
+#include "udev.h"
 // system
 #include <fcntl.h>
 #include <unistd.h>
@@ -81,13 +82,18 @@ void FramebufferBackend::init()
 void FramebufferBackend::openFrameBuffer()
 {
     VirtualTerminal::self()->init();
-    int fd = LogindIntegration::self()->takeDevice(deviceIdentifier().constData());
+    QString framebufferDevice = deviceIdentifier().constData();
+    if (framebufferDevice.isEmpty()) {
+        framebufferDevice = QString(Udev().primaryFramebuffer()->devNode());
+    }
+    int fd = LogindIntegration::self()->takeDevice(framebufferDevice.toUtf8().constData());
 +    qCDebug(KWIN_FB) << "Using frame buffer device:" << framebufferDevice;
     if (fd < 0) {
-        qCWarning(KWIN_FB) << "Failed to open frame buffer device through logind, \
trying without"; +        qCWarning(KWIN_FB) << "Failed to open frame buffer device:" \
<< framebufferDevice << "through logind, trying without";  }
-    fd = open(deviceIdentifier().constData(), O_RDWR | O_CLOEXEC);
+    fd = open(framebufferDevice.toUtf8().constData(), O_RDWR | O_CLOEXEC);
     if (fd < 0) {
-        qCWarning(KWIN_FB) << "failed to open frame buffer device";
+        qCWarning(KWIN_FB) << "failed to open frame buffer device:" << \
framebufferDevice;  emit initFailed();
         return;
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic