mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
0.5.0 asked wgpu for the low-power adapter everywhere (#306). On a Linux desktop whose KDE Wayland compositor runs on an NVIDIA GPU, wgpu sorted the Ryzen's integrated RADV GPU first: it reports that it can present to the window, but KWin can't import the buffers it allocates ("importing the supplied dmabufs failed"), which is a fatal Wayland protocol error. The next surface configuration then got ERROR_SURFACE_LOST_KHR and egui-wgpu panicked ("The surface isn't supported by this adapter", winit.rs:129). - Preferences > Performance > Graphics Processor gains Automatic, the new default: power saving on Windows and macOS as #306 wanted, and on Linux the system's order, where Mesa's device-select layer puts the GPU the desktop runs on first. Values are now automatic / lowPower / highPerformance; 0.5.0 saved powerSaving for everyone, which reads as automatic. - The app picks the window's adapter itself (apps/vectorcraft/src/gpu.rs, eframe's native_adapter_selector): only adapters that present to the surface, WGPU_ADAPTER_NAME first, hardware before software, native backends before OpenGL, then the power preference. Every adapter and the pick are logged. - run_native runs under the engine guard. When the graphics fail during the first frames (a wgpu error, or a panic in wgpu, egui-wgpu or naga), the app starts again without that adapter (exec on Unix, so an AppImage stays mounted; a new process on Windows), passing the failed adapters in VECTORCRAFT_GPU_SKIP, and says so in the status bar. When none is left it logs why and exits with an error, never a panic. - docs/development.md, README and ROADMAP: the new default, the restart and the escape hatches (WGPU_POWER_PREF, WGPU_ADAPTER_NAME, WGPU_BACKEND, MESA_VK_DEVICE_SELECT, DRI_PRIME). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>