System: RTX 3070, nvidia-open 615.71.09, kernel 7.2.9-1-cachyos (Arch-based), Wayland compositor Jay 1.15.0 (github.com/mahkoh/jay)
Problem
Opening Jay’s built-in control center randomly (roughly 70% of the time) causes VK_ERROR_DEVICE_LOST on the VkDevice used to render it. The window stays black. The kernel reports, at the moment the window opens:
NVRM: Xid (PCI:0000:06:00): 31, pid=2390, name=jay, intr 00000000. MMU Fault: ENGINE CE0 HUBCLIENT_CE1 faulted @ 0x0_0d090000. Fault is of type FAULT_PTE ACCESS_TYPE_VIRT_READ
NVRM: memMap_IMPL: CPU mapping not supported for addressSpace: 0x1
The Vulkan validation layer reports no errors, both in failing and in working runs. The Jay maintainer considers a driver bug likely ( Control center randomly shows a black window on NVIDIA (device lost, Xid 31) · Issue #1287 · mahkoh/jay · GitHub ):
What the application does
- The compositor and its control center use separate
VkDevices on the same GPU, in the same process. The compositor’s device also uses a dedicated transfer queue (family 5). - The control center is an in-process Wayland client. It renders into a dmabuf allocated by the compositor, imported via
VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_EXT, withVK_QUEUE_FAMILY_FOREIGN_EXTacquire/release in every frame. All its work is submitted to a single graphics queue. - It uploads textures with
vkCmdCopyBufferToImage2from host-visible staging buffers. Vertex/index buffers are host-mapped, preferring device-local memory. - Each submission waits on a sync_fd imported into a binary semaphore and signals a
VkFence, which is exported as a sync_fd. (Exporting a timeline semaphore asOPAQUE_FDand importing it as a DRM syncobj returnsEINVAL, so that path is not used.)
Reproduce
- Run
jay run(orJAY_VULKAN_VALIDATION=1 jay run) from a TTY with the default config. - Press
alt-cto open the control center. - If it renders, quit jay (
alt-q) and repeat. It fails within a few attempts.
Attached
nvidia-bug-report.log.gz(generated right after a failure)- Jay log of the failing run with
JAY_VULKAN_VALIDATION=1 - Journal logs
jay-2026-10-04T00:03:26.023Z-0.txt (71.7 KB)
nvidia-bug-report.log.gz (567.6 KB)
nvidia-report-journal.log (106.1 KB)