Skip to content

Conversation

@pmenzel
Copy link
Collaborator

@pmenzel pmenzel commented Sep 7, 2026

No description provided.

Update the version from 0.17 to 0.18.

Mesa's GBM loader derives the backend file name from the DRM driver:
_gbm_create_device() in src/gbm/main/backend.c asks drmGetVersion() for the
driver name, tries <name>_gbm.so below the backends path -- /usr/lib/gbm,
as libgbm is configured here -- and only then falls back to dri_gbm.so. For
a device driven by nvidia-drm that name is nvidia-drm_gbm.so, and
libnvidia-allocator.so.1, which exports gbmint_get_backend and announces
the backend name "nvidia", is the library NVIDIA ships for it. Without the
link Mesa takes the dri fallback and reports the backend as "drm", which is
where the `kmsro: driver missing` messages come from.

/usr/lib/gbm belongs to mesalib, so the directory is excluded and only the
link is packaged, the way the X11 and xorg driver directories already are.

The link is inert on its own: it needs the mxtools change loading the
module with KMS enabled, `insmod ${nvlink}/nvidia-drm.ko modeset=1`, which
/usr/sbin/nvidiactl:91 does not do yet. Without modeset the NVIDIA
/sys/class/drm/cardN has no connectors and NVIDIA's GBM backend returns
NULL from create_device for both the card and the render node, so Mesa
falls back as before.

Link: mariux64/mariux64-issues#161
Assisted-by: claude-opus-5
@pmenzel pmenzel merged commit cbc7ac0 into master Sep 7, 2026
@pmenzel pmenzel deleted the nvidia-mxlinks-link-the-gbm-backend branch September 7, 2026 21:15
Sign in to join this conversation on GitHub.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant