Coder Social home page Coder Social logo

open-gpu-kernel-modules's Introduction

NVIDIA Linux Open GPU Kernel Module Source

This is the source release of the NVIDIA Linux open GPU kernel modules, version 550.78.

How to Build

To build:

make modules -j$(nproc)

To install, first uninstall any existing NVIDIA kernel modules. Then, as root:

make modules_install -j$(nproc)

Note that the kernel modules built here must be used with GSP firmware and user-space NVIDIA GPU driver components from a corresponding 550.78 driver release. This can be achieved by installing the NVIDIA GPU driver from the .run file using the --no-kernel-modules option. E.g.,

sh ./NVIDIA-Linux-[...].run --no-kernel-modules

Supported Target CPU Architectures

Currently, the kernel modules can be built for x86_64 or aarch64. If cross-compiling, set these variables on the make command line:

TARGET_ARCH=aarch64|x86_64
CC
LD
AR
CXX
OBJCOPY

E.g.,

# compile on x86_64 for aarch64
make modules -j$(nproc)         \
    TARGET_ARCH=aarch64         \
    CC=aarch64-linux-gnu-gcc    \
    LD=aarch64-linux-gnu-ld     \
    AR=aarch64-linux-gnu-ar     \
    CXX=aarch64-linux-gnu-g++   \
    OBJCOPY=aarch64-linux-gnu-objcopy

Other Build Knobs

NV_VERBOSE - Set this to "1" to print each complete command executed; otherwise, a succinct "CC" line is printed.

DEBUG - Set this to "1" to build the kernel modules as debug. By default, the build compiles without debugging information. This also enables various debug log messages in the kernel modules.

These variables can be set on the make command line. E.g.,

make modules -j$(nproc) NV_VERBOSE=1

Supported Toolchains

Any reasonably modern version of GCC or Clang can be used to build the kernel modules. Note that the kernel interface layers of the kernel modules must be built with the toolchain that was used to build the kernel.

Supported Linux Kernel Versions

The NVIDIA open kernel modules support the same range of Linux kernel versions that are supported with the proprietary NVIDIA kernel modules. This is currently Linux kernel 3.10 or newer.

How to Contribute

Contributions can be made by creating a pull request on https://github.com/NVIDIA/open-gpu-kernel-modules We'll respond via GitHub.

Note that when submitting a pull request, you will be prompted to accept a Contributor License Agreement.

This code base is shared with NVIDIA's proprietary drivers, and various processing is performed on the shared code to produce the source code that is published here. This has several implications for the foreseeable future:

  • The GitHub repository will function mostly as a snapshot of each driver release.

  • We do not expect to be able to provide revision history for individual changes that were made to NVIDIA's shared code base. There will likely only be one git commit per driver release.

  • We may not be able to reflect individual contributions as separate git commits in the GitHub repository.

  • Because the code undergoes various processing prior to publishing here, contributions made here require manual merging to be applied to the shared code base. Therefore, large refactoring changes made here may be difficult to merge and accept back into the shared code base. If you have large refactoring to suggest, please contact us in advance, so we can coordinate.

How to Report Issues

Problems specific to the Open GPU Kernel Modules can be reported in the Issues section of the https://github.com/NVIDIA/open-gpu-kernel-modules repository.

Further, any of the existing bug reporting venues can be used to communicate problems to NVIDIA, such as our forum:

https://forums.developer.nvidia.com/c/gpu-graphics/linux/148

or [email protected].

Please see the 'NVIDIA Contact Info and Additional Resources' section of the NVIDIA GPU Driver README for details.

Please see the separate SECURITY.md document if you believe you have discovered a security vulnerability in this software.

Kernel Interface and OS-Agnostic Components of Kernel Modules

Most of NVIDIA's kernel modules are split into two components:

  • An "OS-agnostic" component: this is the component of each kernel module that is independent of operating system.

  • A "kernel interface layer": this is the component of each kernel module that is specific to the Linux kernel version and configuration.

When packaged in the NVIDIA .run installation package, the OS-agnostic component is provided as a binary: it is large and time-consuming to compile, so pre-built versions are provided so that the user does not have to compile it during every driver installation. For the nvidia.ko kernel module, this component is named "nv-kernel.o_binary". For the nvidia-modeset.ko kernel module, this component is named "nv-modeset-kernel.o_binary". Neither nvidia-drm.ko nor nvidia-uvm.ko have OS-agnostic components.

The kernel interface layer component for each kernel module must be built for the target kernel.

Directory Structure Layout

  • kernel-open/ The kernel interface layer

  • kernel-open/nvidia/ The kernel interface layer for nvidia.ko

  • kernel-open/nvidia-drm/ The kernel interface layer for nvidia-drm.ko

  • kernel-open/nvidia-modeset/ The kernel interface layer for nvidia-modeset.ko

  • kernel-open/nvidia-uvm/ The kernel interface layer for nvidia-uvm.ko

  • src/ The OS-agnostic code

  • src/nvidia/ The OS-agnostic code for nvidia.ko

  • src/nvidia-modeset/ The OS-agnostic code for nvidia-modeset.ko

  • src/common/ Utility code used by one or more of nvidia.ko and nvidia-modeset.ko

  • nouveau/ Tools for integration with the Nouveau device driver

Nouveau device driver integration

The Python script in the 'nouveau' directory is used to extract some of the firmware binary images (and related data) encoded in the source code and store them as distinct files. These files are used by the Nouveau device driver to load and communicate with the GSP firmware.

The layout of the binary files is described in nouveau_firmware_layout.ods, which is an OpenDocument Spreadsheet file, compatible with most spreadsheet software applications.

Compatible GPUs

The NVIDIA open kernel modules can be used on any Turing or later GPU (see the table below). However, in the DRIVER_VERION release, GeForce and Workstation support is considered to be Beta quality. The open kernel modules are suitable for broad usage, and NVIDIA requests feedback on any issues encountered specific to them.

For details on feature support and limitations, see the NVIDIA GPU driver end user README here:

https://us.download.nvidia.com/XFree86/Linux-x86_64/550.78/README/kernel_open.html

For vGPU support, please refer to the README.vgpu packaged in the vGPU Host Package for more details.

In the below table, if three IDs are listed, the first is the PCI Device ID, the second is the PCI Subsystem Vendor ID, and the third is the PCI Subsystem Device ID.

