mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-14 19:26:56 -04:00
On a hybrid laptop whose Wayland compositor runs on the discrete GPU (Hyprland with AQ_DRM_DEVICES naming the NVIDIA card first), the built-in panel still hangs off the integrated GPU, so the display rule put it first, and the window stayed empty: the compositor took the frames and showed nothing, with no error, so neither the restart on a failed adapter (#502) nor the first-frame watch (#964) noticed. Which GPU drives a display stands in for which GPU the compositor draws with. Under Wayland the compositor says so itself: the main_device of its linux-dmabuf feedback (version 4), the device it imports client buffers on, which Mesa's Vulkan device-select layer reads for the same purpose. compositor_gpu.rs asks for it on a short-lived connection, maps the dev_t to PCI ids through /sys/dev/char, and under Automatic adapter_order ranks that adapter ahead of the display GPUs. No answer (X11, an older compositor, a GPU no adapter matches) leaves the existing rules in charge; a user's own choice, WGPU_ADAPTER_NAME and the restart skip list still come first. wayland-client and wayland-protocols are already in the tree through winit; they become direct Linux-only dependencies.