Create a platform abstraction library called AuroraPlatform.
The compositor needs to access the underlying platform: specifically input and output devices.
We will implement device integration plugins as well as input managers to provide access to to the underlying platform such as drm, wayland, and so on...
AuroraCompositor will use AuroraPlatform to get access to input and output devices.
A new aurora-eglfs plugin will be created in the qtintegration project, using AuroraPlatform and its plugins.
Compositors will always run using the new aurora-eglfs QPA plugin, not the traditional plugins such as wayland-egl or xcb.
Entities:
Integration: backend for the device integration
InputManager: backend for the input system
InputDevice: generic input device
KeyboardDevice: keyboard
PointerDevice: pointer
TouchDevice: touch
Output: screen
Session with a factory to create different implementations (such as logind, seatd, noop, ...)
Wayland compositors need to access
the underlying screens to get hardware information, dpms mode, screen recording, presentation time, etc...
input devices to get relative pointer motion for pointer lock extension
hardware layers and direct scanout
A platform abstraction library allows the compositor to access input and output devices, without using Qt private APIs.
Create a platform abstraction library called
AuroraPlatform
.The compositor needs to access the underlying platform: specifically input and output devices.
We will implement device integration plugins as well as input managers to provide access to to the underlying platform such as
drm
,wayland
, and so on...AuroraCompositor
will useAuroraPlatform
to get access to input and output devices.A new
aurora-eglfs
plugin will be created in the qtintegration project, usingAuroraPlatform
and its plugins.Compositors will always run using the new
aurora-eglfs
QPA plugin, not the traditional plugins such aswayland-egl
orxcb
.Entities:
Wayland compositors need to access
A platform abstraction library allows the compositor to access input and output devices, without using Qt private APIs.