Product Name PCI ID
NVIDIA TITAN RTX 1E02
NVIDIA GeForce RTX 2080 Ti 1E04
NVIDIA GeForce RTX 2080 Ti 1E07
Quadro RTX 6000 1E30
Quadro RTX 8000 1E30 1028 129E
Quadro RTX 8000 1E30 103C 129E
Quadro RTX 8000 1E30 10DE 129E
Quadro RTX 6000 1E36
Quadro RTX 8000 1E78 10DE 13D8
Quadro RTX 6000 1E78 10DE 13D9
NVIDIA GeForce RTX 2080 SUPER 1E81
NVIDIA GeForce RTX 2080 1E82
NVIDIA GeForce RTX 2070 SUPER 1E84
NVIDIA GeForce RTX 2080 1E87
NVIDIA GeForce RTX 2060 1E89
NVIDIA GeForce RTX 2080 1E90
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1025 1375
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08A1
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08A2
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08EA
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08EB
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08EC
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08ED
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08EE
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 08EF
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 093B
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1028 093C
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 8572
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 8573
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 8602
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 8606
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 86C6
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 86C7
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 87A6
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 103C 87A7
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1043 131F
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1043 137F
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1043 141F
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1043 1751
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 1660
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 1661
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 1662
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 75A6
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 75A7
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 86A6
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1458 86A7
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1462 1274
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1462 1277
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 152D 1220
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1558 95E1
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1558 97E1
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1A58 2002
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1A58 2005
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1A58 2007
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1A58 3000
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1A58 3001
NVIDIA GeForce RTX 2080 with Max-Q Design 1E90 1D05 1069
NVIDIA GeForce RTX 2070 Super 1E91
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 8607
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 8736
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 8738
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 8772
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 878A
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 103C 878B
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1043 1E61
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 1511
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 75B3
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 75B4
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 76B2
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 76B3
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 78A2
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 78A3
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 86B2
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1458 86B3
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1462 12AE
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1462 12B0
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1462 12C6
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 17AA 22C3
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 17AA 22C5
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1A58 2009
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1A58 200A
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 1A58 3002
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1E91 8086 3012
NVIDIA GeForce RTX 2080 Super 1E93
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1025 1401
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1025 149C
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1028 09D2
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 8607
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 86C7
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 8736
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 8738
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 8772
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 87A6
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 103C 87A7
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 75B1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 75B2
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 76B0
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 76B1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 78A0
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 78A1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 86B0
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1458 86B1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1462 12AE
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1462 12B0
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1462 12B4
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1462 12C6
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1558 50D3
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1558 70D1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 17AA 22C3
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 17AA 22C5
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1A58 2009
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1A58 200A
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1A58 3002
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1E93 1D05 1089
Quadro RTX 5000 1EB0
Quadro RTX 4000 1EB1
Quadro RTX 5000 1EB5
Quadro RTX 5000 with Max-Q Design 1EB5 1025 1375
Quadro RTX 5000 with Max-Q Design 1EB5 1025 1401
Quadro RTX 5000 with Max-Q Design 1EB5 1025 149C
Quadro RTX 5000 with Max-Q Design 1EB5 1028 09C3
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8736
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8738
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8772
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8780
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8782
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8783
Quadro RTX 5000 with Max-Q Design 1EB5 103C 8785
Quadro RTX 5000 with Max-Q Design 1EB5 1043 1DD1
Quadro RTX 5000 with Max-Q Design 1EB5 1462 1274
Quadro RTX 5000 with Max-Q Design 1EB5 1462 12B0
Quadro RTX 5000 with Max-Q Design 1EB5 1462 12C6
Quadro RTX 5000 with Max-Q Design 1EB5 17AA 22B8
Quadro RTX 5000 with Max-Q Design 1EB5 17AA 22BA
Quadro RTX 5000 with Max-Q Design 1EB5 1A58 2005
Quadro RTX 5000 with Max-Q Design 1EB5 1A58 2007
Quadro RTX 5000 with Max-Q Design 1EB5 1A58 2008
Quadro RTX 5000 with Max-Q Design 1EB5 1A58 200A
Quadro RTX 4000 1EB6
Quadro RTX 4000 with Max-Q Design 1EB6 1028 09C3
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8736
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8738
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8772
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8780
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8782
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8783
Quadro RTX 4000 with Max-Q Design 1EB6 103C 8785
Quadro RTX 4000 with Max-Q Design 1EB6 1462 1274
Quadro RTX 4000 with Max-Q Design 1EB6 1462 1277
Quadro RTX 4000 with Max-Q Design 1EB6 1462 12B0
Quadro RTX 4000 with Max-Q Design 1EB6 1462 12C6
Quadro RTX 4000 with Max-Q Design 1EB6 17AA 22B8
Quadro RTX 4000 with Max-Q Design 1EB6 17AA 22BA
NVIDIA GeForce RTX 2070 SUPER 1EC2
NVIDIA GeForce RTX 2070 SUPER 1EC7
NVIDIA GeForce RTX 2080 1ED0
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1025 132D
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1028 08ED
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1028 08EE
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1028 08EF
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 103C 8572
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 103C 8573
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 103C 8600
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 103C 8605
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1043 138F
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 1043 15C1
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 17AA 3FEE
NVIDIA GeForce RTX 2080 with Max-Q Design 1ED0 17AA 3FFE
NVIDIA GeForce RTX 2070 Super 1ED1
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 1025 1432
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 103C 8746
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 103C 878A
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 1043 165F
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 144D C192
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 17AA 3FCE
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 17AA 3FCF
NVIDIA GeForce RTX 2070 Super with Max-Q Design 1ED1 17AA 3FD0
NVIDIA GeForce RTX 2080 Super 1ED3
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 1025 1432
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 1028 09D1
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 103C 8746
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 103C 878A
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 1043 1D61
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 1043 1E51
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 1043 1F01
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 17AA 3FCE
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 17AA 3FCF
NVIDIA GeForce RTX 2080 Super with Max-Q Design 1ED3 17AA 3FD0
Quadro RTX 5000 1EF5
NVIDIA GeForce RTX 2070 1F02
NVIDIA GeForce RTX 2060 1F03
NVIDIA GeForce RTX 2060 SUPER 1F06
NVIDIA GeForce RTX 2070 1F07
NVIDIA GeForce RTX 2060 1F08
NVIDIA GeForce GTX 1650 1F0A
NVIDIA GeForce RTX 2070 1F10
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1025 132D
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1025 1342
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08A1
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08A2
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08EA
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08EB
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08EC
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08ED
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08EE
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 08EF
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 093B
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1028 093C
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 103C 8572
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 103C 8573
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 103C 8602
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 103C 8606
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1043 132F
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1043 136F
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1043 1881
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1043 1E6E
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 1658
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 1663
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 1664
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 75A4
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 75A5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 86A4
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1458 86A5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1462 1274
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1462 1277
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1558 95E1
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1558 97E1
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1A58 2002
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1A58 2005
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1A58 2007
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1A58 3000
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1A58 3001
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1D05 105E
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1D05 1070
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 1D05 2087
NVIDIA GeForce RTX 2070 with Max-Q Design 1F10 8086 2087
NVIDIA GeForce RTX 2060 1F11
NVIDIA GeForce RTX 2060 1F12
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 1028 098F
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 103C 8741
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 103C 8744
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 103C 878E
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 103C 880E
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 1043 1E11
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 1043 1F11
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 1462 12D9
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 17AA 3801
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 17AA 3802
NVIDIA GeForce RTX 2060 with Max-Q Design 1F12 17AA 3803
NVIDIA GeForce RTX 2070 1F14
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1025 1401
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1025 1432
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1025 1442
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1025 1446
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1025 147D
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1028 09E2
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1028 09F3
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 8607
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 86C6
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 86C7
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 8736
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 8738
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 8746
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 8772
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 878A
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 878B
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 87A6
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 103C 87A7
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1043 174F
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 1512
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 75B5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 75B6
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 76B4
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 76B5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 78A4
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 78A5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 86B4
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1458 86B5
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1462 12AE
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1462 12B0
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1462 12C6
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1558 50D3
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1558 70D1
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1A58 200C
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1A58 2011
NVIDIA GeForce RTX 2070 with Max-Q Design 1F14 1A58 3002
NVIDIA GeForce RTX 2060 1F15
Quadro RTX 3000 1F36
Quadro RTX 3000 with Max-Q Design 1F36 1028 0990
Quadro RTX 3000 with Max-Q Design 1F36 103C 8736
Quadro RTX 3000 with Max-Q Design 1F36 103C 8738
Quadro RTX 3000 with Max-Q Design 1F36 103C 8772
Quadro RTX 3000 with Max-Q Design 1F36 1043 13CF
Quadro RTX 3000 with Max-Q Design 1F36 1414 0032
NVIDIA GeForce RTX 2060 SUPER 1F42
NVIDIA GeForce RTX 2060 SUPER 1F47
NVIDIA GeForce RTX 2070 1F50
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 1028 08ED
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 1028 08EE
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 1028 08EF
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 103C 8572
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 103C 8573
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 103C 8574
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 103C 8600
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 103C 8605
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 17AA 3FEE
NVIDIA GeForce RTX 2070 with Max-Q Design 1F50 17AA 3FFE
NVIDIA GeForce RTX 2060 1F51
NVIDIA GeForce RTX 2070 1F54
NVIDIA GeForce RTX 2070 with Max-Q Design 1F54 103C 878A
NVIDIA GeForce RTX 2070 with Max-Q Design 1F54 17AA 3FCE
NVIDIA GeForce RTX 2070 with Max-Q Design 1F54 17AA 3FCF
NVIDIA GeForce RTX 2070 with Max-Q Design 1F54 17AA 3FD0
NVIDIA GeForce RTX 2060 1F55
Quadro RTX 3000 1F76
Matrox D-Series D2450 1F76 102B 2800
Matrox D-Series D2480 1F76 102B 2900
NVIDIA GeForce GTX 1650 1F82
NVIDIA GeForce GTX 1630 1F83
NVIDIA GeForce GTX 1650 1F91
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 103C 863E
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 103C 86E7
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 103C 86E8
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1043 12CF
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1043 156F
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1414 0032
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 144D C822
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1462 127E
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1462 1281
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1462 1284
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1462 1285
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1462 129C
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 17AA 229F
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 17AA 3802
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 17AA 3806
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 17AA 3F1A
NVIDIA GeForce GTX 1650 with Max-Q Design 1F91 1A58 1001
NVIDIA GeForce GTX 1650 Ti 1F95
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1025 1479
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1025 147A
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1025 147B
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1025 147C
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 103C 86E7
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 103C 86E8
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 103C 8815
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1043 1DFF
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1043 1E1F
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 144D C838
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1462 12BD
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1462 12C5
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1462 12D2
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 17AA 22C0
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 17AA 22C1
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 17AA 3837
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 17AA 3F95
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1A58 1003
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1A58 1006
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1A58 1007
NVIDIA GeForce GTX 1650 Ti with Max-Q Design 1F95 1E83 3E30
NVIDIA GeForce GTX 1650 1F96
NVIDIA GeForce GTX 1650 with Max-Q Design 1F96 1462 1297
NVIDIA GeForce MX450 1F97
NVIDIA GeForce MX450 1F98
NVIDIA GeForce GTX 1650 1F99
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1025 1479
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1025 147A
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1025 147B
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1025 147C
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 103C 8815
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1043 13B2
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1043 1402
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1043 1902
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1462 12BD
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1462 12C5
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1462 12D2
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 17AA 22DA
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 17AA 3F93
NVIDIA GeForce GTX 1650 with Max-Q Design 1F99 1E83 3E30
NVIDIA GeForce MX450 1F9C
NVIDIA GeForce GTX 1650 1F9D
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1043 128D
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1043 130D
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1043 149C
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1043 185C
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1043 189C
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 12F4
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 1302
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 131B
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 1326
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 132A
NVIDIA GeForce GTX 1650 with Max-Q Design 1F9D 1462 132E
NVIDIA GeForce MX550 1F9F
NVIDIA GeForce MX550 1FA0
NVIDIA T1000 1FB0 1028 12DB
NVIDIA T1000 1FB0 103C 12DB
NVIDIA T1000 1FB0 103C 8A80
NVIDIA T1000 1FB0 10DE 12DB
NVIDIA DGX Display 1FB0 10DE 1485
NVIDIA T1000 1FB0 17AA 12DB
NVIDIA T600 1FB1 1028 1488
NVIDIA T600 1FB1 103C 1488
NVIDIA T600 1FB1 103C 8A80
NVIDIA T600 1FB1 10DE 1488
NVIDIA T600 1FB1 17AA 1488
NVIDIA T400 1FB2 1028 1489
NVIDIA T400 1FB2 103C 1489
NVIDIA T400 1FB2 103C 8A80
NVIDIA T400 1FB2 10DE 1489
NVIDIA T400 1FB2 17AA 1489
NVIDIA T600 Laptop GPU 1FB6
NVIDIA T550 Laptop GPU 1FB7
Quadro T2000 1FB8
Quadro T2000 with Max-Q Design 1FB8 1028 097E
Quadro T2000 with Max-Q Design 1FB8 103C 8736
Quadro T2000 with Max-Q Design 1FB8 103C 8738
Quadro T2000 with Max-Q Design 1FB8 103C 8772
Quadro T2000 with Max-Q Design 1FB8 103C 8780
Quadro T2000 with Max-Q Design 1FB8 103C 8782
Quadro T2000 with Max-Q Design 1FB8 103C 8783
Quadro T2000 with Max-Q Design 1FB8 103C 8785
Quadro T2000 with Max-Q Design 1FB8 103C 87F0
Quadro T2000 with Max-Q Design 1FB8 1462 1281
Quadro T2000 with Max-Q Design 1FB8 1462 12BD
Quadro T2000 with Max-Q Design 1FB8 17AA 22C0
Quadro T2000 with Max-Q Design 1FB8 17AA 22C1
Quadro T1000 1FB9
Quadro T1000 with Max-Q Design 1FB9 1025 1479
Quadro T1000 with Max-Q Design 1FB9 1025 147A
Quadro T1000 with Max-Q Design 1FB9 1025 147B
Quadro T1000 with Max-Q Design 1FB9 1025 147C
Quadro T1000 with Max-Q Design 1FB9 103C 8736
Quadro T1000 with Max-Q Design 1FB9 103C 8738
Quadro T1000 with Max-Q Design 1FB9 103C 8772
Quadro T1000 with Max-Q Design 1FB9 103C 8780
Quadro T1000 with Max-Q Design 1FB9 103C 8782
Quadro T1000 with Max-Q Design 1FB9 103C 8783
Quadro T1000 with Max-Q Design 1FB9 103C 8785
Quadro T1000 with Max-Q Design 1FB9 103C 87F0
Quadro T1000 with Max-Q Design 1FB9 1462 12BD
Quadro T1000 with Max-Q Design 1FB9 17AA 22C0
Quadro T1000 with Max-Q Design 1FB9 17AA 22C1
NVIDIA T600 Laptop GPU 1FBA
NVIDIA T500 1FBB
NVIDIA T1200 Laptop GPU 1FBC
NVIDIA GeForce GTX 1650 1FDD
NVIDIA T1000 8GB 1FF0 1028 1612
NVIDIA T1000 8GB 1FF0 103C 1612
NVIDIA T1000 8GB 1FF0 103C 8A80
NVIDIA T1000 8GB 1FF0 10DE 1612
NVIDIA T1000 8GB 1FF0 17AA 1612
NVIDIA T400 4GB 1FF2 1028 1613
NVIDIA T400 4GB 1FF2 103C 1613
NVIDIA T400E 1FF2 103C 18FF
NVIDIA T400 4GB 1FF2 103C 8A80
NVIDIA T400 4GB 1FF2 10DE 1613
NVIDIA T400E 1FF2 10DE 18FF
NVIDIA T400 4GB 1FF2 17AA 1613
NVIDIA T400E 1FF2 17AA 18FF
Quadro T1000 1FF9
NVIDIA A100-SXM4-40GB 20B0
NVIDIA A100-PG509-200 20B0 10DE 1450
NVIDIA A100-SXM4-80GB 20B2 10DE 1463
NVIDIA A100-SXM4-80GB 20B2 10DE 147F
NVIDIA A100-SXM4-80GB 20B2 10DE 1622
NVIDIA A100-SXM4-80GB 20B2 10DE 1623
NVIDIA PG509-210 20B2 10DE 1625
NVIDIA A100-SXM-64GB 20B3 10DE 14A7
NVIDIA A100-SXM-64GB 20B3 10DE 14A8
NVIDIA A100 80GB PCIe 20B5 10DE 1533
NVIDIA A100 80GB PCIe 20B5 10DE 1642
NVIDIA PG506-232 20B6 10DE 1492
NVIDIA A30 20B7 10DE 1532
NVIDIA A30 20B7 10DE 1804
NVIDIA A30 20B7 10DE 1852
NVIDIA A800-SXM4-40GB 20BD 10DE 17F4
NVIDIA A100-PCIE-40GB 20F1 10DE 145F
NVIDIA A800-SXM4-80GB 20F3 10DE 179B
NVIDIA A800-SXM4-80GB 20F3 10DE 179C
NVIDIA A800-SXM4-80GB 20F3 10DE 179D
NVIDIA A800-SXM4-80GB 20F3 10DE 179E
NVIDIA A800-SXM4-80GB 20F3 10DE 179F
NVIDIA A800-SXM4-80GB 20F3 10DE 17A0
NVIDIA A800-SXM4-80GB 20F3 10DE 17A1
NVIDIA A800-SXM4-80GB 20F3 10DE 17A2
NVIDIA A800 80GB PCIe 20F5 10DE 1799
NVIDIA A800 80GB PCIe LC 20F5 10DE 179A
NVIDIA A800 40GB Active 20F6 1028 180A
NVIDIA A800 40GB Active 20F6 103C 180A
NVIDIA A800 40GB Active 20F6 10DE 180A
NVIDIA A800 40GB Active 20F6 17AA 180A
NVIDIA AX800 20FD 10DE 17F8
NVIDIA GeForce GTX 1660 Ti 2182
NVIDIA GeForce GTX 1660 2184
NVIDIA GeForce GTX 1650 SUPER 2187
NVIDIA GeForce GTX 1650 2188
NVIDIA GeForce GTX 1660 Ti 2191
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1028 0949
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 85FB
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 85FE
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 86D6
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 8741
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 8744
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 878D
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 87AF
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 103C 87B3
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1043 171F
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1043 17EF
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1043 18D1
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1414 0032
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 128A
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 128B
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 12C6
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 12CB
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 12CC
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 1462 12D9
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 17AA 380C
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 17AA 381D
NVIDIA GeForce GTX 1660 Ti with Max-Q Design 2191 17AA 381E
NVIDIA GeForce GTX 1650 Ti 2192
NVIDIA GeForce GTX 1660 SUPER 21C4
NVIDIA GeForce GTX 1660 Ti 21D1
NVIDIA GeForce RTX 3090 Ti 2203
NVIDIA GeForce RTX 3090 2204
NVIDIA GeForce RTX 3080 2206
NVIDIA GeForce RTX 3070 Ti 2207
NVIDIA GeForce RTX 3080 Ti 2208
NVIDIA GeForce RTX 3080 220A
NVIDIA CMP 90HX 220D
NVIDIA GeForce RTX 3080 2216
NVIDIA RTX A6000 2230 1028 1459
NVIDIA RTX A6000 2230 103C 1459
NVIDIA RTX A6000 2230 10DE 1459
NVIDIA RTX A6000 2230 17AA 1459
NVIDIA RTX A5000 2231 1028 147E
NVIDIA RTX A5000 2231 103C 147E
NVIDIA RTX A5000 2231 10DE 147E
NVIDIA RTX A5000 2231 17AA 147E
NVIDIA RTX A4500 2232 1028 163C
NVIDIA RTX A4500 2232 103C 163C
NVIDIA RTX A4500 2232 10DE 163C
NVIDIA RTX A4500 2232 17AA 163C
NVIDIA RTX A5500 2233 1028 165A
NVIDIA RTX A5500 2233 103C 165A
NVIDIA RTX A5500 2233 10DE 165A
NVIDIA RTX A5500 2233 17AA 165A
NVIDIA A40 2235 10DE 145A
NVIDIA A10 2236 10DE 1482
NVIDIA A10G 2237 10DE 152F
NVIDIA A10M 2238 10DE 1677
NVIDIA H100 NVL 2321 10DE 1839
NVIDIA H800 PCIe 2322 10DE 17A4
NVIDIA H800 2324 10DE 17A6
NVIDIA H800 2324 10DE 17A8
NVIDIA H20 2329 10DE 198B
NVIDIA H20 2329 10DE 198C
NVIDIA H100 80GB HBM3 2330 10DE 16C0
NVIDIA H100 80GB HBM3 2330 10DE 16C1
NVIDIA H100 PCIe 2331 10DE 1626
NVIDIA H100 2339 10DE 17FC
NVIDIA H800 NVL 233A 10DE 183A
NVIDIA GH200 120GB 2342 10DE 16EB
NVIDIA GH200 120GB 2342 10DE 1805
NVIDIA GH200 480GB 2342 10DE 1809
NVIDIA GeForce RTX 3060 Ti 2414
NVIDIA GeForce RTX 3080 Ti Laptop GPU 2420
NVIDIA RTX A5500 Laptop GPU 2438
NVIDIA GeForce RTX 3080 Ti Laptop GPU 2460
NVIDIA GeForce RTX 3070 Ti 2482
NVIDIA GeForce RTX 3070 2484
NVIDIA GeForce RTX 3060 Ti 2486
NVIDIA GeForce RTX 3060 2487
NVIDIA GeForce RTX 3070 2488
NVIDIA GeForce RTX 3060 Ti 2489
NVIDIA CMP 70HX 248A
NVIDIA GeForce RTX 3080 Laptop GPU 249C
NVIDIA GeForce RTX 3060 Laptop GPU 249C 1D05 1194
NVIDIA GeForce RTX 3070 Laptop GPU 249D
NVIDIA GeForce RTX 3070 Ti Laptop GPU 24A0
NVIDIA GeForce RTX 3060 Laptop GPU 24A0 1D05 1192
NVIDIA RTX A4000 24B0 1028 14AD
NVIDIA RTX A4000 24B0 103C 14AD
NVIDIA RTX A4000 24B0 10DE 14AD
NVIDIA RTX A4000 24B0 17AA 14AD
NVIDIA RTX A4000H 24B1 10DE 1658
NVIDIA RTX A5000 Laptop GPU 24B6
NVIDIA RTX A4000 Laptop GPU 24B7
NVIDIA RTX A3000 Laptop GPU 24B8
NVIDIA RTX A3000 12GB Laptop GPU 24B9
NVIDIA RTX A4500 Laptop GPU 24BA
NVIDIA RTX A3000 12GB Laptop GPU 24BB
NVIDIA GeForce RTX 3060 24C7
NVIDIA GeForce RTX 3060 Ti 24C9
NVIDIA GeForce RTX 3080 Laptop GPU 24DC
NVIDIA GeForce RTX 3070 Laptop GPU 24DD
NVIDIA GeForce RTX 3070 Ti Laptop GPU 24E0
NVIDIA RTX A4500 Embedded GPU 24FA
NVIDIA GeForce RTX 3060 2503
NVIDIA GeForce RTX 3060 2504
NVIDIA GeForce RTX 3050 2507
NVIDIA GeForce RTX 3050 OEM 2508
NVIDIA GeForce RTX 3060 Laptop GPU 2520
NVIDIA GeForce RTX 3060 Laptop GPU 2521
NVIDIA GeForce RTX 3050 Ti Laptop GPU 2523
NVIDIA RTX A2000 2531 1028 151D
NVIDIA RTX A2000 2531 103C 151D
NVIDIA RTX A2000 2531 10DE 151D
NVIDIA RTX A2000 2531 17AA 151D
NVIDIA GeForce RTX 3060 2544
NVIDIA GeForce RTX 3060 Laptop GPU 2560
NVIDIA GeForce RTX 3050 Ti Laptop GPU 2563
NVIDIA RTX A2000 12GB 2571 1028 1611
NVIDIA RTX A2000 12GB 2571 103C 1611
NVIDIA RTX A2000 12GB 2571 10DE 1611
NVIDIA RTX A2000 12GB 2571 17AA 1611
NVIDIA GeForce RTX 3050 2582
NVIDIA GeForce RTX 3050 2584
NVIDIA GeForce RTX 3050 Ti Laptop GPU 25A0
NVIDIA GeForce RTX 3050Ti Laptop GPU 25A0 103C 8928
NVIDIA GeForce RTX 3050Ti Laptop GPU 25A0 103C 89F9
NVIDIA GeForce RTX 3060 Laptop GPU 25A0 1D05 1196
NVIDIA GeForce RTX 3050 Laptop GPU 25A2
NVIDIA GeForce RTX 3050 Ti Laptop GPU 25A2 1028 0BAF
NVIDIA GeForce RTX 3060 Laptop GPU 25A2 1D05 1195
NVIDIA GeForce RTX 3050 Laptop GPU 25A5
NVIDIA GeForce MX570 25A6
NVIDIA GeForce RTX 2050 25A7
NVIDIA GeForce RTX 2050 25A9
NVIDIA GeForce MX570 A 25AA
NVIDIA GeForce RTX 3050 4GB Laptop GPU 25AB
NVIDIA GeForce RTX 3050 6GB Laptop GPU 25AC
NVIDIA GeForce RTX 2050 25AD
NVIDIA RTX A1000 25B0 1028 1878
NVIDIA RTX A1000 25B0 103C 1878
NVIDIA RTX A1000 25B0 10DE 1878
NVIDIA RTX A1000 25B0 17AA 1878
NVIDIA RTX A400 25B2 1028 1879
NVIDIA RTX A400 25B2 103C 1879
NVIDIA RTX A400 25B2 10DE 1879
NVIDIA RTX A400 25B2 17AA 1879
NVIDIA A16 25B6 10DE 14A9
NVIDIA A2 25B6 10DE 157E
NVIDIA RTX A2000 Laptop GPU 25B8
NVIDIA RTX A1000 Laptop GPU 25B9
NVIDIA RTX A2000 8GB Laptop GPU 25BA
NVIDIA RTX A500 Laptop GPU 25BB
NVIDIA RTX A1000 6GB Laptop GPU 25BC
NVIDIA RTX A500 Laptop GPU 25BD
NVIDIA GeForce RTX 3050 Ti Laptop GPU 25E0
NVIDIA GeForce RTX 3050 Laptop GPU 25E2
NVIDIA GeForce RTX 3050 Laptop GPU 25E5
NVIDIA GeForce RTX 3050 6GB Laptop GPU 25EC
NVIDIA GeForce RTX 2050 25ED
NVIDIA RTX A1000 Embedded GPU 25F9
NVIDIA RTX A2000 Embedded GPU 25FA
NVIDIA RTX A500 Embedded GPU 25FB
NVIDIA GeForce RTX 4090 2684
NVIDIA GeForce RTX 4090 D 2685
NVIDIA RTX 6000 Ada Generation 26B1 1028 16A1
NVIDIA RTX 6000 Ada Generation 26B1 103C 16A1
NVIDIA RTX 6000 Ada Generation 26B1 10DE 16A1
NVIDIA RTX 6000 Ada Generation 26B1 17AA 16A1
NVIDIA RTX 5000 Ada Generation 26B2 1028 17FA
NVIDIA RTX 5000 Ada Generation 26B2 103C 17FA
NVIDIA RTX 5000 Ada Generation 26B2 10DE 17FA
NVIDIA RTX 5000 Ada Generation 26B2 17AA 17FA
NVIDIA RTX 5880 Ada Generation 26B3 1028 1934
NVIDIA RTX 5880 Ada Generation 26B3 103C 1934
NVIDIA RTX 5880 Ada Generation 26B3 10DE 1934
NVIDIA RTX 5880 Ada Generation 26B3 17AA 1934
NVIDIA L40 26B5 10DE 169D
NVIDIA L40 26B5 10DE 17DA
NVIDIA L40S 26B9 10DE 1851
NVIDIA L40S 26B9 10DE 18CF
NVIDIA L20 26BA 10DE 1957
NVIDIA GeForce RTX 4080 SUPER 2702
NVIDIA GeForce RTX 4080 2704
NVIDIA GeForce RTX 4070 Ti SUPER 2705
NVIDIA GeForce RTX 4070 2709
NVIDIA GeForce RTX 4090 Laptop GPU 2717
NVIDIA RTX 5000 Ada Generation Laptop GPU 2730
NVIDIA GeForce RTX 4090 Laptop GPU 2757
NVIDIA RTX 5000 Ada Generation Embedded GPU 2770
NVIDIA GeForce RTX 4070 Ti 2782
NVIDIA GeForce RTX 4070 SUPER 2783
NVIDIA GeForce RTX 4070 2786
NVIDIA GeForce RTX 4060 Ti 2788
NVIDIA GeForce RTX 4080 Laptop GPU 27A0
NVIDIA RTX 4000 SFF Ada Generation 27B0 1028 16FA
NVIDIA RTX 4000 SFF Ada Generation 27B0 103C 16FA
NVIDIA RTX 4000 SFF Ada Generation 27B0 10DE 16FA
NVIDIA RTX 4000 SFF Ada Generation 27B0 17AA 16FA
NVIDIA RTX 4500 Ada Generation 27B1 1028 180C
NVIDIA RTX 4500 Ada Generation 27B1 103C 180C
NVIDIA RTX 4500 Ada Generation 27B1 10DE 180C
NVIDIA RTX 4500 Ada Generation 27B1 17AA 180C
NVIDIA RTX 4000 Ada Generation 27B2 1028 181B
NVIDIA RTX 4000 Ada Generation 27B2 103C 181B
NVIDIA RTX 4000 Ada Generation 27B2 10DE 181B
NVIDIA RTX 4000 Ada Generation 27B2 17AA 181B
NVIDIA L2 27B6 10DE 1933
NVIDIA L4 27B8 10DE 16CA
NVIDIA L4 27B8 10DE 16EE
NVIDIA RTX 4000 Ada Generation Laptop GPU 27BA
NVIDIA RTX 3500 Ada Generation Laptop GPU 27BB
NVIDIA GeForce RTX 4080 Laptop GPU 27E0
NVIDIA RTX 3500 Ada Generation Embedded GPU 27FB
NVIDIA GeForce RTX 4060 Ti 2803
NVIDIA GeForce RTX 4060 Ti 2805
NVIDIA GeForce RTX 4060 2808
NVIDIA GeForce RTX 4070 Laptop GPU 2820
NVIDIA RTX 3000 Ada Generation Laptop GPU 2838
NVIDIA GeForce RTX 4070 Laptop GPU 2860
NVIDIA GeForce RTX 4060 2882
NVIDIA GeForce RTX 4060 Laptop GPU 28A0
NVIDIA GeForce RTX 4050 Laptop GPU 28A1
NVIDIA RTX 2000 Ada Generation 28B0 1028 1870
NVIDIA RTX 2000 Ada Generation 28B0 103C 1870
NVIDIA RTX 2000E Ada Generation 28B0 103C 1871
NVIDIA RTX 2000 Ada Generation 28B0 10DE 1870
NVIDIA RTX 2000E Ada Generation 28B0 10DE 1871
NVIDIA RTX 2000 Ada Generation 28B0 17AA 1870
NVIDIA RTX 2000E Ada Generation 28B0 17AA 1871
NVIDIA RTX 2000 Ada Generation Laptop GPU 28B8
NVIDIA RTX 1000 Ada Generation Laptop GPU 28B9
NVIDIA RTX 500 Ada Generation Laptop GPU 28BA
NVIDIA RTX 500 Ada Generation Laptop GPU 28BB
NVIDIA GeForce RTX 4060 Laptop GPU 28E0
NVIDIA GeForce RTX 4050 Laptop GPU 28E1
NVIDIA RTX 2000 Ada Generation Embedded GPU 28F8

