Simon Hausmann
3b51c8e30a
LinuxKMS: Add support for synthetic display rotations ( #4166 )
...
This patch adds support for the `SLINT_KMS_ROTATION` environment
variable, that instructs the Skia/FemtoVG renderers to rotate
the scene before rendering.
2023-12-18 17:49:05 +01:00
Simon Hausmann
60901a27ff
skia: Fall back to software rendering if GPU accelerate rendering fails to initialize
...
At the moment this is only supported for the winit backend and the C++
API. linuxkms uses a different SkiaRenderer constructor.
2023-10-23 13:55:23 +02:00
Olivier Goffart
95b6eda10b
Make sure PLatformError is Send+Sync as it is needed for anyhow
2023-08-31 20:52:10 +02:00
Simon Hausmann
65f9e6f1eb
Move the OpenGLInterface back to the FemtoVG renderer
...
At the moment it's only needed there, so let's
have it there and move it to core later if the need arises.
2023-08-28 13:33:15 +02:00
Olivier Goffart
f5caafd379
linuxkms: Implement support for SLINT_SCALE_FACTOR
2023-07-31 19:35:17 +02:00
Simon Hausmann
23ca0cb36c
Disambiguate Render trait type name
...
Use FullscreenRenderer as name for the trait used in the linuxkms backend
2023-07-31 17:11:43 +02:00
Simon Hausmann
6b044ae078
Rename extension trait to use Ext
as suffix
2023-07-31 13:06:28 +02:00
Simon Hausmann
84ddfc6c2f
Add support for rendering the mouse cursor with linuxkms
...
The cursor is loaded by the window adapter from the cache. When it's
loaded the first time, its format will be Svg, so we convert it to a
pixel buffer. That way the skia backend can convert it on first draw
into a skia_safe::Image and replace the cache entry with the backend
storage variant.
2023-07-31 13:06:28 +02:00
Simon Hausmann
fee44f3f7d
Add basic support for libseat
...
This is not dynamic unfortunately, but at least it forwards device access for OpenGL and remove the need to run it as root.
2023-07-28 13:40:37 +02:00
Simon Hausmann
e40f6c253e
linuxkms: Add support for FemtoVG as renderer
2023-07-28 13:40:37 +02:00