Use Nvidia GPU as the primary ( or only ) GPU in Fedora with Wayland

Hi,

I have a dedicated Nvidia Graphic Card on my laptop . I want to know if I will be able to utilize it for all the graphic processing .

I tried installing graphic drivers from the .run file from Nvidia but my extended monitor stopped working after that . So then I installed using rpm fusion .

After rebooting I see that extended monitor works fine . But I don’t see graphic card being utilized. Whenever I run nvidia-smi I get

$ nvidia-smi
Sat Oct 26 20:45:53 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03              Driver Version: 560.35.03      CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1050        Off |   00000000:01:00.0  On |                  N/A |
| N/A   46C    P8             N/A / ERR!  |      34MiB /   4096MiB |      6%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1885      G   /usr/bin/kwin_wayland                           1MiB |
+-----------------------------------------------------------------------------------------+

That memory usage never changes so I am not sure if it is being used . Also there is a ERR! there for Pwr:Usage/Cap

In system settings → about , I see

Operating System: Fedora Linux 40
KDE Plasma Version: 6.2.2
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.2
Kernel Version: 6.11.4-201.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i5-8300H CPU @ 2.30GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 630
Manufacturer: Dell Inc.
Product Name: G3 3579

Graphics Processor is still intel . So not sure if drivers were currently installed .

If I run neofetch it shows that there is a GPU

------------------- 
OS: Fedora Linux 40 (Forty) x86_64 
Host: G3 3579 
Kernel: 6.11.4-201.fc40.x86_64 
Uptime: 48 mins 
Packages: 2111 (rpm) 
Shell: bash 5.2.26 
Resolution: 1920x1080 
DE: Plasma 6.2.2 
WM: kwin 
Theme: Breeze-Dark [GTK2], Breeze [GTK3] 
Icons: breeze-dark [GTK2/3] 
Terminal: konsole 
CPU: Intel i5-8300H (8) @ 4.000GHz 
GPU: NVIDIA GeForce GTX 1050 Mobile 
GPU: Intel CoffeeLake-H GT2 [UHD Graphics 630] 
Memory: 6853MiB / 15843MiB 

Here is the output of $ inxi -Fzxx

System:
  Kernel: 6.11.4-201.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-37.fc40
  Desktop: KDE Plasma v: 6.2.2 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
    Distro: Fedora Linux 40 (Forty)
Machine:
  Type: Laptop System: Dell product: G3 3579 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 05K0D2 v: A00 serial: <superuser required> part-nu: 086F
    UEFI: Dell v: 1.25.0 date: 04/12/2023
Battery:
  ID-1: BAT0 charge: 22.5 Wh (100.0%) condition: 22.5/56.0 Wh (40.1%)
    volts: 17.1 min: 15.2 model: BYD DELL 7FHHV97 serial: <filter> status: full
CPU:
  Info: quad core model: Intel Core i5-8300H bits: 64 type: MT MCP
    arch: Coffee Lake rev: A cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
  Speed (MHz): avg: 900 min/max: 800/4000 cores: 1: 900 2: 900 3: 900 4: 900
    5: 900 6: 900 7: 900 8: 900 bogomips: 36799
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell
    driver: i915 v: kernel arch: Gen-9.5 ports: active: eDP-1 empty: DP-1,
    DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:3e9b
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: Dell
    driver: nvidia v: 560.35.03 arch: Pascal pcie: speed: 2.5 GT/s lanes: 8
    ports: active: none off: HDMI-A-3 empty: none bus-ID: 01:00.0
    chip-ID: 10de:1c8d
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-5:4 chip-ID: 0c45:6a06
  Display: wayland server: Xwayland v: 24.1.3 compositor: kwin_wayland
    driver: N/A d-rect: 3456x1080 display-ID: 0
  Monitor-1: HDMI-A-3 pos: primary,left res: 1920x1080 size: N/A
  Monitor-2: eDP-1 pos: right res: 1536x864 size: N/A
  API: EGL v: 1.5 platforms: device: 0 drv: nvidia device: 1 drv: iris
    device: 3 drv: swrast gbm: drv: iris surfaceless: drv: nvidia wayland:
    drv: iris x11: drv: iris inactive: device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.1.7 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics 630 (CFL GT2)
    device-ID: 8086:3e9b display-ID: :0.0
  API: Vulkan v: 1.3.296 surfaces: xcb,xlib,wayland device: 0
    type: integrated-gpu driver: N/A device-ID: 8086:3e9b device: 1
    type: discrete-gpu driver: N/A device-ID: 10de:1c8d device: 2 type: cpu
    driver: N/A device-ID: 10005:0000
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a348
  Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
    v: kernel pcie: speed: 8 GT/s lanes: 8 bus-ID: 01:00.1 chip-ID: 10de:0fb9
  API: ALSA v: k6.11.4-201.fc40.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.9 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:a370
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Dell driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1
    port: 3000 bus-ID: 02:00.0 chip-ID: 10ec:8168
  IF: enp2s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-14:7
    chip-ID: 8087:0aaa
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
    lmp-v: 10
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
    v: 3.0 bus-ID: 00:17.0 chip-ID: 8086:282a
Drives:
  Local Storage: total: 931.51 GiB used: 13.51 GiB (1.5%)
  ID-1: /dev/sda vendor: Toshiba model: MQ04ABF100 size: 931.51 GiB
    speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 145 GiB used: 13.5 GiB (9.3%) fs: btrfs dev: /dev/sda7
  ID-2: /boot/efi size: 511 MiB used: 7.5 MiB (1.5%) fs: vfat dev: /dev/sda5
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 4 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sda6
Sensors:
  System Temperatures: cpu: 61.0 C pch: 55.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB available: 15.47 GiB used: 5.45 GiB (35.2%)
  Processes: 347 Power: uptime: 58m wakeups: 0 Init: systemd v: 255
    target: graphical (5) default: graphical
  Packages: pm: rpm pkgs: N/A note: see --rpm Compilers: gcc: 14.2.1
    Shell: Bash v: 5.2.26 running-in: konsole inxi: 3.3.36

Also glxinfo

anon@ymous:~$ glxinfo | grep NVIDIA
anon@ymous:~$ glxinfo | grep OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.7
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.1.7
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.1.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
prog
$ cat /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=UUID=2087308a-9c08-4447-b63a-aeb1e4fc6de7 rhgb rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
anon@ymous:~$ lspci -k | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

$ dnf list installed '*nvidia*'
Installed Packages
akmod-nvidia.x86_64                                               3:560.35.03-1.fc40                          @rpmfusion-nonfree-updates
kmod-nvidia-6.11.4-201.fc40.x86_64.x86_64                         3:560.35.03-1.fc40                          @@commandline             
nvidia-modprobe.x86_64                                            3:560.35.03-1.fc40                          @rpmfusion-nonfree-updates
nvidia-persistenced.x86_64                                        3:560.35.03-1.fc40                          @rpmfusion-nonfree-updates
nvidia-settings.x86_64                                            3:560.35.03-1.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                                        3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64                                   3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64                              3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                                3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                                   3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64                                  3:560.35.03-5.fc40                          @rpmfusion-nonfree-updates

I’d like to utilize the Nvidia GPU for everything a GPU could do :slight_smile: .
Let me know if is possible or not or if more info is needed about my config.

Thanks.

It’s definitely possible (I used to do it Skylake/GTX 1060) but I’ll see if I can figure out old notes later. It involved installing the driver normally (desktop) from RPM Fusion, and using a custom xorg.conf snippet along with forcing Xorg. I haven’t tried Wayland but think something similar could be done there.

1 Like

Try Dell 3579 Switchable Graphics. This looks like an AI-generated page with duplicate links to the same additional information article, so may contain nonsense.

1 Like

That may be a red herring.
the 1050 does not report power usage, though it does seem to have a power cap value on mine. Maybe the fact I have lm-sensors installed affects that, though I don’t think so.

Thanks for the fully detailed information. The only additional command that I normally ever ask for is dnf list installed '*nivdia*' which lists the installed packages with version and repo used. (I note that with f41 and dnf5 that will need to be altered to dnf list --installed '*nvidia*')

Looking at the output you provided I can see you are using wayland, have the 1050 GPU, and are using the 560.35.03 driver with the 6.11.4 kernel.

While I don’t need it because I mostly use a desktop with only nvidia GPU, I understand there is one command that can be used on wayland to force the nvidia to be used as the primary GPU. I am sure someone will chip in here with the procedure to force that.

I intend to make notes of that the next time it is posted. I also would like to be able to switch from X11 to wayland on my laptop and have the advantages of the nvidia drivers full time. With X11 it is very easy as shown here

My laptop is Asus and not Dell so if there are dell only fixes it probably would not work for me.

1 Like