open-gpu-kernel-modules's People

Contributors

alcaparra avatar aritger avatar bigswag420 avatar fffedo avatar joshua-ashton avatar keroeslux avatar mmaneetsingh avatar nitepone avatar niv avatar par2020 avatar realastolfo avatar thebeanogamer avatar trickydmitriy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-gpu-kernel-modules's Issues

Extranous apostrohpes in a makefile script

NVIDIA Driver Version
515.43.04

Describe the bug
When building the kernel modules, an error popped up /bin/sh: line 1: localhost.localdomain: command not found caused by extra `` around $$(HOSTNAME) in the command GENERATE_NVIDSTRING in utils.mk:L527

(suggestions) use a linter in your internal dev environment

I'm seeing dozens of tickets that could be avoided if Nvidia used a linter in their own internal dev environment. GitHub Actions could also be implemented to autocheck code for compliance, security issues, quality, etc. At my work we use cppcheck for static code analysis and it's been amazing so far. SonarQube/Lint is also an option as well as being open source/free.

Crashes after waking from sleep state on OpenRC

NVIDIA Driver Version
515.43.04

GPU
1650 Ti Mobile

Describe the bug
I tried sleep state using s2ram works ,
In waking up from sleep power button shows wake state keyboard lights on mouse light offf and display off . Had to hard shutdown .
I saw they changed sleep service in release notes for systemd.
Distro: Gentoo

