When installing the proprietary nvidia driver recommended by the the official debian page for Debian Bookwork, apt seems to want to install a new kernel. I actually did this before (since this is my second time installing debian on here) and this new kernel messes with the display server somehow, disabeling all monitors but one, limiting the resolution, removing all the UI animations and so on. So I don’t want to do that again. My current kernel is the Debain 12 default: linux-image-6.1.0-18-amd64. Am I doing something terribly wrong, is the website perhaps outdated, or what is going on here?

  • Confetti Camouflage@pawb.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    10 months ago

    The proprietary Nvidia driver has kernel modules that are specific to a single version of the Linux kernel. With pre-built packages that’s typically whatever the standard kernel is for your distro. If that kernel isn’t booted then you’ll have no graphics driver.

    This is solved by DKMS, which will build those kernel modules for every kernel you have installed. You’ll need the kernel headers for the kernel you want to build for, as well as the nvidia-kernel-dkms package which the wiki you linked only offhandedly mentions. Whenever the kernel or driver updates it should build the required modules.

    • Smorty [she/her]@lemmy.blahaj.zoneOP
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Oh yeah, I completely missed the DKMS. I just installed the nvidia-kernel-dkms package, and it seemed to try to build the module, but then failed:

      Building for 6.1.0-18-amd64
      Building initial module for 6.1.0-18-amd64
      Error! Bad return status for module build on kernel: 6.1.0-18-amd64 (x86_64)
      Consult /var/lib/dkms/nvidia-current/525.147.05/build/make.log for more information.
      dpkg: error processing package nvidia-kernel-dkms (--configure):
       installed nvidia-kernel-dkms package post-installation script subprocess returned error exit status 10
      dpkg: dependency problems prevent configuration of nvidia-driver:
       nvidia-driver depends on nvidia-kernel-dkms (= 525.147.05-4~deb12u1) | nvidia-kernel-525.147.05 | nvidia-open-kernel-525.147.05 | nvidia-open-kernel-525.147.05; however:
        Package nvidia-kernel-dkms is not configured yet.
        Package nvidia-kernel-525.147.05 is not installed.
        Package nvidia-kernel-dkms which provides nvidia-kernel-525.147.05 is not configured yet.
        Package nvidia-open-kernel-525.147.05 is not installed.
        Package nvidia-open-kernel-525.147.05 is not installed.
      
      dpkg: error processing package nvidia-driver (--configure):
       dependency problems - leaving unconfigured
      Errors were encountered while processing:
       nvidia-kernel-dkms
       nvidia-driver
      E: Sub-process /usr/bin/dpkg returned an error code (1)
      

      It says that something hasn’t been configured yet, even though I am just installing it…

      • aksdb@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        You’ll have to check the make.log as the error states. Details for what went wrong will be in there. But it might be, that your kernel version simply isn’t supported by the driver.

  • Smorty [she/her]@lemmy.blahaj.zoneOP
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    10 months ago

    SOLUTION:

    This is a problem not with the operating system, but rather the nvidia DKMS. It can easily be fixed by replacing some lines in the apt sources located here: /etc/apt/sources.list. The line update-security has to be replaced by these two:

    deb http://deb.debian.org/debian/ bookworm-updates main non-free contrib non-free-firmware
    deb-src http://deb.debian.org/debian/ bookworm-updates main non-free contrib non-free-firmware
    

    Here is a link to where this solution was found: https://forums.developer.nvidia.com/t/debian-12-and-nvidia-driver-nvidia-linux-x86-64-470-223-02-run/282473/2

    After updating the sources there, simple run sudo apt update and sudo apt upgrade. Then it should finally compile the drivers for your kernel, the extra kernel in the grub menu (if it appeared on your machine) should disappear, and your original kernel (in my case 6.1.0-18-amd64) will have the module in it. So your monitors and stuff should work as they did before.

  • GenderNeutralBro@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    10 months ago

    Which kernel is it trying to install?

    Did you go through the steps required for Secure Boot?

    Could be messed up dependencies in the apt repo. I’ve been this many times, in many distros, over the years.

    In any case, I recommend getting the latest driver directly from Nvidia. It’s easier to keep it outside the apt ecosystem than to wrestle with overriding outdated dependencies. Plus you get the newer driver, and honestly, Nvidia’s installer is easier than Debian’s (particularly if you have Secure Boot enabled).

      • GenderNeutralBro@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        Yes, that is my recommendation. I’m sure plenty of people will disagree, but personally I have had too many headaches with other sources.

        Get them from here: https://www.nvidia.com/en-us/drivers/unix/

        For what it’s worth, I am running on Debian now, using the “new feature branch” driver, which is currently version 545. This is newer than what’s in Debian’s repos (and most other distros too, for that matter). I’ve also performed kernel updates since installing it, without issue.

        If you have Secure Boot enabled in your motherboard firmware, be sure to follow the steps on signing the kernel module available here: https://us.download.nvidia.com/XFree86/Linux-x86_64/545.29.06/README/installdriver.html#modulesigning . Nvidia’s installer will prompt you about this (unlike Debian’s!) but can’t do all the steps for you.

        If you’re not sure if you have secure boot enabled, you can run mokutil --sb-state in a terminal to see.

  • tok3n@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    10 months ago

    I had the same issue updating yesterday, apparently it’s bugged. I’m using the previous kernel for now and it’s running fine.