You are not logged in.

#1 2020-10-05 18:15:39

theodore
Member
Registered: 2008-09-09
Posts: 151

[SOLVED] both providers are set to modesetting

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

#2 2020-10-06 10:24:21

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: [SOLVED] both providers are set to modesetting

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

#3 2020-10-06 22:20:37

theodore
Member
Registered: 2008-09-09
Posts: 151

Re: [SOLVED] both providers are set to modesetting

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

#4 2020-10-07 11:42:11

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: [SOLVED] both providers are set to modesetting

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

#5 2020-10-07 22:19:21

theodore
Member
Registered: 2008-09-09
Posts: 151

Re: [SOLVED] both providers are set to modesetting

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

Board footer

Powered by FluxBB