From 2cbd78091e19bbedf230decb99f60dfacc10b619 Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Thu, 22 Feb 2024 15:19:16 +0100 Subject: [PATCH] nvidia-drivers: Improve match for NVIDIA GPUs The logic for checking if we need to probe depends on the device showing up with the product type in lspci output, which doesn't hold for all sorts of GPUs. The NVIDIA_PRODUCT_TYPE is used for fetching the drivers and is "tesla" across datacenter GPUs. Switch to matching on vendor id and device class. The values are the same ones that the nvidia driver binds to. Signed-off-by: Jeremi Piotrowski --- .../x11-drivers/nvidia-drivers/files/bin/setup-nvidia | 11 ++++++++--- ....05.ebuild => nvidia-drivers-535.104.05-r1.ebuild} | 0 2 files changed, 8 insertions(+), 3 deletions(-) rename sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/{nvidia-drivers-535.104.05.ebuild => nvidia-drivers-535.104.05-r1.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia index 0c6f52e158..6ecb16d334 100644 --- a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia +++ b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/files/bin/setup-nvidia @@ -136,10 +136,15 @@ function verify_installation() { } function is_nvidia_probe_required() { - if [[ -z "$(lspci | grep -i "${NVIDIA_PRODUCT_TYPE}")" ]]; then - return 1 + # Vendor: NVIDIA, Class: VGA compatible controller + if [[ -n "$(lspci -d 10de:*:0300)" ]]; then + return 0 fi - return 0 + # Vendor: NVIDIA, Class: 3D controller + if [[ -n "$(lspci -d 10de:*:0302)" ]]; then + return 0 + fi + return 1 } function is_nvidia_installation_required() { diff --git a/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.104.05.ebuild b/sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.104.05-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.104.05.ebuild rename to sdk_container/src/third_party/coreos-overlay/x11-drivers/nvidia-drivers/nvidia-drivers-535.104.05-r1.ebuild