Skip to content

Instantly share code, notes, and snippets.

@joanbm
Created February 3, 2025 00:16
Show Gist options
  • Save joanbm/d0cb8790ca610fbd2c2e43f30707ce18 to your computer and use it in GitHub Desktop.
Save joanbm/d0cb8790ca610fbd2c2e43f30707ce18 to your computer and use it in GitHub Desktop.
Tentative fix for NVIDIA 470.256.02 driver for Linux 6.14-rc1
From bee3ff1153f7b42491d2a0552d6f9a66a307ec1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <[email protected]>
Date: Sun, 15 Dec 2024 17:56:03 +0000
Subject: [PATCH] Tentative fix for NVIDIA 470.256.02 driver for Linux 6.14-rc1
---
nvidia-drm/nvidia-drm-drv.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
index 0b1181d..b50b17a 100644
--- a/nvidia-drm/nvidia-drm-drv.c
+++ b/nvidia-drm/nvidia-drm-drv.c
@@ -882,7 +882,10 @@ static struct drm_driver nv_drm_driver = {
.name = "nvidia-drm",
.desc = "NVIDIA DRM driver",
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 14, 0)
+ // Rel. commit. "drm: remove driver date from struct drm_driver and all drivers" (Jani Nikula, 4 Dec 2024)
.date = "20160202",
+#endif
#if defined(NV_DRM_DRIVER_HAS_DEVICE_LIST)
.device_list = LIST_HEAD_INIT(nv_drm_driver.device_list),
--
2.48.1
@Augusto7743
Copy link

Augusto7743 commented Aug 26, 2025

@egoipse
Oh yeahh ... nouveau are blacklisted.
In moment that issue not are happening very much.

@ItzDarkGod
Copy link

hello, I don't know if it would be too much trouble if you could help me how to install this patch for nobara 42, before I used pop os with a 6.12 kernel and I followed the steps left by the author and they worked for me, but I don't know what to do here haha

@joanbm
Copy link
Author

joanbm commented Sep 6, 2025

@ItzDarkGod See https://github.com/joanbm/nvidia-470xx-linux-mainline, to install it should be enough to download the repository and run the ./install script.

@Augusto7743
Copy link

@joanbm
Hey ... you has seen it ? https://github.com/X11Libre/xserver/wiki/Graphics-devices-&-drivers
Have information about being compatible with driver 470, but if using patch.
Perhaps is an good solution, but perhaps not has support for old video cards for example nvidia before 600 series and AMD Radeon before of RX models.

@joanbm
Copy link
Author

joanbm commented Sep 20, 2025

Sorry, I'm not interested in XLibre.

@lchandelier
Copy link

lchandelier commented Oct 7, 2025

Hello, I've just switched from Windows to Linux Mint 22.2.
It's not clear for me how to install this patch. Do you have more guided steps? Should I Use this link? https://github.com/joanbm/nvidia-470xx-linux-mainline
Thanks a lot!

@mrBugmaker
Copy link

Hello, I'm trying to make it work under Linux Mint 22.2 too (kernel 6.14.0-33-generic).
I've used the ./install script from https://github.com/joanbm/nvidia-470xx-linux-mainline
Looks like it mostly worked: there are no issues with browsing / video; I can even run some games fine, even ones without native Linux support (via Steam)
Although, there is one (The Entropy Centre) that gives me the following error on startup:
A D3D11-compatible GPU (Feature Level 11.0, Shader Model 5.0) is required to run the engine.
I know the game can run on that PC: it did under Win10.
I could have suggested that it's just some Proton issue, but I also had a warning during install and also Steam Overlay performance monitor always displays GPU load as 0%.
I could have gone to Linux Mint forums, Reddit, etc., but with Win 10 EOL just around the corner, I guess many people are going to come across your patches and it would be really nice to find some info on how to solve issues with these patches just here, where the patches themselves are.

The warning during installation was:
Unable to determine the path to install the liblgvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path.
apt list --installed | grep "pkg-config" gives me the following line:
pkg-config/noble,now 1.8.1-2build1 amd64 [installed]
I have no idea how to check whether I have "libglvnd development libraries installed"

