nVidia GPU is not detected
My nVidia GPU (GTX650-DC) can't be detected by my computer(OS is Ubuntu 14.04). I've searched for related discussion(Ubuntu 14.04 couldn't detect nvidia graphic card (not even detect the model of card)) where the nvidia GPU information can be obtained by the command "sudo lshw -C display." However, the information shown on my computer is as follows and it seems that my nvidia GPU is never detected. Have anyone run into this situation as well? Any suggestions would be highly appreciated!
Output of lshw -C display *-display
:
:~$ sudo lshw -C display *-display
description: VGA compatible controller
product: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:45 memory:f7800000-f7bfffff memory:e0000000-efffffff ioport:f000(size=64)
Solution 1:
Have a look at the Nvidia site and download the correct drivers, the program will detect if you do not have the correct drivers and if not will tell you what you need to download - I had a similar experience, you don't want to force install the wrong drivers
Solution 2:
Please see the helpful answer by generix here: https://forums.developer.nvidia.com/t/no-matter-which-drivers-i-install-i-cannot-boot-my-ubuntu-20-04-lts-beyond-a-black-screen/127510/9
- switch to nvidia (again):
sudo prime-select nvidia
- delete
/lib/udev/rules.d/50-pm-nvidia.rules
(and delete/lib/udev/rules.d/80-pm-nvidia.rules
too) - remove stray blacklist files:
sudo rm /lib/modprobe.d/blacklist-nvidia.conf /etc/modprobe.d/blacklist-nvidia.conf
- update the initrd:
sudo update-initramfs -u
- reboot
See also this Nvidia Forums post where generix noted:
Ok, it’s this:
/lib/udev/rules.d/80-pm-nvidia.rules
:
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{remove}="1"
it’s removing the nvidia gpu from the bus. The rest of the file are rules to prepare for render offload. This looks like something changed in Ubuntu’s prime-select/nvidia-prime again, don’t really know what’s the point of doing this…
For me, sudo prime-select nvidia
usually does the trick, but if not, manually deleting /lib/udev/rules.d/50-pm-nvidia.rules
and /lib/udev/rules.d/80-pm-nvidia.rules
and a reboot should do it.
Thankfully, these udev rules are going away in 20.10 (groovy) (see changelog of nvidia-prime 0.8.15), so such "Nvidia GPU disappearing" problems will soon become a thing of the past.