DRI3Open missing in the X11 driver for wlroots compositors

I’d like to run a wlroots-based Wayland compositor like waybox or sway inside my main X server. I’m getting this error message:

$ ~/src/waybox/build/waybox/waybox
00:00:00.000 [backend/x11/backend.c:609] Failed to query DRI3 DRM FD
00:00:00.000 […/waybox/main.c:90] Failed to create backend

The error happens because wlroots is calling DRI3Open, but the dri3_screen_info_rec struct provided to Xorg by the nvidia driver is missing “open” and “open_client” pointers:

https://github.com/freedesktop/xorg-xserver/blob/master/dri3/dri3_screen.c#L40

(gdb) p *info
$1 = {version = 2, open = 0x0, pixmap_from_fd = 0x0, fd_from_pixmap = 0x0, open_client = 0x0, pixmap_from_fds = 0x7f87480ab940, fds_from_pixmap = 0x0, get_formats = 0x7f87480ab8b0,
get_modifiers = 0x7f87480ab7d0, get_drawable_modifiers = 0x0}

Is this supposed to work? Am I missing some configuration? I have kernel modesetting and see DRI3 in xdpyinfo and Xorg log.

nvidia-bug-report.log.gz (1.0 MB)