To Reproduce
Try sleep in OpenRC using s2ram.

Expected behavior
Works fine in 510 drivers

Windows On Arm64, support?

NVIDIA Driver Version
Please write the version of the NVIDIA driver you are using.

GPU
Please write the particular model of NVIDIA GPU you are using.

Describe the bug
Please write a clear and concise description of what the bug is.

To Reproduce
Please write the steps to reproduce the behavior.

Expected behavior
Please write a clear and concise description of what you expected to happen.

Please reproduce the problem, run nvidia-bug-report.sh, and attach the resulting nvidia-bug-report.log.gz.

Null pointer dereference in nv-acpi.c

NVIDIA Driver Version
Git

void NV_API_CALL nv_acpi_methods_uninit(void)
{
struct acpi_device *device = NULL;

#if defined(NV_ACPI_BUS_GET_DEVICE_PRESENT)
acpi_bus_get_device(nvif_parent_gpu_handle, &device);
nv_uninstall_notifier(device->driver_data, nv_acpi_event);
#endif
device->driver_data = NULL;
nvif_parent_gpu_handle = NULL;
return;
There isn't any validation on the return value from acpi_bus_get_device unlike other places where acpi_bus_get_device is being used.
device might be null when dereferencing.

Also support T234 in the same driver

NVIDIA Driver Version
34.1 and 515.43.04
GPU
AGX Orin and RTX 2080 Ti

Describe the bug
AGX Orin already ships with an open-source NVIDIA kernel driver for the display. This means that when we install this driver, we lose the display output tied to the display controller already present on the SoC.

To Reproduce

On an AGX Orin:

$ modinfo 5.10.65-tegra/extra/opensrc-disp/nvidia.ko
filename: /lib/modules/5.10.65-tegra/extra/opensrc-disp/nvidia.ko
firmware: nvidia/34.1.0/gsp.bin
alias: char-major-195-*
version: 34.1.0
supported: external
license: Dual MIT/GPL
srcversion: 92576267C511B79A495FD51
alias: pci:v000010DEd*sv*sd*bc06sc80i00*
alias: pci:v000010DEd*sv*sd*bc03sc02i00*
alias: pci:v000010DEd*sv*sd*bc03sc00i00*
alias: of:N*T*Cnvidia,tegra234-displayC*
alias: of:N*T*Cnvidia,tegra234-display

This conflicts with this driver, which doesn't have T234D support included. (and the driver in L4T doesn't have dGPU support included!)

