Asahi + sway GPU failure

I’m using Asahi Linux on a MacBook M1 Max. My config is nix-dotfiles/home-manager/earthworm-config.nix at d7221c2af1c68422e6f1f73b4cac071c7f8ba1b8 · Smaug123/nix-dotfiles · GitHub .

Symptom: when using the GPU, sway quits immediately with error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT". So I’m currently using WLR_RENDERER=pixman, which is extremely janky.

Does anyone know how to fix this or else where it would better be raised? (And what extra information I need to give?)

sway -d:

00:00:00.002 [INFO] [sway/main.c:376] Starting sway version 1.9
00:00:00.002 [DEBUG] [sway/server.c:129] Initializing Wayland server
00:00:00.002 [INFO] [wlr] [libseat] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
00:00:00.002 [INFO] [wlr] [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
00:00:00.022 [INFO] [wlr] [libseat] [libseat/libseat.c:73] Seat opened with backend 'logind'
00:00:00.022 [INFO] [wlr] [backend/session/session.c:109] Successfully loaded libseat session
00:00:00.024 [DEBUG] [wlr] [backend/session/session.c:384] Ignoring '/dev/dri/card1': not a KMS device
00:00:00.029 [INFO] [wlr] [backend/backend.c:213] Found 1 GPUs
00:00:00.030 [INFO] [wlr] [backend/drm/backend.c:202] Initializing DRM backend for /dev/dri/card0 (apple)
00:00:00.030 [DEBUG] [wlr] [backend/drm/drm.c:110] Using atomic DRM interface
00:00:00.030 [DEBUG] [wlr] [backend/drm/drm.c:123] ADDFB2 modifiers supported
00:00:00.030 [INFO] [wlr] [backend/drm/drm.c:255] Found 1 DRM CRTCs
00:00:00.030 [INFO] [wlr] [backend/drm/drm.c:213] Found 1 DRM planes
00:00:00.030 [INFO] [wlr] [render/egl.c:206] Supported EGL client extensions: EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_explicit_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_EXT_platform_xcb EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless
00:00:00.031 [ERROR] [wlr] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
00:00:00.031 [ERROR] [wlr] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
00:00:00.031 [DEBUG] [wlr] [render/egl.c:509] DRM device '/dev/dri/card0' has no render node, falling back to primary node