Nvidia kernel driver cannot bind to RTX 3060 laptop GPU

Hello,

My laptop MSI GF65 with Intel and NVIDIA RTX 3060 GPU can not detect and connect to an external monitor through HDMI port. Windows 10 works well and connect HDMI as usually.

Please have a look at my laptop information:

inxi -Gazy

Graphics:
Device-1: Intel UHD Graphics vendor: Micro-Star MSI driver: i915 v: kernel
bus-ID: 00:02.0 chip-ID: 8086:9bc4 class-ID: 0300
Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q]
vendor: Micro-Star MSI driver: N/A alternate: nouveau, nvidia_drm, nvidia
bus-ID: 01:00.0 chip-ID: 10de:2520 class-ID: 0300
Display: x11 server: X.Org 1.20.11 compositor: kwin_x11 driver:
loaded: modesetting alternate: fbdev,intel,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
s-diag: 582mm (22.9")
Monitor-1: eDP-1 res: 1920x1080 hz: 144 dpi: 142 size: 344x193mm (13.5x7.6")
diag: 394mm (15.5")
OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 21.0.2
direct render: Yes

dmesg | egrep -i '(nvrm|nvidia)'

[ 1.584805] audit: type=1400 audit(1619074511.480:10): apparmor=“STATUS” operation=“profile_load” profile=“unconfined” name=“nvidia_modprobe” pid=279 comm=“apparmor_parser”
[ 3.193868] nvidia: loading out-of-tree module taints kernel.
[ 3.193875] nvidia: module license ‘NVIDIA’ taints kernel.
[ 3.205140] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 3.216194] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[ 3.216564] nvidia 0000:01:00.0: enabling device (0000 → 0003)
[ 3.216676] NVRM: request_mem_region failed for 0M @ 0x0. This can
NVRM: occur when a driver such as rivatv is loaded and claims
NVRM: ownership of the device’s registers.
[ 3.216679] nvidia: probe of 0000:01:00.0 failed with error -1
[ 3.216690] NVRM: The NVIDIA probe routine failed for 1 device(s).
[ 3.216691] NVRM: None of the NVIDIA devices were initialized.
[ 3.216804] nvidia-nvlink: Unregistered the Nvlink Core, major device number 234

Kernel version: 5.10.30-1

Installed driver:

video-hybrid-intel-nvidia-prime
video-modesetting

Please also see the attached report:
nvidia-bug-report.log.gz (78.8 KB)

I tried several ways but still can not connect to monitor with HDMI.

Many thanks,
Thang

[ 0.463197] pci_bus 0000:00: Some PCI device resources are unassigned, try booting with pci=realloc

Please try that advice from dmesg.

[ 3.737] (==) Matched modesetting as autoconfigured driver 0
[ 3.737] (==) Matched intel as autoconfigured driver 1
[ 3.737] (==) Matched fbdev as autoconfigured driver 2
[ 3.737] (==) Matched vesa as autoconfigured driver 3
[ 3.737] (==) Assigned the driver to the xf86ConfigLayout
[ 3.737] (II) LoadModule: “modesetting”
[ 3.738] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 3.740] (II) Module modesetting: vendor=“X.Org Foundation”
[ 3.740] compiled for 1.20.11, module version = 1.20.11
[ 3.740] Module class: X.Org Video Driver
[ 3.740] ABI class: X.Org Video Driver, version 24.1
[ 3.740] (II) LoadModule: “intel”
[ 3.740] (WW) Warning, couldn’t open module intel
[ 3.740] (EE) Failed to load module “intel” (module does not exist, 0)

The intel driver cannot be found…

Thank you for the comment. I tried to reboot with pci=realloc (changed in grub file), but still nothing happen.

Could you tell me what is happening to my laptop?

Please create a new bug-report with the pci=realloc kernel parameter.

Please see the bug report now:
nvidia-bug-report.log.gz (77.8 KB)

[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=671bfdc7-eac4-4048-b191-92bc4d715f3e rw quiet apparmor=1 security=apparmor udev.log_priority=3

It’s all the same, apparently you did not boot with pci=realloc.
You can edit the kernel command line either in grub in the grub menu at boot time. Or edit /etc/default/grub and then run sudo update-grub.

Thank you so much for your suggestion. I edited the grub file again, reboot and the monitor worked.

We can close the issue now.

Best regards,
Thang

I have a similar problem trying to enable HDMI port (and prior to that the nvidia card) on my MSI GF75 Thin 10UEK-054 running a RTX 3060 laptop card. Besides installing Win10 which works flawlessly, I tried different linux distributions which all seem to have their own methods of dealing with Optimus.

As far as I can tell the result is always the same in default OS configuration after clean install. Report based on POP_OS 20.10, dmesg.txt (91.3 KB) :

  1. PCI device is detected

[ 0.370596] kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA device
[ 0.370596] kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[ 0.370596] kernel: pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[ 0.370596] kernel: pci 0000:00:02.0: vgaarb: no bridge control possible
[ 0.370596] kernel: pci 0000:01:00.0: vgaarb: bridge control possible
[ 0.370596] kernel: vgaarb: loaded

  1. NVRM fails because a driver (possibly nouveau) already claims the device

kernel: NVRM: request_mem_region failed for 0M @ 0x0. This can
NVRM: occur when a driver such as rivatv is loaded and claims
NVRM: ownership of the device’s registers.

  1. NVRM tries again and fails because device disappeared

NVRM: No NVIDIA GPU found.

(also doesn’t show up in lspci)

Disabling integrated Intel CPU appears impossible. All methods of forcing nvidia driver to load, disabling nouveau or forcing the nvidia card to be the primary video device (primus, bumblebee, linux-driver-management) result in a black screen on startup.

Booting with pci=realloc results in an endless loop at step 2.

All recent MSI notebooks with nvidia gpus have the same bios bug and require pci=realloc to work.
Just odd that in your case the gpu vanishes. Please uninstall all bumblebee, primus and whatever you installed additionally. Please add the kernel parameter, after reboot switch to VT (ctrl+alt+f4), login and run
grep 10de /lib/udev/rules.d/* >udevrules.txt
and attach to your post.
If you have internet connection, you can use pastebinit to upload it from console.

  • install pastebinit (sudo apt install pastebinit)
  • upload udevrules.txt (pastebinit -i udevrules.txt)
  • note down and post the url you’re given

Please also run nvidia-bug-report.sh as root and attach the resulting nvidia-bug-report.log.gz file to your post or upload to pastebin
zcat nvidia-bug-report.log.gz |pastebinit

Hello,
I have similar problem on MSI GF65 laptop with RTX 3060 (@tlonghorn64). However, booting with “pci=realloc” does not work, it gets stuck before login window appears. Information below is captured without “pci=realloc” argument.

dmesg | egrep -i '(nvrm|nvidia)'
[ 1459.464277] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[ 1459.464740] NVRM: request_mem_region failed for 0M @ 0x0. This can
NVRM: occur when a driver such as rivatv is loaded and claims
NVRM: ownership of the device’s registers.
[ 1459.464742] nvidia: probe of 0000:01:00.0 failed with error -1
[ 1459.464754] NVRM: The NVIDIA probe routine failed for 1 device(s).
[ 1459.464754] NVRM: None of the NVIDIA devices were initialized.
[ 1459.464990] nvidia-nvlink: Unregistered the Nvlink Core, major device number 234

nvidia-driver version: 460.73.01

Report: nvidia-bug-report.log.gz (2.2 MB)

I would appreciate any help with this issue.

Best regards,
Daniel

Please boot with pci=realloc (by entering it temporally in grub menu), then reboot so you get a screen, then run
sudo journalctl -b-1 >journal.txt
and attach journal.txt.

I booted with pci=realloc in recovery mode so I can run the command.

journal.txt (970.6 KB)

That journal is not from a boot with pci=realloc.

-b -1

means the journal from last boot. -b 0 is current boot. A journal from recovery mode with pci=realloc also doesn’t help.

1 Like

Thank you for clarification, I think I got it right this time.
journal.txt (253.7 KB)

EDIT:
(unfortunately as a new user I cannot add another comment so I respond by editing the old one)

Yes, that worked! Thank you very much for the help.

Best regards,
Daniel

Yes, that worked.
The problem is that Ubuntu is trying to start a wayland session and that goes downhill. Please try disabling Wayland:
https://linuxconfig.org/how-to-disable-wayland-and-enable-xorg-display-server-on-ubuntu-18-04-bionic-beaver-linux

1 Like