Expected behavior

This driver should support T234D too (nvidia,tegra234-display). Having two incompatible open-source drivers this early is quite unusual.

Even better change (if possible)

Supporting T234, instead of just the display block-only variant (T234D) in this driver, (and T194 if possible) outright in this driver so that the GPU too would be driven by this instead of nvgpu. That'd help in support for 3rd-party OS distributions on that hardware.

SSL error while signing modules

Currently using 510 on Arch w/ Linux kernel 5.17.6-arch1-1 on an RTX 3080m. Trying to install 515 from this repo.

I'm running into an issue when running sudo make modules_install

make -C kernel-open modules_install
make[1]: Entering directory '<where I downloaded the repo>/open-gpu-kernel-modules/kernel-open'
make[2]: Entering directory '/usr/lib/modules/5.17.6-arch1-1/build'
  INSTALL /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-drm.ko
  INSTALL /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-modeset.ko
  INSTALL /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-peermem.ko
  INSTALL /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-uvm.ko
  INSTALL /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia.ko
  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-peermem.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory
  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-modeset.ko
  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-drm.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory
  ZSTD    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-peermem.ko.zst
  ZSTD    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-modeset.ko.zst
  ZSTD    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-drm.ko.zst
  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory
  ZSTD    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia.ko.zst
  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-uvm.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory
  ZSTD    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia-uvm.ko.zst
  DEPMOD  /lib/modules/5.17.6-arch1-1
make[2]: Leaving directory '/usr/lib/modules/5.17.6-arch1-1/build'
make[1]: Leaving directory '<the download directory>/open-gpu-kernel-modules/kernel-open'

It appears to be an issue with "signing:"

  SIGN    /lib/modules/5.17.6-arch1-1/kernel/drivers/video/nvidia.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: ./certs/signing_key.pem: No such file or directory

src/nvidia/src/kernel/gpu/mem_mgr/heap.c:1607: unclear coding ?

Static analyser cppcheck says:

src/nvidia/src/kernel/gpu/mem_mgr/heap.c:1607:69: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]

Source code is

       currentBankInfo = (currentBankInfo & BANK_MEM_GROW_DOWN ? MEM_GROW_DOWN : MEM_GROW_UP);

Presumably

       currentBankInfo = (currentBankInfo & BANK_MEM_GROW_DOWN) ? MEM_GROW_DOWN : MEM_GROW_UP;

was intended.

NVIDIA I2C driver issues

Copy/paste from an email I sent to [email protected], I haven't verified this against this new open driver, but it has been an issue for a while with the proprietary kernel driver.

I am the lead developer of OpenRGB, an open source RGB lighting control application for Windows and Linux. Our goal is to create a universal RGB control app, talking directly to as many RGB lighting devices as possible. As RGB control is often only supported by official software in Windows, Linux users get left out. That's where we come in.

As you are probably aware, a lot of graphics cards have built-in RGB lighting that features software control. Most cards implement RGB control using the GPU's I2C interface. We're facing an issue controlling certain RGB devices over the NVIDIA GPU's I2C interface in Linux with the proprietary NVIDIA driver. The same code is working fine using NvAPI on Windows and using the Nouveau I2C implementation on Linux, so we believe this to be an issue specific to NVIDIA's proprietary Linux driver.

The cards we've been focused on lately are the ASUS 3xxx series cards, which all use a similar I2C RGB chip that is also found on some ASUS motherboards and various manufacturers' RGB DRAM modules. The chip comes from ENE. The I2C protocol used by this chip is a 16-bit address scheme where you first write a 16-bit address to the 0x00 register of the ENE chip, then perform either a read or write operation to a fixed chip register. This chip appears to be an SMBus chip, so we're using the SMBus functions in the Linux kernel as shown in these two accessor functions:

(ene_dev_id is the 8-bit I2C address of the ENE chip, ene_register is the 16-bit address in the chip that we are reading or writing)

unsigned char ENESMBusInterface_i2c_smbus::ENERegisterRead(ene_dev_id dev, ene_register reg)
{
    //Write ENE register
    bus->i2c_smbus_write_word_data(dev, 0x00, ((reg << 8) & 0xFF00) | ((reg >> 8) & 0x00FF));

    //Read ENE value
    return(bus->i2c_smbus_read_byte_data(dev, 0x81));
}

void ENESMBusInterface_i2c_smbus::ENERegisterWrite(ene_dev_id dev, ene_register reg, unsigned char val)
{
    //Write ENE register
    bus->i2c_smbus_write_word_data(dev, 0x00, ((reg << 8) & 0xFF00) | ((reg >> 8) & 0x00FF));

    //Write ENE value
    bus->i2c_smbus_write_byte_data(dev, 0x01, val);
}

The issue here appears to be with regards to i2c_smbus_write_word_data. To detect and verify that the chip exists on the bus, we do a series of i2c_smbus_read_byte_data calls and these all work fine on the NVIDIA proprietary Linux driver. However, after detecting the chip we then write a 16-bit address and attempt to read from it. Specifically, we try to read a region of the ENE chip's memory known to contain a version string. The expectation is that the word data write puts the 16-bit address of the byte we want to read into the chip, and the following byte data read from 0x81 returns one byte from the 16-bit address.

