wlroots does not check whether backend supports explicit sync properly before calling drmSyncobjCreate
Using the Asahi GPU drivers, wlroots does not properly check whether the backend supports explicit sync before calling drmSyncobjCreate, resulting in it returning ENOTSUPP and failing to create a scene output. Relevant IRC logs from #sway
:
<vimproved> heya, i've been having some issues with sway on asahi linux: it launches, but never is able to output anything (it just freezes up still displaying the TTY). In the sway logs, it outputs "[ERROR] [wlr] [render/drm_syncobj.c:24] drmSyncobjCreate failed: Not supported" and then "[ERROR] [sway/desktop/output.c:519] Failed to create a scene output"
<vimproved> i'm not sure why drmSyncobjCreate would be returning ENOTSUPP, it seems like asahi's DRM driver does have the syncobj feature flag set
<vimproved> my working theory is that it's something to do with the fact that the asahi driver sets those feature flags, but not the appledrm driver
<emersion> yeah, wlr has a bug here
<emersion> it doesn't check that the backend supports explicit sync