If gbm_surface_create
is given either or both of the usual flags that mutter uses: GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING
then it fails with errno==ENOSYS
(Function not implemented). Setting flags to zero however makes gbm_surface_create
succeed.
Confirmed the behaviour persists even after upgrading to 545.29.06.
Discovered in Nvidia secondary GPU copy acceleration (!3304) · Merge requests · GNOME / mutter · GitLab
If it’s actually complaining about arguments then I suspect EINVAL
would be a less confusing error than ENOSYS
. Although given that nvidia-drm can successfully scanout and render using flags=0
, returning success would make even more sense.