With other SMBus host controllers (Intel and AMD chipsets) as well as the NVIDIA GPU I2C on both Windows (NvAPI) and Linux (Nouveau), this works fine and we successfully retrieve the ENE RGB controller's version string. With the NVIDIA proprietary Linux driver, we read garbage. Since we know the i2c_smbus_read_byte_data function works with other manufacturers' NVIDIA GPU boards and for detecting the chip, I can only assume the issue is that the i2c_smbus_write_word_data function isn't working correctly. Note that i2c_smbus_write_byte_data does appear to work on several other manufacturers' GPU RGB chips so I have to assume it's specific to word data.

We have also observed issues with SMBus block operations, though doing the same block operations using I2C_RDWR ioctl (thus avoiding the SMBus layer) seem to work on the NVIDIA proprietary driver.

Copy paste bug inside `dp_connectorimpl.cpp`

NVIDIA Driver Version
Git version

if (dev->dscCaps.dscBitsPerPixelIncrement == BITS_PER_PIXEL_PRECISION_1_16)
{
dscInfo->sinkCaps.bitsPerPixelPrecision |= DSC_BITS_PER_PIXEL_PRECISION_1_16;
}
if (dev->dscCaps.dscBitsPerPixelIncrement == BITS_PER_PIXEL_PRECISION_1_16)
{
dscInfo->sinkCaps.bitsPerPixelPrecision = DSC_BITS_PER_PIXEL_PRECISION_1_16;
}

Value of dscInfo->sinkCaps.bitsPerPixelPrecision is overriden in next line

Please if possible allow the "Discussion" feature on github for this project.

Hi.

As you might imagine many of us will be eyeing this project due to the potential impacts of its release.

It would be very productive for the community to have the "Discussion" feature activated for this project so people can openly share their questions and results with the work presented.

Thank you for considering.

User Linter and CI

It would be a good practice to enforce linter to detect/avoid things like pointed out in #24

trunk/src/nvidia/src/kernel/gpu/ce/arch/pascal/kernel_ce_gp100.c:137: unclear coding ?

Static analyser cppcheck says:

src/nvidia/src/kernel/gpu/ce/arch/pascal/kernel_ce_gp100.c:137:53: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]

Source code is

return (NVBIT(pKCe->publicID) & nvlinkP2PCeMask ? NV_TRUE : NV_FALSE);

Presumably

return (NVBIT(pKCe->publicID) & nvlinkP2PCeMask) ? NV_TRUE : NV_FALSE;

was intended ?

Clarification on GPU support for Maxwell/Pascal archs and binary/OS relationship

Maxwell and Pascal architecture GPUs are still capable of handling modern gaming, computing, encoding, decoding, etc workloads. Is there no way support could be extended to these GPUs?

If not, what is going to be the relationship between this driver and the binary one? Will there be no more feature updates for the binary release(Vulkan, OpenGL, etc) and be solely a "legacy" driver?

G-Sync shown as not supported with opensource driver.

NVIDIA Driver Version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 515.43.04 Release Build (@)

GPU
RTX 3050

Describe the bug
G-SYNC reported as unsupported while it is supported.

To Reproduce
Open Nvidia Control Panel -> OpenGL (There should be checkbox for G-SYNC) but it's missing

Expected behavior
It should have G-SYNC checkbox like on proprietary version

Check screenshots below with open and proprietary version.

https://i.imgur.com/Cwqcovr.png -> opensource
https://i.imgur.com/jFFC2oV.png -> proprietary
https://i.imgur.com/LFJiz1M.png -> opensource
https://i.imgur.com/o9ff7lW.png -> proprietary

https://i.ibb.co/RQ278qH/2022-05-12-15-13-38.jpg -> lenovo g27q-20

Regards,
Rosen Aleksandrov

nvenc not available

Hello,

Is nvenc a part of opensource driver stack?

Regards,
Rosen Aleksandrov

Add dependencies to README

I was trying to build on Arch, and I ran into a weird issue with the Makefile not finding the command "hostname"

Turns out I needed the "inetutils" package (I think other distros put it in bind-utils).

It would be helpful if we had some idea of what the build dependencies were beyond gcc

Hard freezes with opensource driver

NVIDIA Driver Version
515.43.04.

GPU
RTX 3050

Describe the bug
Not work at all

To Reproduce
Build the driver regarding the documentation, and using it for X.Org

Expected behavior
To work by design

Please reproduce the problem, run nvidia-bug-report.sh, and attach the resulting nvidia-bug-report.log.gz.
nvidia-bug-report.log.gz

Xorg.0.log

DKMS Infrastructure

As far as i know, most users consume the old proprietary driver as a DKMS package for their distro to permit building against upstream/binary kernels which they are not compiling from source every time they update the kernel or driver pacakge. If the relevant DKMS build files and structure are in this repository, it's less likely to end up with the "per-distro-implementation" schism normally left up to the downstream packagers.

License?

Thanks for the effort to open source this. To clarify the intent and future use here, can we get an official LICENCE.md file here as well?

BSD or MIT would be excellent.

Confusion about some file name formats

Just confused, I see that most of the files in the generated directory have the "nvoc" suffix, so which specific words is this an abbreviation for? I would be very grateful if I could get an answer.

In-tree build option

Given that the current upstream attempt at interacting with NV hardware is basically
image,
it would be great to be able to pull this repository into the kernel tree similar to what can be done with OpenZFS, PF_RING, XTables-Addons, etc.
This is mostly a matter of converting the makefiles to the kbuild structure and having a copy script which will throw the relevant files into appropriate locations in a user-provided/default kernel tree.

Feature request: add CUDA

Dear NVIDIA, Thank you for this. Many people react with "Finally!". Now the next greatest thing would be to open source CUDA, or at least make it much easier to obtain (i.e. avoid developer site signup and signin).

This is a feature request to add CUDA to this repo.

We can also remember that CUDA rests itself, to some extent, on open source technology, and that utility libraries built on top of CUDA, like CUBLAS, CUFFT, and CUDAPP, are open source. Let's take this one step further!

Thank you & God bless,
Roel Van de Paar

Finally!!

Where've you been all these years?

Now to add KMS, DRM and Mesa support!

(bug) NVRM kgspInitRm_IMPL: missing NVDEC0 engine, cannot initialize GSP-RM

