kwin/plugins/platforms/virtual
Martin Gräßlin 56ce6689fd [platforms/virtual] Use rendernode or vgem device if available for egl
Summary:
The egl implementation for the virtual platform tries to use a render
node if available. If there is no render node it looks for a virtual
(kernel driver vgem) device, which unfortunately does not create a
render node in mainline kernel (there are patches in ChromiumOS).

For this the Udev wrapper is extended to search for renderNode devices
and for virtual dri devices.

If either render node or vgem dri device is found, it is tried to be
opened (without logind escalation) and on success a gbm device is
created on it. If any step of this fails the so far default behavior
of default device is tried for creating the EGLDisplay.

All of this is compile optional, so that the virtual platform does not
hard depend on udev and/or gbm.

Test Plan:
Auto tests which need OpenGL executed and verified that they
use the render node or vgem device.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2216
2016-07-21 09:13:57 +02:00
..
CMakeLists.txt [platforms/virtual] Use rendernode or vgem device if available for egl 2016-07-21 09:13:57 +02:00
egl_gbm_backend.cpp [platforms/virtual] Use rendernode or vgem device if available for egl 2016-07-21 09:13:57 +02:00
egl_gbm_backend.h [platforms/virtual] Use rendernode or vgem device if available for egl 2016-07-21 09:13:57 +02:00
scene_qpainter_virtual_backend.cpp Paint the software cursor directly in SceneQPainter 2016-06-29 08:50:46 +02:00
scene_qpainter_virtual_backend.h Paint the software cursor directly in SceneQPainter 2016-06-29 08:50:46 +02:00
screens_virtual.cpp Announce output changes to Wayland for platforms not handling outputs 2016-07-20 13:53:02 +02:00
screens_virtual.h
virtual.json
virtual_backend.cpp [platforms] Call setSoftWareCursor in init instead of ctor 2016-06-29 08:48:24 +02:00
virtual_backend.h [platforms/virtual] Support setting random screen geometries 2016-06-02 09:28:02 +02:00