You are not logged in.
I had my optimus-prime setup up and running quite some time ago then I switched back to optimus-manager setup for some period and now again I wanted to switch back to optimus-prime. I have removed all the files that was related to optimus-manager but for some reason I cannot make the nvidia module to load.
The xrandr gives always the following output:
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 1 name:modesetting
Provider 1: id: 0xe6 cap: 0x2, Sink Output crtcs: 4 outputs: 5 associated providers: 1 name:modesetting
Which I do not really understand, why modesetting is loaded twice for my providers.
On my grub I enabled the nvidia-drm.modeset=1 kernel parameter, I have also created the following udev rules in /lib/udev/rules.d/80-nvidia.rules for allowing for power control:
# Remove NVIDIA USB xHCI Host Controller devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
# Remove NVIDIA USB Type-C UCSI devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
# Remove NVIDIA Audio devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
and I have also created the /etc/modprobe.d/nvidia.conf with:
options nvidia "NVreg_DynamicPowerManagement=0x02"
for getting the power management control, however, for some reason the nvidia module is not loaded.
Trying to load it manually I get:
$sudo modprobe -v nvidia
insmod /lib/modules/5.8.13-arch1-1/extramodules/nvidia.ko.xz "NVreg_DynamicPowerManagement=0x02"
modprobe: ERROR: could not insert 'nvidia': No such device
Which is strange because I have the nvidia driver installed.
Any idea what I am missing here.
Last edited by theodore (2020-10-07 22:20:01)
Offline
xorg uses modesetting when KMS is detected but no DDX-driver for the card is present .
One way this could happen for nvidia cards is if the nouveau kernel module is used and xf86-video-nouveau is not installed.
post
$ lspci -k
to verify which kernel module is used by your nvidia card.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Yes it seems that to be the case, but how the nouveau kernel module is used from the moment that I am not loading it, xf86-video-nouveau package is not installed and is also blacklisted in /usr/lib/modprobe.d/nvidia.conf.
$ lspci -k | grep -A 2 -E "(VGA|3D)"
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
DeviceName: Onboard - Video
Subsystem: Razer USA Ltd. Device 200a
--
01:00.0 VGA compatible controller: NVIDIA Corporation TU104M [GeForce RTX 2080 SUPER Mobile / Max-Q] (rev a1)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: nouveau
and full output:
$ lspci -k
00:00.0 Host bridge: Intel Corporation 10th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 02)
Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
DeviceName: Onboard - Video
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: i915
Kernel modules: i915
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 02)
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: proc_thermal
Kernel modules: processor_thermal_device
00:12.0 Signal processing controller: Intel Corporation Comet Lake PCH Thermal Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:14.0 USB controller: Intel Corporation Comet Lake USB 3.1 xHCI Host Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:14.2 RAM memory: Intel Corporation Comet Lake PCH Shared SRAM
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
00:14.3 Network controller: Intel Corporation Wireless-AC 9462/9560
DeviceName: Onboard - Ethernet
Subsystem: Intel Corporation Device 0074
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
00:15.0 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH Serial IO I2C Controller #0
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Comet Lake HECI Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: mei_me
Kernel modules: mei_me
00:1b.0 PCI bridge: Intel Corporation Device 06af (rev f0)
Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
Kernel driver in use: pcieport
00:1d.4 PCI bridge: Intel Corporation Device 06b4 (rev f0)
Kernel driver in use: pcieport
00:1e.0 Communication controller: Intel Corporation Comet Lake PCH Serial IO UART Host Controller #0
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge: Intel Corporation Comet Lake LPC Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
00:1f.3 Audio device: Intel Corporation Comet Lake PCH cAVS
DeviceName: Onboard - Sound
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci
00:1f.4 SMBus: Intel Corporation Comet Lake PCH SMBus Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH SPI Controller
DeviceName: Onboard - Other
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: intel-spi
Kernel modules: intel_spi_pci
01:00.0 VGA compatible controller: NVIDIA Corporation TU104M [GeForce RTX 2080 SUPER Mobile / Max-Q] (rev a1)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: nouveau
Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
01:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: nvidia-gpu
Kernel modules: i2c_nvidia_gpu
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01)
Subsystem: Razer USA Ltd. Device 200a
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
Subsystem: Samsung Electronics Co Ltd Device a801
Kernel driver in use: nvme
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
Kernel driver in use: pcieport
05:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
Kernel driver in use: pcieport
05:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
Kernel driver in use: pcieport
05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] (rev 06)
Kernel driver in use: pcieport
06:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 2C 2018] (rev 06)
Subsystem: Razer USA Ltd. Device 2009
Kernel driver in use: thunderbolt
Kernel modules: thunderbolt
3c:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 2C 2018] (rev 06)
Subsystem: Razer USA Ltd. Device 2009
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
Last edited by theodore (2020-10-06 23:26:04)
Offline
nouveau kernel module is probably loaded before the system processes /usr/lib/modprobe.d .
Simplest way to prevent this is to ensure nvidia modules are loaded before kernel even considers loading nouveau.
Re-read https://wiki.archlinux.org/index.php/NV … de_setting and add the necessary nividia modules to mkinitcpioconf .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Ok, I see. I thought that by just setting the nvidia-drm.modeset=1 kernel parameter was enough. Now I get the nvidia to correctly be loaded thanks.
Offline