-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] CI instead real machines #81
Comments
While not all compositors have an headless mode, I (think?) all of them support running nested in another compositor, so I think it should be possible to run weston in headless mode, spawn a different nested compositor, which itself is set to spawn wlprobe, and pass the information back out through a named pipe. |
Do compositors provide different protocols depending on the hardware environment? For example, wlroots doesn't provide the linux-dmabuf protocol when using the pixman renderer. [1] I'm not sure if other compositors have similar issues. [1] https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3844 |
That's annoying, I think we can compare the new support data to the existing one every time and error on regressions because it's highly unlikely compositor support regresses, so worst case we'll miss newly added interfaces/versions that regress, and it can be easily verified manually. I got a proof of concept working with niri, which is sort of a worst case because it doesn't forward client output at all and has no option to set a custom wayland socket (it's hardcoded with the default smithay logic, I've happened to read that code before it basically finds the lowest unused weston -Bheadless -Sweston &
mkfifo /run/user/1000/output
WAYLAND_DISPLAY=weston niri -- bash -c "wlprobe > /run/user/1000/output" &
cat /run/user/1000/output I think this should also work running all the compositors in parallel, as weston supports this for testing. |
I just compared the output and you're right, it's already a problem, the following interfaces don't show up in this setup:
These all seem DRM related, once again weston comes to the rescue, although I still need to figure out how to use VKMS. @PolyMeilex I also noticed |
Oh, yeah, I never noticed as I'm always using a VM to generate those. But judging by the fact that wlprobe is supposed to be wayland-info alternative it should output all advertised globals. Perhaps we can add a dedup cli flag, or just postprocess the output in JS if needed. |
I managed to get DRM somewhat working with VKMS (with the weston
Script: sudo modprobe vkms
WESTON_TEST_SUITE_DRM_DEVICE=$(basename /sys/devices/platform/vkms/drm/card*) LIBSEAT_BACKEND=noop weston -Bdrm -Sweston
mkfifo /run/user/1000/output
WAYLAND_DISPLAY=weston niri -- bash -c "wlprobe > /run/user/1000/output" &
cat /run/user/1000/output Edit: I forgot |
It's possible to make CI build with installing any WM/DE and wlprobe and start test?
For example Fedora Rawhide has hyprland, labwc, Weston, wayfire, river, miracle-wm
The text was updated successfully, but these errors were encountered: