Setting Option "PrimaryGPU" "yes" in the nvidia.conf does nothing with Wayland

Hi. I have been trying to set my NVIDIA GPU as the primary GPU, but even with the directions here, it still defaults to my Intel Mesa GPU.

Please post the output of lsmod | grep -Ei 'nouveau|nvidia', inxi -Fzx, and cat /etc/X11/xorg.conf.d/nvidia.conf. We need to have info so we can potentially track the problem.

Here is all the outputted info:

[skyler0x@fedora ~]$ lsmod | grep -Ei 'nouveau|nvidia'
nvidia_drm             69632  1
nvidia_modeset       1167360  2 nvidia_drm
nvidia_uvm           1204224  0
nvidia              39153664  103 nvidia_uvm,nvidia_modeset
i2c_nvidia_gpu         16384  0
[skyler0x@fedora ~]$ inxi -Fzx
  Kernel: 5.18.6-200.fc36.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.37-27.fc36 Desktop: GNOME v: 42.2
    Distro: Fedora release 36 (Thirty Six)
  Type: Laptop System: HP product: HP Pavilion Gaming Laptop 16-a0xxx v: N/A
    serial: <superuser required>
  Mobo: HP model: 87AF v: 32.30 serial: <superuser required> UEFI: AMI
    v: F.10 date: 06/23/2020
  ID-1: BAT0 charge: 45.9 Wh (100.0%) condition: 45.9/45.9 Wh (100.0%)
    volts: 12.7 min: 11.6 model: HP Primary status: full
  Info: quad core model: Intel Core i5-10300H bits: 64 type: MT MCP
    arch: Comet Lake rev: 2 cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
  Speed (MHz): avg: 4314 high: 4400 min/max: 800/4500 cores: 1: 4393
    2: 4295 3: 4400 4: 4303 5: 4329 6: 4189 7: 4287 8: 4321 bogomips: 39999
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Hewlett-Packard
    driver: i915 v: kernel arch: Gen9.5 bus-ID: 00:02.0
  Device-2: NVIDIA TU116M [GeForce GTX 1660 Ti Mobile]
    vendor: Hewlett-Packard driver: nvidia v: 510.68.02 arch: Turing
    bus-ID: 01:00.0
  Device-3: Quanta HP TrueVision HD Camera type: USB driver: uvcvideo
    bus-ID: 1-6:3
  Display: wayland server: X.Org v: with: Xwayland v: 22.1.2
    compositor: gnome-shell driver: gpu: i915 resolution: 1920x1080~144Hz
  OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 22.1.2
    direct render: Yes
  Device-1: Intel Comet Lake PCH cAVS vendor: Hewlett-Packard
    driver: sof-audio-pci-intel-cnl bus-ID: 00:1f.3
  Device-2: NVIDIA TU116 High Definition Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel bus-ID: 01:00.1
  Sound Server-1: ALSA v: k5.18.6-200.fc36.x86_64 running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.52 running: yes
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Hewlett-Packard driver: r8169 v: kernel port: 4000 bus-ID: 04:00.0
  IF: eno1 state: down mac: <filter>
  Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
    vendor: Hewlett-Packard driver: rtw_8822ce v: N/A port: 3000
    bus-ID: 05:00.0
  IF: wlo1 state: up mac: <filter>
  Device-1: Realtek 802.11ac WLAN Adapter type: USB driver: btusb v: 0.8
    bus-ID: 1-7:4
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
    v: 3.0 bus-ID: 00:17.0
  Device-1: md126 type: mdraid level: N/A status: inactive size: N/A
  Info: report: N/A blocks: 2136 chunk-size: N/A
  Components: Online: N/A Spare: 0: nvme0n1
  Device-2: md127 type: mdraid level: N/A status: inactive size: N/A
  Info: report: N/A blocks: 2944 chunk-size: N/A
  Components: Online: N/A Spare: 0: nvme1n1
  Local Storage: total: 1.4 TiB used: 16.1 GiB (1.1%)
  ID-1: /dev/nvme0n1 vendor: Intel model: HBRPEKNX0202AH size: 476.94 GiB
    temp: 23.9 C
  ID-2: /dev/nvme1n1 vendor: Intel model: HBRPEKNX0202AHO size: 27.25 GiB
    temp: 29.9 C
  ID-3: /dev/sda vendor: Samsung model: SSD 860 EVO 1TB size: 931.51 GiB
  ID-1: / size: 929.93 GiB used: 7.94 GiB (0.9%) fs: btrfs dev: /dev/sda3
  ID-2: /boot size: 973.4 MiB used: 206.9 MiB (21.3%) fs: ext4
    dev: /dev/sda2
  ID-3: /boot/efi size: 598.8 MiB used: 14 MiB (2.3%) fs: vfat
    dev: /dev/sda1
  ID-4: /home size: 929.93 GiB used: 7.94 GiB (0.9%) fs: btrfs
    dev: /dev/sda3
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
  System Temperatures: cpu: 51.0 C pch: 38.0 C mobo: N/A
  Fan Speeds (RPM): cpu: 0 fan-2: 0
  Processes: 885 Uptime: 1d 23h 8m Memory: 11.36 GiB used: 2.72 GiB (24.0%)
  Init: systemd target: graphical (5) Compilers: gcc: 12.1.1 Packages: 5
  note: see --pkg Shell: Bash v: 5.1.16 inxi: 3.3.19
[skyler0x@fedora ~]$ cat /etc/X11/xorg.conf.d/nvidia.conf
#This file is provided by xorg-x11-drv-nvidia
#Do not edit

Section "OutputClass"
	Identifier "nvidia"
	MatchDriver "nvidia-drm"
	Driver "nvidia"
	Option "AllowEmptyInitialConfiguration"
	Option "SLI" "Auto"
	Option "BaseMosaic" "on"
	Option "PrimaryGPU" "yes"

Section "ServerLayout"
	Identifier "layout"
	Option "AllowNVIDIAGPUScreens"
	Option "PrimaryGPU" "yes"

As you can see by the output of the nvidia.conf file #This file is provided by xorg-x11-drv-nvidia it is intended for use with the xorg display manager.

You are however using wayland

  Display: wayland server: X.Org v: with: Xwayland v: 22.1.2
    compositor: gnome-shell driver: gpu: i915 resolution: 1920x1080~144Hz

so it does not manage the GPU the same way.

You will have to switch to xorg if you want the system to use the nvidia GPU only. That is done by using the gear icon in the lower right of the login screen where you enter your password.

You do, however, in gnome have the ability to right click on the icon used to launch an app and select to use the discrete GPU for that app. It only works that way one app at a time and there may be issues with having both wayland and xorg active at the same time.

1 Like