Commit graph

18 commits

Author SHA1 Message Date
autofix-ci[bot]
37964e0aad [autofix.ci] apply automated fixes 2025-09-07 08:14:08 +02:00
minicx
2b682cc125 LinuxKMS: Collect formats from all CRTC-compatible planes
Instead of returning formats from only the first associated plane,
collect all unique formats from planes.

Signed-off-by: minicx <minicx@disroot.org>
2025-09-07 08:14:08 +02:00
minicx
fad0c84900 LinuxKMS: Enable universal planes capability before enumerating formats
Set DRM_CLIENT_CAP_UNIVERSAL_PLANES before calling plane_handles() to
ensure all planes (primary, overlay, cursor) are visible for format
detection. This fixes cases where plane enumeration returns empty
results due to missing client capabilities.

Signed-off-by: minicx <minicx@disroot.org>
2025-09-07 08:14:08 +02:00
minicx
c2819b451b LinuxKMS: Add XRGB8888 fallback when no DRM plane formats found
Instead of failing when no plane formats are detected, fall back to
XRGB8888 which is widely supported. This prevents crashes on systems
where plane enumeration fails while still allowing the display to
function with a common pixel format.

Signed-off-by: minicx <minicx@disroot.org>
2025-09-07 08:14:08 +02:00
autofix-ci[bot]
c50f7ba73b [autofix.ci] apply automated fixes 2025-07-28 10:19:28 +02:00
minicx
4997103a5d LinuxKMS: Dynamically detect DRM framebuffer formats
- Implemented dynamic detection of supported framebuffer formats using a new `DrmOutput::get_supported_formats()` method, which queries DRM planes for their format capabilities instead of relying on a hardcoded list.
- Updated the DumbBuffer allocation logic to require explicit format, depth, and bpp, and moved the depth/bpp lookup to a reusable `pixel_format_params` helper function.
- Removed obsolete format-guessing allocation routine and streamlined buffer creation logic.

Signed-off-by: minicx <minicx@disroot.org>
2025-07-28 10:19:28 +02:00
Simon Hausmann
31912fedaf LinusKMS: Clean up and simplify presenter interface
With the drm output now waiting for the page flip on render *and* gbm and dumb buffer displays supporting triple buffering,
we don't need the entire async page flip handling logic anymore.

In the future we could turn wait_for_page_flip() into an async fn.
2025-01-08 21:46:25 +01:00
Simon Hausmann
82c72d4d26 LinuxKMS: Enable triple-buffering when rendering with gbm
cc #6951
2025-01-08 21:46:25 +01:00
Simon Hausmann
44f1602fd6 Update drm/gbm dependencies
Fixes #3669
2024-09-13 16:10:10 +02:00
Simon Hausmann
d1c9d4e466 Minor tweak to framebuffer presentation error message in linuxkms backend
cc #4619
2024-09-12 13:50:30 +02:00
Aurindam Jana
3523e86359
Simplify commercial license (#3063)
Base the commercial license on the Royalty-free license adding clauses pertaining to the fees.
2024-05-31 14:06:17 +02:00
Aurindam Jana
9a3aa265d5
Update Royalty-free license (#5257)
Add clarification that Application may not expose Slint APIs.
2024-05-31 10:53:19 +02:00
Olivier Goffart
e872c5c574 linuxkms: remove unused code
Caused warning with Rust 1.78
2024-05-02 18:37:25 +02:00
Aurindam Jana
0cfeec1a31
Update Slint Community License (#4994)
Updated the version from 1.1 to 1.2 
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
2024-04-15 15:18:55 +02:00
Simon Hausmann
9c247553e1 LinuxKMS: Tweak the output shown after SLINT_{DRM,VULKAN}_{MODE,OUTPUT,DISPLAY}=list to mention the environment variable in question
As suggested by Olivier, this makes it much clearer what the next steps
are.
2024-01-12 17:32:56 +01:00
Simon Hausmann
4d23bcdd97 LinuxKMS: Replace the use of panic with eprintln/std::process::exit
As suggested by Olivier, That's a little cleaner than panicing. There's
no reason to panic, this is normal :-)
2024-01-12 17:32:56 +01:00
Simon Hausmann
2b699c2189 LinuxKMS: Add support for selecting display modes with DRM output 2024-01-12 17:32:56 +01:00
Simon Hausmann
982b4c806f LinuxKMS: Add initial support for software rendering with Skia
This is the initial implementation based on DRM dumb buffers,
which cleans up various things at the same time:

 - DRM output is separate from GBM and DRM dumb buffer displays.
   The latter two re-use the former.
 - The timer refresh for the Vulkan KHR Display rendering lives
   now with the KHR display code, in hope to be replaced with a
   better mechanism in the future.

What's missing still is support for partial updates as well as
rendering with our own software renderer.
2024-01-07 11:54:29 +01:00