[Testing] NVIDIA 340.108 legacy driver: complete package set, mhwd integration and live ISO

Hi all,

This is an update on the NVIDIA 340.108 legacy driver revival for Manjaro.

The implementation is now complete as a package set, including DKMS modules,
userspace libraries, mhwd profiles, and hardware detection integration.

What is available now

  • nvidia-340xx-utils
  • opencl-nvidia-340xx
  • lib32-nvidia-340xx-utils
  • lib32-opencl-nvidia-340xx
  • nvidia-340xx-dkms
  • nvidia-340xx-settings (legacy settings tool)
  • mhwd-nvidia-340xx
  • mhwd-db fork with video-nvidia-340xx and hybrid-intel-nvidia-340xx-bumblebee profiles
  • Per-kernel prebuilt module packages for current Manjaro kernels
    (6.1, 6.6, 6.12, 6.18, 7.1, 7.2,7.3 including RT variants)
  • Meta packages for Linux and Linux-LTS
  • nvidia-driver-assistant integration

The driver now builds successfully on the following kernels:

  • 6.1.x / 6.1-rt
  • 6.6.x / 6.6-rt
  • 6.12.x / 6.12-rt
  • 6.18.x
  • 7.1.x
  • 7.2.x
    -7.3x

Test ISO

A live ISO built with the 340xx and 390xx packages and Manjaro Awesome WM is available here:

https://sourceforge.net/projects/manjaro-awesome-iso/files/latest/download

or live ISO built with the 340xx and 390xx packages and Manjaro Xfce with compiz is available here:

https://sourceforge.net/projects/manjaro-xfce-respin/files/latest/download

The ISO currently ships kernel 618

Known limitations

  • NVIDIA 340.108 is a legacy branch.
  • No atomic modesetting, no modern Wayland/EGLStreams support.
  • Recommended for Xorg sessions on older GPUs only.
  • Use at your own risk; this is not an official Manjaro package.

How to help test

If you have a very old NVIDIA GPU that is supported only by 340.108
(for example GeForce 8/9/200/300 series or equivalent Quadro/Tesla hardware),
please try the live ISO.

Recommended live test

  1. Boot the ISO.
  2. In the GRUB menu, choose the option that loads proprietary/non-free drivers.
  3. Once the desktop is loaded, open a terminal and check the detected driver:
inxi -G

or:

mhwd -li

The active profile should be:

video-nvidia-340xx

or another 340xx profile.

  1. Check whether the NVIDIA kernel module is loaded:
lsmod | grep nvidia
  1. Check basic OpenGL rendering:
glxinfo | grep -i renderer

If glxinfo is not installed, use:

inxi -Gxx
  1. Start the settings tool:
nvidia-settings

If it opens and displays GPU information, the userspace and X driver are working.

  1. If nvidia-smi is available, check GPU status:
nvidia-smi

What to report

Please report:

  • GPU model
  • Laptop or desktop
  • Which Manjaro ISO and kernel were used
  • Whether mhwd automatically selected video-nvidia-340xx
  • Whether the desktop loaded successfully
  • inxi -G output
  • Whether nvidia-settings started and displayed GPU data
  • Any errors, warnings, or missing packages

Repositories / forks

Thanks to everyone who can help test this museum-class driver…!


Update: real hardware test

Thanks to a prohardver.hu community member, we now have a successful live ISO test on real
legacy hardware:

  • GPU: NVIDIA GeForce 210 (GT218)
  • Kernel: 6.18.45-1-MANJARO
  • Environment: Manjaro live ISO, Xfce + Compiz
  • mhwd profile: video-nvidia-340xx was automatically selected
  • Kernel module: loaded (nvidia appears in lsmod)
  • nvidia-settings: starts correctly and reports NVIDIA Driver Version 340.108
  • nvidia-smi: reports the GeForce 210 correctly

Known issue and request for help !!! This should now should be fixed! But need to test it on real HW. #standby

The current live ISO boots and loads the NVIDIA 340.108 module, and nvidia-settings
works as expected. However, OpenGL rendering is currently falling back to llvmpipe
(software rendering) instead of using the NVIDIA hardware renderer.

This is visible in glxinfo:

OpenGL renderer string: llvmpipe (LLVM 22.1.8, 256 bits)

while nvidia-settings correctly identifies the GeForce 210 and the 340.108 driver.

If anyone has experience with enabling hardware OpenGL for the legacy 340.xx
driver on modern Xorg, please share what additional configuration is needed.
For example:

  • Is a specific xorg.conf option required?
  • Should nvidia-xconfig be used to generate the configuration?
  • Do we need to install or enable libglvnd differently?
  • Are there known workarounds for the 340.xx series?

Any help would be greatly appreciated.

Next steps

  • Port the recent 7.3 kernel compatibility patch from nvidia-390xx to nvidia-340xx. —> Done!
  • Continue testing on real GPUs to confirm hardware acceleration.
  • Publish a short guide on which repositories need to be forked/included for
    another spin to support the 340xx driver automatically.
2 Likes

All the kernel module PKGBUILDs are in subgroups for each kernel version; i.e., packages/extra/linux618-extramodules/nvidia-390xx/.

Each mhwd-db profile has a MHWDCONFIG; i.e., for nvidia-390xx.

1 Like

Thank you very much, @Yochanan That’s extremely helpful.

I’ll start by checking packages/extra/linux618-extramodules/nvidia-390xx/ (and the other kernel version subgroups) to adapt them for 340xx. I’ll also look into the mhwd-db profiles and the MHWDCONFIG entries for nvidia-390xx to understand how to create the equivalent 340xx profiles.

Really appreciate the quick and precise pointers!

*Update:
I manage to get it work builds almost all of the current kernels in manjaro… but not in 6.1 or 6.1 rt …
All other is ok.
After testing this… in vmware becouse kernel headers are already there i try to remove nvidia-340xx-dkms nvidia-340xx-utils mhwd-db mhwd then install back the nvidia-390xx-dkms nvidia-390xx-utils mhwd-db mhwd …

I tryed with what comes from the unstable repo, and tryed from my repo… both only build the nvidia kernel module on 7.2 only … What should happened? :facepalm:

thank you for try to fixing it @philm but looks like is not fixed yet!

When i ported from 470 to 390, was tested on 618 and 72

1 Like

I need to study how to do this. I have been using llvmpipe too long.

@deroberts1 To avoid misunderstanding: this project is not a general “how to port the driver” guide. The goal is to bring legacy NVIDIA 340.108 support back into my own Manjaro spins (XFCE/Compiz, AwesomeWM), so very old NVIDIA cards can work out of the box via mhwd. Right now this is still work in progress — I have not yet put it into any ISO. Once the packages are ready in my repo, the built ISOs will be uploaded to my SourceForge profile:

That page is only for the ISOs, not the package repo. No ETA, because it is a lot of work and I don’t always have time for it.

For people building their own Manjaro, the PKGBUILD and patches are available in the GitHub repo, but I won’t be able to give individual build/install support here.