{
  "id": 18506091,
  "title": "Making musl and proprietary NVIDIA drivers work together",
  "url": "https://urgent.news/2026/11/06/making-musl-and-proprietary-nvidia-drivers-work-together",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-06T13:23:14.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://chimera-linux.org/news/2026/11/musl-nvidia.html"
  },
  "original_language": "en",
  "account": "The issue of making musl-based distributions compatible with proprietary NVIDIA drivers has been a topic of experimentation in recent times. NVIDIA graphics cards present a challenge on Linux due to their reliance on proprietary drivers and userland libraries not available in free software distributions. While free software drivers like Nouveau and NVK provide basic functionality, they often result in reduced performance. The state of compatibility varies depending on the generation of the NVIDIA card in use.\n\nA pull request has been opened to address the compatibility issue, targeting both the 580 and 620 branches. Although not fully ready, it functions and is available for x86_64 and aarch64 architectures. One significant hurdle in making this work is the use of musl, a lightweight C library, which is incompatible with the proprietary NVIDIA drivers that are built for glibc (GNU C Library).\n\nTo overcome this, the GLVND library was introduced by NVIDIA to enable vendor-neutral OpenGL dispatch. It provides the libraries that applications link against and handles the dispatching of calls to the appropriate implementations, whether it be Mesa or the proprietary driver. Most modern distributions now use GLVND, while musl distributions generally do not. Chimera, a musl-based distribution, switched to GLVND in November 2026 to improve compatibility with NVIDIA drivers. However, the latest version of gcompat, which provides compatibility with programs linked with glibc, lacks the necessary symbols required by the proprietary drivers. The latest Git branch, however, contains the required symbols.\n\nThe packaging process involves downloading the NVIDIA driver .run archive and installing it to the correct locations. Since the installation process depends on glibc and other non-musl components, a tool called patchelf is employed to sanitize the libraries and executables being installed, removing unnecessary dependencies and adding required ones, such as libgcompat.so.0, which supplies the missing symbols. This process addresses relocation failures and allows for a successful installation of the NVIDIA drivers on musl-based distributions.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}