I you’ve got an old piece of hardware with nvidia hardware you know the pain. Nvidia stopped supporting 390 drivers back in 2022. Meaning that a few years later, as new kernels rolled in people will start being unable to install those drivers. Now in 2026 AFAIK there isn’t any maintained distro that keeps supporting a kernel old enough to work with those drivers. So good bye old nvidia gpus.

People here had several paths:

1.- If you got iGPU you could use that, less performance, but usually still works. 2.- Use nouveau drivers. Nouveau it’s not very performant now, with old hardware is even worse. This should be just the last resource as the experience would be miserable, my gpu even struggled with some desktop environments using nouveau, while igpu worked just fine. 3. Switch to windows. Windows usually keeps better retrocompatibility, and while the drivers are still unsuported, you can install them no problem in windows.

I decided to move to windows 10 ioT LTSC, with support until 2032. Because I had an old laptop that I still liked to use for some lightweight gaming. Nouveau was completely unable to perform good enough for any game. iGPU worked better, I was able to play some games, but still I was missing the extra performance the dGPU gave to me. So I, sadly, moved to Microsoft OS.

But lately I’ve been thinking, what if there were a solution? And keep looking deeper. And I found it. Te DKMS for the drivers could be patched to work with modern Linux Kernels. But it was DIY. There used to be some maintained projects and repos, but most are now archived. The only thing I found still maintained is this AUR repo:

https://aur.archlinux.org/packages/nvidia-390xx-utils

Great, some people managed to get it working! My day was saved! But… it was AUR, which means Arch or derivatives. And I really didn’t want to go that route. This laptop is just for media and playing, all through GUI from my couch, I don’t want to be messing with the keyboard. And I knew that with Arch, specially using AUR patches that was unlikely to go smooth.

I had always use linux mint on this laptop and I was very happy, so I though. why no replicate whatever AUR is doing in linux mint? And I got to it. I installed mint, and lock the kernel to 6.8 (with support until 2029) and starting following the AUR to patch the nvidia drivers manually. But the kernel expected in arch is not exactly the same as is it’s in Mint (which uses a Ubuntu kernel with backported security patches). So I hit a wall, it didn’t work. Then is when I found the second most useful resource in this journey:

https://github.com/earldodd/nvidia-390-kernel68-patches

A guide on how to manually patch the DKMS, specifically made for linux Mint. It didn’t include any ready to go binaries or scripts, but it was very well explained. Following that I managed to make what I thought it was impossible. And I finally got to see my old laptop running the nvidia proprietary drivers again (I almost cried here).

So yes, it is possible. On linux forum most people said it was not possible. That it could not be done. But it is. And if you want to do it I found those two resources the better path to achieve it.

Now we arrive to the bitter end. I think while possible I won’t finally keep this config, and I probably just keep windows 10 ltsc and after that loses support switch back to linux mint and just disable the dGPU. why? Because the process to patch the driver was painful, hard to replicate, fragile, and led to a lot of missconfigurations and broken things. I spent two full days on this. I don’t want to do it again each time an update messes something up. Maybe in the future I would try to create some installation script once I figure it out who to fix all the secondary issues that emerged with this Frankenstein, but by that time probably kernel 6.8 would be discontinue and I would need to start again for the next Ubuntu LTS kernel, a little discouraging, but who knows.

I just wanted to share this penguin journey with all of you. And share those resources for anyone in need of them.

  • Björn@swg-empire.de
    link
    fedilink
    arrow-up
    6
    ·
    18 hours ago

    Opensuse sorts the nvidia drivers into generations to solve this problem. For your hardware that would be G05 or G06 I think. They also use DKMS to compile them for newer kernels.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    When you’re managing your own patches you need to upgrade very cautiously - if at all. And always keep a few older working kernels around.

    For something like this I’d probably just pin the kenel at a specific version or compile the Kernel myself separately.

  • Dave.@aussie.zone
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    23 hours ago

    That’s quite an odessy. I put MX Linux on my 13 year old dell laptop, and there was an option in the MX utilities app to install the NVIDIA 340 drivers for it, and it merged them into the 7.0.something kernel that I had in about 3 minutes.

    This isn’t meant as snark. Get settled into things for a few months with what you’ve got and then boot a few distros off USB and see if there’s something that better suits you or your hardware. You’ll have a good idea by then if what you really want/need.

  • Ooops@feddit.org
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    23 hours ago

    an old piece of hardware

    “old” does an incredible amount of heavy lifting here: nvidia390 is the one supporting 15 year old Fermi Cards. 😆

      • Ooops@feddit.org
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        5 hours ago

        Sure it is, but I would call my hardware old already. Your “old” means reaching end of support life nearly a decade ago (390 was the last one released with support for those cards… in early 2018 - don’t know where you got 2022 from, that’s when they dropped everything pre-Maxwell).

        • ☂️-@lemmy.ml
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          edit-2
          2 hours ago

          i said nothing about 2022?

          my idea of “old” is when a card can’t perform the tasks i want it to, not the arbitrary timeline in which the company decides to dump us.

          • Ooops@feddit.org
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            edit-2
            1 hour ago

            I you’ve got an old piece of hardware with nvidia hardware you know the pain. Nvidia stopped supporting 390 drivers back in 2022.

            That’s literally the beginning the post setting the baseline for “old” here.

            • ☂️-@lemmy.ml
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              edit-2
              59 minutes ago

              that’s the main thing being criticized in this post.

              we are criticizing their dropping support for a still useful card.

              • Ooops@feddit.org
                link
                fedilink
                arrow-up
                1
                arrow-down
                1
                ·
                edit-2
                58 minutes ago

                And it’s wrong. You can downvote me every single time, yet reality will not change.

  • Obin@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    21 hours ago

    I suggest to take a look at Gentoo. Gentoo doesn’t need/use DKMS, it just recompiles modules after a kernel update as a part of regular package management. You can mask arbitrary package versions or version ranges to reliably stay on an older kernel, driver version (for example on my desktop I currently mask >=x11-drivers/nvidia-drivers-590, meaning “give me the newest 580 version”). I think all version lines that Nvidia updates still get package updates on Gentoo, including 390. And if you need some really old stuff it’s easy to roll your own repo (overlay) and keep discontinued versions/packages around for however long you need them. And once set up, this is essentially maintenance free, and if it does require intervention, you’ll likely get notified directly through the package manager before something breaks, either via a news item or an error during dependency resolution.

    PS: And in case you’re wondering, it’s possible to run Gentoo entirely without compiling, or with only compiling packages selectively when you want to change the default flags.

    PPS: Oh and maintaining custom patches (as long as they apply cleanly) is as easy as dropping them into a specific subdirectory of /etc/portage/patches and rebuilding the package.

  • eldavi@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    It’s such a bear to run your own Frankenstein; I could never remember the customizations and I ended up having to rebuild every single time I did a apt-get upgrade.

    But the experience pays off – or at least it did for me – I would be a factory worker or doing landscaping like my father, uncles, cousins and brother if I hadn’t learned how to recompile the linux kernel.