pop-os / beta

Pop!_OS Beta
356 stars 19 forks source link

Wrong Nvidia driver version and kernel options, leading to faults and black screen after resume, Nvidia Quadro K4100M #270

Open TS-CUBED opened 2 years ago

TS-CUBED commented 2 years ago

How did you upgrade to 21.10? (Fresh install / Upgrade)

Both upgrade and fresh install (two machines with nearly identical hw: HP Z-Book-15 G1, HP Z-Book-17 G1

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

nvidia driver

version: nvidia-driver-418-server

Issue/Bug Description: Not necessarily a 21.10 specific problem:

Pop-OS does update the Nvidia driver to versions which do not support older cards. In my case, drivers > 418 seem to work. However, they show sporadic faults, and are not officially supported by Nvidia for older cards.

Need to downgrade to driver version 418. For some reason installing nvidia-driver-418 will automatically upgrade to the newest available driver (nvidia-driver-390 does not seem to do that).

sudo apt install nvidia-driver-418-server does work nicely.

All Nvidia drivers do not allow suspend resume, and I need to add:

kernelstub -a "nouveau.modeset=0"

which makes suspend/resume work.

Steps to reproduce (if you know):

Install Nvidia version of Pop-OS. Work with it.

Downgrade to nvidia-driver-418-server

Add nouveau.modeset=0 persistent to kernel parameters

Expected behavior:

System selects correct driver and kernel parameters

Other Notes:

Would it be possible to use nvidia-detect on setup to automatically pin the correct driver version? Updating to the newest driver regardless of card support causes problems for a lot of colleagues here at the institute (where Quadros are common, but not always the most recent ones).

TS-CUBED commented 2 years ago

BTW: Aside from this little problem, which makes Pop-OS difficult to use on slightly older/"professional" Nvidia cards, Pop-OS is an awesome distribution. But I hesitate to recommend it to fellow researchers and students because of this.

jacobgkau commented 2 years ago

Thank you for trying the beta. As you noted, the most current NVIDIA driver is what's currently tested and generally supported. There is a feature request issue open here for a way to select previous versions, but it would require some changes to the way NVIDIA drivers are packaged and released: https://github.com/pop-os/nvidia-graphics-drivers/issues/112

It looks like nvidia-detect that you referenced is a script in Debian. The package names that it recommends using are not valid package names in Ubuntu or Pop!_OS. So that script would have to be forked and maintained according to the NVIDIA driver packages we have available. (I think we'd want some kind of autodetection or at least a GUI mechanism as an option instead of making users run a script that returns a package name. For a script, installing the appropriate driver and making sure none others are installed might be more useful than just printing the package name.)