The open source KM fails to load for me with the following error:
[ 3.596579] NVRM kgspInitRm_IMPL: missing NVDEC0 engine, cannot initialize GSP-RM
[ 3.596583] NVRM RmInitAdapter: Cannot initialize GSP firmware RM
[ 3.596745] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x63:0x56:1689)
[ 3.597360] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
[ 3.597537] [drm:nv_drm_load [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
[ 3.597749] [drm:nv_drm_probe_devices [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to register device
[ 3.786715] nvidia-gpu 0000:01:00.3: i2c timeout error e0000000
[ 3.786773] ucsi_ccg 1-0008: i2c_transfer failed -110
[ 3.786818] ucsi_ccg 1-0008: ucsi_ccg_init failed - -110

This is on a ubuntu 22.04 system with an RTX 2060, packages are from the cuda apt repo.

After switching back to the proprietary KM using:
$ sudo apt remove nvidia-kernel-open-515 && sudo apt install --reinstall nvidia-dkms-515 && sudo reboot

The proprietary driver loads just fine.

==============NVSMI LOG==============

Timestamp : Thu May 12 14:55:08 2022
Driver Version : 515.43.04
CUDA Version : 11.7

Attached GPUs : 1
GPU 00000000:01:00.0
Product Name : NVIDIA GeForce RTX 2060
Product Brand : GeForce
Product Architecture : Turing
Display Mode : Enabled
Display Active : Enabled
Persistence Mode : Enabled
MIG Mode
Current : N/A
Pending : N/A
Accounting Mode : Disabled
Accounting Mode Buffer Size : 4000
Driver Model
Current : N/A
Pending : N/A
Serial Number : N/A
GPU UUID : GPU-0e997e95-3209-c2c9-6214-347945351445
Minor Number : 0
VBIOS Version : 90.06.2E.C0.0B
MultiGPU Board : No
Board ID : 0x100
GPU Part Number : N/A
Module ID : 0
Inforom Version
Image Version : G001.0000.02.04
OEM Object : 1.1
ECC Object : N/A
Power Management Object : N/A
GPU Operation Mode
Current : N/A
Pending : N/A
GSP Firmware Version : N/A
GPU Virtualization Mode
Virtualization Mode : None
Host VGPU Mode : N/A
IBMNPU
Relaxed Ordering Mode : N/A
PCI
Bus : 0x01
Device : 0x00
Domain : 0x0000
Device Id : 0x1F0810DE
Bus Id : 00000000:01:00.0
Sub System Id : 0x37591028
GPU Link Info
PCIe Generation
Max : 3
Current : 1
Link Width
Max : 16x
Current : 16x
Bridge Chip
Type : N/A
Firmware : N/A
Replays Since Reset : 1816
Replay Number Rollovers : 231
Tx Throughput : 3000 KB/s
Rx Throughput : 0 KB/s
Fan Speed : 32 %
Performance State : P8
Clocks Throttle Reasons
Idle : Active
Applications Clocks Setting : Not Active
SW Power Cap : Not Active
HW Slowdown : Not Active
HW Thermal Slowdown : Not Active
HW Power Brake Slowdown : Not Active
Sync Boost : Not Active
SW Thermal Slowdown : Not Active
Display Clock Setting : Not Active
FB Memory Usage
Total : 6144 MiB
Reserved : 212 MiB
Used : 193 MiB
Free : 5738 MiB
BAR1 Memory Usage
Total : 256 MiB
Used : 5 MiB
Free : 251 MiB
Compute Mode : Default
Utilization
Gpu : 1 %
Memory : 1 %
Encoder : 0 %
Decoder : 0 %
Encoder Stats
Active Sessions : 0
Average FPS : 0
Average Latency : 0
FBC Stats
Active Sessions : 0
Average FPS : 0
Average Latency : 0
Ecc Mode
Current : N/A
Pending : N/A
ECC Errors
Volatile
SRAM Correctable : N/A
SRAM Uncorrectable : N/A
DRAM Correctable : N/A
DRAM Uncorrectable : N/A
Aggregate
SRAM Correctable : N/A
SRAM Uncorrectable : N/A
DRAM Correctable : N/A
DRAM Uncorrectable : N/A
Retired Pages
Single Bit ECC : N/A
Double Bit ECC : N/A
Pending Page Blacklist : N/A
Remapped Rows : N/A
Temperature
GPU Current Temp : 39 C
GPU Shutdown Temp : 93 C
GPU Slowdown Temp : 90 C
GPU Max Operating Temp : 88 C
GPU Target Temperature : 83 C
Memory Current Temp : N/A
Memory Max Operating Temp : N/A
Power Readings
Power Management : Supported
Power Draw : 11.18 W
Power Limit : 160.00 W
Default Power Limit : 160.00 W
Enforced Power Limit : 160.00 W
Min Power Limit : 125.00 W
Max Power Limit : 160.00 W
Clocks
Graphics : 300 MHz
SM : 300 MHz
Memory : 405 MHz
Video : 540 MHz
Applications Clocks
Graphics : N/A
Memory : N/A
Default Applications Clocks
Graphics : N/A
Memory : N/A
Max Clocks
Graphics : 2100 MHz
SM : 2100 MHz
Memory : 7001 MHz
Video : 1950 MHz
Max Customer Boost Clocks
Graphics : N/A
Clock Policy
Auto Boost : N/A
Auto Boost Default : N/A
Voltage
Graphics : N/A
Processes
GPU instance ID : N/A
Compute instance ID : N/A
Process ID : 1257
Type : G
Name : /usr/lib/xorg/Xorg
Used GPU Memory : 70 MiB
GPU instance ID : N/A
Compute instance ID : N/A
Process ID : 1445
Type : G
Name : /usr/libexec/gnome-remote-desktop-daemon
Used GPU Memory : 1 MiB
GPU instance ID : N/A
Compute instance ID : N/A
Process ID : 1485
Type : G
Name : /usr/bin/gnome-shell
Used GPU Memory : 118 MiB

Any support on older graphics cards

Hi everyone, first thanks nVidia for making this open-sourced, I'm wondering if it's open source, there would be any support for older legacy graphics card with new kernel and new xorgs?

Depends on proprietary firmware binaries

Please may you also release the firmware source code under a free software license?
(Those at https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/nvidia)
The driver requires them to work, and without them core features like reclocking will not function, which hindered Nouveau for years.
It's also (virtually) impossible to replace them by reverse-engineering because they are signed and the GPU will refuse to load firmware which is not signed by nVidia.

OS distributions such as Parabola GNU+Linux-libre use Linux-libre, a version of Linux without blobs, and does not distribute blobs.
In essence, without the firmware also being free software, this awesome free software driver release is crippled in the free world, as it relies on proprietary binaries.

Mention OpenRmEnableUnsupportedGpus in README

The error from this line references info about OpenRmEnableUnsupportedGpus being in the README, but it isn't mentioned anywhere.

For reference, to load the module on non-datacenter cards the OpenRmEnableUnsupportedGpus setting in NVReg must be set to 1. This can be done with module parameters, e.g. a file in /etc/modprobe.d reading options nvidia NVreg_OpenRmEnableUnsupportedGpus=1 seems to do the trick.

I'm writing this from Xorg running on a consumer 2080 Ti with the open source module loaded, so it seems to be not entirely broken, would be nice to have this mentioned somewhere then :)

No documentation on which GPUs this driver supports

There is no bleedingly obvious list of what GPU models this driver does and does not support. It's of course safe to assume that this driver supports all of the latest GPUs and at least a generation back, but beyond that it's difficult to ascertain whether you're in the green here. I know that the proprietary driver fairly regularly drops support for older cards. What options are available for folks that have said older cards?

Please provide a clear list of GPUs are that supported by this driver, thanks.

error: implicit declaration of function 'sys_close' [-Werror=implicit-function-declaration]

NVIDIA Driver Version
Latest version of 'main' as of today.

GPU
3090

Describe the bug
Trying to compile the code and getting the following error.

make[1]: Entering directory '/tmp/open-gpu-kernel-modules/kernel-open'
make[2]: Entering directory '/usr/src/linux-5.17.6'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 11.3.1 20220429
  You are using:           cc (GCC) 11.3.1 20220429
  CC [M]  /tmp/open-gpu-kernel-modules/kernel-open/nvidia/nv-caps.o
/tmp/open-gpu-kernel-modules/kernel-open/nvidia/nv-caps.c: In function 'nv_cap_close_fd':
/tmp/open-gpu-kernel-modules/kernel-open/nvidia/nv-caps.c:567:5: error: implicit declaration of function 'sys_close' [-Werror=implicit-function-declaration]
  567 |     sys_close(fd);
      |     ^~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:288: /tmp/open-gpu-kernel-modules/kernel-open/nvidia/nv-caps.o] Error 1
make[2]: *** [Makefile:1831: /tmp/open-gpu-kernel-modules/kernel-open] Error 2
make[2]: Leaving directory '/usr/src/linux-5.17.6'
make[1]: *** [Makefile:82: modules] Error 2
make[1]: Leaving directory '/tmp/open-gpu-kernel-modules/kernel-open'
make: *** [Makefile:50: modules] Error 2

Running with the following
gcc 11.3.1
glibc 2.35
binutils 2.38
Linux kernel: 5.17.6

To Reproduce
Download the latest code from git and type 'make'

Expected behavior
Compiles without any issue,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.