Simon Hausmann
0d8ecc6bc6
LinuxKMS: Improve diagnostics when opening the linux framebuffer fails
...
Collect all the error messages and don't just print the last time. The
first one is most likely the interesting one.
2025-07-11 08:30:44 +02:00
Simon Hausmann
168c38899a
LinuxKMS: Add support for overriding the default framebuffer interface selection
...
Fixes #7749
2025-07-11 08:30:44 +02:00
Simon Hausmann
cacaa2bfea
LinuxKMS: Bump nix dependency
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / build_and_test (--exclude bevy-example, ubuntu-22.04, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, --exclude bevy-example, windows-2022, 1.82) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, macos-14, stable) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
2025-06-07 14:13:16 +02:00
Olivier Goffart
c0cac46009
Add --generate-link-to-definition
in the docs of all our published crate
...
This is a nice nightly rustdoc feature and we should make use of it
2025-06-06 21:47:36 +02:00
Simon Hausmann
d7ae61ec3a
CI: Fix build
...
Bump vulkano dependency also in the linuxkms backend
2025-06-04 07:24:16 +00:00
Simon Hausmann
bd0a486da8
Clean up cfgs for Apple operating systems
...
Replace ios specific cfgs with "apple but not macOS", dubbed
ios_and_friends, so that we also cover iPadOS, etc.. What those have in
common is that they don't have user-resizable windows. (We might want to
add visionOs in the future)
Also, simplify a few macos or ios cfgs with just target_vendor =
"apple", for what applies to all the operating systems.
2025-05-09 20:54:47 +02:00
Simon Hausmann
302926edfa
Skia: Improve multi-window rendering resource consumption ( #8304 )
...
Share Vulkan instance as well as Metal device and command queue across windows.
2025-04-29 18:58:09 +02:00
Simon Hausmann
98dc4a8657
FemtoVG: Abstract the rest of the FemtoVGRenderer type to be independent from OpenGL
...
The main visible external change is that FemtoVGRenderer is now a generic type, but in the public Slint API the type alias that uses the OpenGL backend is re-exported under the old name. This looks a little different in rustdoc
but appears to be source compatible.
2025-04-25 10:08:38 +02:00
Simon Hausmann
6595aee73c
Replace use of Rc<winit: 🪟 :Window> with Arc ( #8257 )
...
In preparation for wgpu usage, where the wgpu API requires the window
handle to be send, i.e. Arc<dyn HasWindowHandle>.
2025-04-24 13:28:51 +02:00
Olivier Goffart
78a3757b7f
Remormat all the toml file again to fix npm upload
...
Commit cd6f2e2
reformated the .toml, but the 80 char width column is
judged too small to be practical
Add a .taplo.toml file
Also do not split feature array
2025-04-09 15:06:00 +02:00
Tobias Hunger
cd6f2e2cf2
ci: Format toml files
...
... using taplo with default settings
I tried this with 4 spaces indentation, but the patch is almost as
big as this one, so I went with default settings instead as that
is just easier:-)
2025-04-02 11:03:41 +02:00
Simon Hausmann
9195f3e265
Fix build with renderer-skia-vulkan
...
We always offer the Skia software renderer fallback in
`new_try_vulkan_then_opengl_then_software`, so make sure that the drm
and mmemap dependencies are activated, needed to compile swdisplay.rs.
2025-02-11 09:15:38 +00:00
Simon Hausmann
c0948f83e5
Fix panic when using the scroll wheel with linuxkms
...
Don't use todo!().
2025-01-30 12:56:05 +01:00
Simon Hausmann
7816078593
linuxkms: Fix build
...
Ooops
2025-01-17 10:54:00 +00:00
Simon Hausmann
d17025dd3c
linuxms: When we fail to open a DRM device, include the path in the error message
2025-01-17 10:51:39 +00:00
Simon Hausmann
67cd3d7aad
linuxkms: Bump gbm dependency
2025-01-14 13:55:53 +01:00
Tasuku Suzuki
346d1c2df3
Fix typos
...
Ran `typos .` and fixed all typos that do make sense.
https://crates.io/crates/typos
2025-01-13 08:35:20 +01:00
Olivier Goffart
cfbcf0b1d7
Introduce Window::try_dispatch_event ( #7313 )
...
That is the same as Window::dispatch_event, but it reports an error
instead of panicking
2025-01-09 19:39:38 +01:00
Simon Hausmann
0774681196
doc: use rust doc comments for DumbBufferDisplay fields
2025-01-09 16:26:24 +01: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
953d8a49fe
Implement triple-buffering for the DRM dumb buffer display
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
3f8084cdc0
When using Skia with softbuffer and partial rendering, report damages to softbuffer
...
Co-Authored-By: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-19 21:31:04 +01:00
Simon Hausmann
9b7de3f806
Pass the buffer age to the Skia software renderer
2024-11-19 21:31:04 +01:00
Ian Hattendorf
ac9b85049a
Add PlatformBuilder API to allow selecting OpenGL API
...
Right now this just allows selecting between OpenGL and OpenGL ES.
2024-10-23 11:13:49 +02:00
Simon Hausmann
bd99648021
LinuxKMS: Fix rendering with Mali drivers that use linear drm modifiers
...
Passing empty for FbCmd2Flags triggers a failing assertion that requires MODIFIERS to be set if the buffer in question has a modifier.
2024-10-07 17:17:30 +02:00
Simon Hausmann
95ee117897
Remove outdated comment
...
Amends commit 44f1602fd6
2024-10-07 16:14:11 +02:00
crai0
3f3ac7e347
common: add support for back and forward pointing-device buttons ( #6149 )
...
Closes #6043
ChangeLog: add support for back and forward pointing-device buttons
2024-09-18 07:48:30 +02:00
Simon Hausmann
5bfdfaf6c3
linuxkms: bump more dependencies
2024-09-13 17:30:19 +02: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
Simon Hausmann
d3aa425682
Fix build with [ "backend-linuxkms-noseat", "renderer-skia-opengl", "gettext", "compat-1-2" ], default-features = false }
...
Test for `renderer-skia-opengl` as `renderer-skia` enables the former.
2024-07-30 13:39:25 +02:00
Simon Hausmann
9bef3e47f4
Fix GBM rendering on mali EGL drivers
...
Combining an EGL config with EGL_ALPHA_SIZE == 8 with an Xrgb8888 surface yields a bad match on eglCreateWindowSurface.
That's fair, and we should accomodate for that by avoiding such EGL configs.
2024-07-30 13:04:48 +02:00
Simon Hausmann
877bf786b8
Add support for RGB565 linux framebuffer rendering
2024-07-08 11:55:57 +02:00
Simon Hausmann
0aaf5b57ab
Fix formatting
2024-07-02 09:23:09 +02:00
Simon Hausmann
a24c04fd84
linuxkms: Fix build with just renderer-skia
...
That one also falls back to software and when used with linuxfb needs
the timer based animation driver.
2024-07-02 08:50:42 +02:00
Simon Hausmann
6d14f5ca15
Fix unused type warnings in i-slint-backend-linukxms build with default features
...
When no features are enabled, the TimerBasedAnimationDriver would be unused.
2024-07-01 11:33:46 +02:00
Simon Hausmann
d86ae620b4
Add a very basic and crude implementation for software rendering to the legacy Linux framebuffer interface
...
This assumes the same xrgb888 interface that the drm dumb buffer uses, too. Missing, beyond different pixel depths is:
- mode setting (requires fbset on the command line right now)
- vsync (not sure if possible)
- line padding
2024-06-22 09:37:34 +02:00
Simon Hausmann
011a3e8a47
linuxkms: Hide the drm dumb buffer software display implementation behind a trait
...
... to make room for a linuxfb fallback implementation
2024-06-22 09:37:34 +02:00
Olivier Goffart
845f40da9c
linuxkms: ignore warning when no renderer are active
2024-06-20 13:18:44 +02:00
Simon Hausmann
760e04a411
Fix build
...
- Upgrade linuxkms backend to rwh06
- Adapt vulkan_surface to internal Skia surface trait changes made in earlier commit
2024-06-18 17:48:17 +02:00
Simon Hausmann
9c75009910
LinuxKMS: Fix build with just the software renderer
...
We don't need gbm, but at least the drm crate.
2024-06-11 17:35:52 +02:00
Simon Hausmann
028903c2d3
LinuxKMS: Add support for partial rendering with the Slint software renderer
2024-06-10 06:01:19 -07:00
Simon Hausmann
27e9b133c9
LinuxKMS: Improve error reporting when failing to initialize any renderer
...
Collect the errors and print the lot of them.
2024-06-10 06:01:19 -07:00
Simon Hausmann
03b6a055e9
LinuxKMS: Initial support for rendering with the Slint software renderer
...
Two features are still missing:
- mouse cursor support
- partial rendering
2024-06-10 06:01:19 -07: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
Simon Hausmann
b00752514c
Skia: Don't use Vulkan by default also on linuxkms
...
Amends ac53049408
2024-05-07 12:51:41 +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