Skip to content

Conversation

miaulightouch
Copy link

linuxserver.io


  • I have read the contributing guideline and understand that I have made the correct modifications

Description:

Added automatic setup of NVIDIA graphics API configuration files (OpenCL, Vulkan, EGL) when they are missing or not properly mounted by nvidia-container-toolkit.

Modified init-video script to detect and create:

  • OpenCL ICD files in /etc/OpenCL/vendors/
  • Vulkan ICD files in /etc/vulkan/icd.d/
  • EGL vendor files in /etc/glvnd/egl_vendor.d/

Benefits of this PR and context:

  • Ensures consistent NVIDIA graphics support across different container environments
  • Fixes issues where nvidia-container-toolkit doesn't mount all required files
  • Enables proper OpenCL, Vulkan, and EGL functionality for NVIDIA GPUs

How Has This Been Tested?

  • Tested with NVIDIA GPU containers where graphics API files were missing
  • Verified OpenCL, Vulkan, and EGL functionality after automatic setup (clinfo, vulkaninfo, glxinfo, eglinfo)
  • Confirmed proper version detection for Vulkan API from library symlinks

Source / References:

https://github.com/selkies-project/docker-selkies-egl-desktop/blob/8dd03fba2a33ac774d61f46375a19ed1d9c5b51a/Dockerfile#L248-L264

billy added 2 commits October 1, 2025 10:27
Because NVIDIA never does it correctly, we have to do this ourselves.
- NVIDIA doesn't provide DRI3 support
- NVIDIA never fixes this issue properly
- NVIDIA likes to do things their own way
- Top 3 public clouds are obsessed with NVIDIA, so we have no choice but to support it

Ported from: https://github.com/selkies-project/docker-selkies-egl-desktop/blob/8dd03fba2a33ac774d61f46375a19ed1d9c5b51a/Dockerfile#L248-L264
@Copilot Copilot AI review requested due to automatic review settings October 1, 2025 03:39
@LinuxServer-CI LinuxServer-CI moved this to PRs Ready For Team Review in Issue & PR Tracker Oct 1, 2025
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this pull request! Be sure to follow the pull request template!

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes missing NVIDIA graphics API configuration files when nvidia-container-toolkit doesn't properly mount all required files to Docker containers. The changes ensure consistent NVIDIA GPU support by automatically creating OpenCL, Vulkan, and EGL configuration files when they are missing.

Key changes:

  • Added automatic detection and setup of NVIDIA graphics API configuration files
  • Implemented fallback creation of OpenCL ICD, Vulkan ICD, and EGL vendor files
  • Added dynamic Vulkan API version detection from library symlinks

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@LinuxServer-CI
Copy link
Collaborator

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-4240d5bc2ed08b754931ce8a709e61d40e66c29d-pr-91/index.html
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-4240d5bc2ed08b754931ce8a709e61d40e66c29d-pr-91/shellcheck-result.xml

Tag Passed
amd64-debianbookworm-88437702-pkg-88437702-dev-4240d5bc2ed08b754931ce8a709e61d40e66c29d-pr-91
arm64v8-debianbookworm-88437702-pkg-88437702-dev-4240d5bc2ed08b754931ce8a709e61d40e66c29d-pr-91

@LinuxServer-CI
Copy link
Collaborator

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-9abc8e1201d66eec3abaf7d8ed650251e87575ed-pr-91/index.html
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-9abc8e1201d66eec3abaf7d8ed650251e87575ed-pr-91/shellcheck-result.xml

Tag Passed
amd64-debianbookworm-88437702-pkg-88437702-dev-9abc8e1201d66eec3abaf7d8ed650251e87575ed-pr-91
arm64v8-debianbookworm-88437702-pkg-88437702-dev-9abc8e1201d66eec3abaf7d8ed650251e87575ed-pr-91

@thelamer thelamer changed the base branch from master to harden-bookworm October 2, 2025 14:27
@github-project-automation github-project-automation bot moved this from PRs Ready For Team Review to PRs Approved in Issue & PR Tracker Oct 2, 2025
thelamer added a commit that referenced this pull request Oct 2, 2025
@LinuxServer-CI
Copy link
Collaborator

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-6caaad660f0e4c21a0ea2b570ffcab9dc91357f3-pr-91/index.html
https://ci-tests.linuxserver.io/lspipepr/selkies-base/debianbookworm-88437702-pkg-88437702-dev-6caaad660f0e4c21a0ea2b570ffcab9dc91357f3-pr-91/shellcheck-result.xml

Tag Passed
amd64-debianbookworm-88437702-pkg-88437702-dev-6caaad660f0e4c21a0ea2b570ffcab9dc91357f3-pr-91
arm64v8-debianbookworm-88437702-pkg-88437702-dev-6caaad660f0e4c21a0ea2b570ffcab9dc91357f3-pr-91

@thelamer thelamer merged commit e8ba0f3 into linuxserver:harden-bookworm Oct 2, 2025
3 checks passed
@LinuxServer-CI LinuxServer-CI moved this from PRs Approved to Done in Issue & PR Tracker Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

3 participants