Here is most of sudo inxi -Fxxxmprz output (I don't think the list of active apt repos is of any use here):

System:
  Kernel: 6.14.0-33-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
    clocksource: tsc
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.41 wm: xfwm4 v: 4.18.0
    with: xfce4-panel tools: light-locker dm: LightDM v: 1.30.0
    Distro: Linux Mint 22.2 Zara base: Ubuntu 24.04 noble
Machine:
  Type: Desktop Mobo: BIOSTAR model: G41D3 v: 6.0 serial: N/A
    uuid: 00020003-0004-0005-0006-000700080009 BIOS: American Megatrends
    v: 080015 date: 12/28/2010
Memory:
  System RAM: total: 8 GiB available: 7.76 GiB used: 2.11 GiB (27.2%)
  Array-1: capacity: 16 GiB note: est. slots: 4 modules: 2 EC: 64-bit ECC
    max-module-size: 4 GiB
  Device-1: DIMM0 info: double-bank type: SDRAM detail: synchronous
    size: 4 GiB speed: N/A volts: N/A width (bits): data: 64 total: 64
    manufacturer: N/A part-no: N/A serial: N/A
  Device-2: DIMM1 type: no module installed
  Device-3: DIMM2 info: double-bank type: SDRAM detail: synchronous
    size: 4 GiB speed: N/A volts: N/A width (bits): data: 64 total: 64
    manufacturer: N/A part-no: N/A serial: N/A
  Device-4: DIMM3 type: no module installed
CPU:
  Info: quad core model: Intel Core2 Quad Q8400 bits: 64 type: MCP
    smt: <unsupported> arch: Penryn rev: A cache: L1: 256 KiB L2: 4 MiB
  Speed (MHz): avg: 2169 high: 2670 min/max: 2003/2670 volts: 1.3 V
    ext-clock: 333 MHz cores: 1: 2003 2: 2670 3: 2003 4: 2003 bogomips: 21354
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx
Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 730] vendor: Gigabyte driver: nvidia
    v: 470.256.02 arch: Kepler pcie: speed: 2.5 GT/s lanes: 8 ports:
    active: none off: VGA-1 empty: DVI-D-1,HDMI-A-1 bus-ID: 01:00.0
    chip-ID: 10de:1287 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6
    compositor: xfwm4 v: 4.18.0 driver: X: loaded: nvidia
    gpu: nvidia,nvidia-nvswitch display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1280x1024 s-dpi: 85 s-size: 382x302mm (15.04x11.89")
    s-diag: 487mm (19.17")
  Monitor-1: VGA-0 res: 1280x1024 hz: 60 dpi: 86
    size: 376x301mm (14.8x11.85") diag: 482mm (18.96") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia nouveau drv: nvidia platforms: device: 0
    drv: nvidia device: 1 drv: nouveau device: 2 drv: swrast gbm:
    drv: kms_swrast surfaceless: drv: nouveau x11: drv: nvidia
    inactive: wayland
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 470.256.02
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GT 730/PCIe/SSE2
Audio:
  Device-1: Intel NM10/ICH7 Family High Definition Audio vendor: Biostar
    Microtech Intl Corp driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
    chip-ID: 8086:27d8 class-ID: 0403
  Device-2: NVIDIA GK208 HDMI/DP Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: speed: 2.5 GT/s lanes: 8
    bus-ID: 01:00.1 chip-ID: 10de:0e0f class-ID: 0403
  API: ALSA v: k6.14.0-33-generic status: kernel-api
  Server-1: PipeWire v: 1.0.5 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin
Network:
  Device-1: Realtek RTL810xE PCI Express Fast Ethernet vendor: Biostar
    Microtech Intl Corp driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1
    port: e800 bus-ID: 03:00.0 chip-ID: 10ec:8136 class-ID: 0200
  IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 1.39 TiB used: 57.85 GiB (4.1%)
  ID-1: /dev/sda vendor: Seagate model: ST3500418AS size: 465.76 GiB
    speed: <unknown> tech: HDD rpm: 7200 serial: <filter> fw-rev: CC38
    scheme: MBR
  ID-2: /dev/sdb vendor: Apacer model: AS350 1TB size: 953.87 GiB
    speed: <unknown> tech: SSD serial: <filter> fw-rev: 0PS0 scheme: MBR
Partition:
  ID-1: / size: 56.02 GiB used: 10.86 GiB (19.4%) fs: ext4 dev: /dev/sdb6
  ID-2: /home size: 869.35 GiB used: 46.99 GiB (5.4%) fs: ext4
    dev: /dev/sdb7
Swap:
  ID-1: swap-1 type: partition size: 11.39 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sdb5
Sensors:
  System Temperatures: cpu: 41.0 C mobo: N/A gpu: nvidia temp: 38 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 41%
Repos:
  Packages: pm: dpkg pkgs: 2155
Info:
  Processes: 233 Power: uptime: 1h 1m states: freeze,mem,disk suspend: deep
    wakeups: 0 hibernate: platform Init: systemd v: 255 target: graphical (5)
    default: graphical
  Compilers: gcc: 13.3.0 Shell: Sudo (sudo) v: 1.9.15p5 default: Bash
    v: 5.2.21 running-in: xfce4-terminal inxi: 3.3.34

And here is nvidia-installer.log:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sat Oct  4 16:14:25 2025
installer version: 470.256.02

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

nvidia-installer command line:
    ./nvidia-installer

Using: nvidia-installer ncurses v6 user interface
-> Detected 4 CPUs online; setting concurrency level to 4.
-> Installing NVIDIA driver version 470.256.02.
-> An alternate method of installing the NVIDIA driver was detected. (This is usually a package provided by your distributor.) A driver installed via that method may integrate better with your system than a driver installed by nvidia-installer.

Please review the message provided by the maintainer of this alternate installation method and decide how to proceed:

The NVIDIA driver provided by Ubuntu can be installed by launching the "Software & Updates" application, and by selecting the NVIDIA driver from the "Additional Drivers" tab.


(Answer: Continue installation)
-> Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later. (Answer: Yes)
-> Install NVIDIA's 32-bit compatibility libraries? (Answer: Yes)
Looking for install checker script at ./libglvnd_install_checker/check-libglvnd-install.sh
   executing: '/bin/sh ./libglvnd_install_checker/check-libglvnd-install.sh'...
   Found libglvnd libraries: libGLESv2.so.2 libOpenGL.so.0 libEGL.so.1 libGLX.so.0 libGL.so.1
   Found non-libglvnd libraries:
   Missing libraries: libGLESv1_CM.so.1
   libglvnd appears to be installed.
Will not install libglvnd libraries.
-> Skipping GLVND file: "libOpenGL.so.0"
-> Skipping GLVND file: "libOpenGL.so"
-> Skipping GLVND file: "libGLESv1_CM.so.1.2.0"
-> Skipping GLVND file: "libGLESv1_CM.so.1"
-> Skipping GLVND file: "libGLESv1_CM.so"
-> Skipping GLVND file: "libGLESv2.so.2.1.0"
-> Skipping GLVND file: "libGLESv2.so.2"
-> Skipping GLVND file: "libGLESv2.so"
-> Skipping GLVND file: "libGLdispatch.so.0"
-> Skipping GLVND file: "libGLX.so.0"
-> Skipping GLVND file: "libGLX.so"
-> Skipping GLVND file: "libGL.so.1.7.0"
-> Skipping GLVND file: "libGL.so.1"
-> Skipping GLVND file: "libGL.so"
-> Skipping GLVND file: "libEGL.so.1.1.0"
-> Skipping GLVND file: "libEGL.so.1"
-> Skipping GLVND file: "libEGL.so"
-> Skipping GLVND file: "./32/libOpenGL.so.0"
-> Skipping GLVND file: "libOpenGL.so"
-> Skipping GLVND file: "./32/libGLdispatch.so.0"
-> Skipping GLVND file: "./32/libGLESv2.so.2.1.0"
-> Skipping GLVND file: "libGLESv2.so.2"
-> Skipping GLVND file: "libGLESv2.so"
-> Skipping GLVND file: "./32/libGLESv1_CM.so.1.2.0"
-> Skipping GLVND file: "libGLESv1_CM.so.1"
-> Skipping GLVND file: "libGLESv1_CM.so"
-> Skipping GLVND file: "./32/libGL.so.1.7.0"
-> Skipping GLVND file: "libGL.so.1"
-> Skipping GLVND file: "libGL.so"
-> Skipping GLVND file: "./32/libGLX.so.0"
-> Skipping GLVND file: "libGLX.so"
-> Skipping GLVND file: "./32/libEGL.so.1.1.0"
-> Skipping GLVND file: "libEGL.so.1"
-> Skipping GLVND file: "libEGL.so"
WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path.
Will install libEGL vendor library config file to /usr/share/glvnd/egl_vendor.d
-> Searching for conflicting files:
-> done.
-> Installing 'NVIDIA Accelerated Graphics Driver for Linux-x86_64' (470.256.02):
   executing: '/usr/sbin/ldconfig'...
   executing: '/usr/bin/systemctl daemon-reload'...
-> done.
-> Driver file installation is complete.
-> Installing DKMS kernel module:
-> done.
-> Running post-install sanity check:
-> done.
-> Post-install sanity check passed.
-> Running runtime sanity check:
-> done.
-> Runtime sanity check passed.
-> Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X?  Any pre-existing X configuration file will be backed up. (Answer: Yes)
-> Your X configuration file has been successfully updated.  Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 470.256.02) is now complete.

When I just launched the ./install script, it gave me an error about my XServer session running. I then proceeded with the following:

  1. Created a file /etc/modprobe.d/disable_nouveau.conf with following contents:
blacklist nouveau
options nouveau modeset=0

and run sudo update-initramfs -u
2. Set non-graphic run level: sudo systemctl set-default multi-user.target
3. Rebooted and run ./install script from https://github.com/joanbm/nvidia-470xx-linux-mainline again.
4. Set graphic level back: sudo systemctl set-default graphical.target. Rebooted, tried running games, experienced aforementioned issue.
5. As suggested in patch's readme, created a file /etc/modprobe.d/disable_nouveau.conf with following contents:

blacklist nouveau
blacklist nova_core
blacklist nova_drm

Then run sudo update-initramfs -u and reboot.

So, could i have issues because of that libglvnd warning? If so, how do I fix that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment