F39 Will Wayland Work with Nvidia GeForce 940MX

I have heard rumblings that Fedora is planning to drop installing X11 in some future version of Workstation, and only running Wayland. I’m in favor of switching to Wayland, but I’m also in favor of not getting new hardware. I’m currently running a HP ENVY m7 Notebook with an Nvidia GeForce 940MX Optimus chip set. Even though I have the Intel built in graphics available, I have been running this computer using the Nvidia graphics card 100% of the time with the RPM fusion driver.

According to this post Wayland session is unavailable with vendor-provided NVIDIA driver

I am under the impression that installing the RPM Fusion driver should give me access to a Wayland session. However, when I log in I have as my options “Gnome” or “Gnome Classic” and both seem to be running on an X11 session. Is my hardware to old to work with the RPM Nvidia Driver and Wayland, or do I have to install something else?

This install has been upgraded from one version of Fedora to the next since F31.

You should be able to test this for your self.

On the login screen in the bottom left you should see a drop down that you can select Gnome X11 or Gnome wayland.

Try the Gnome wayland and see how well it works.
You can always go back to Gnome X11 if there is a problem.

I believe the 940MX is supported by the latest nvidia drivers and as such should work well with Wayland. Wayland works well with the latest drivers for me.

1 Like

I’m running F39, and when I am in GDM, the login screen. There is nothing in the bottom left. There is a gear icon in the bottom right, where it is listed “Gnome” or “Gnome Classic”. When I choose either of these options, Gnome or Gnome Classic launches in an X11 session. There is no way in the login screen to choose Gnome Wayland or Gnome X11. I do remember those options in previous versions of Fedora, and perhaps before I installed the RPM Fusion driver to use the Nvidia Graphics card full time instead of the Intel Builtin Graphics in the i7 chip.

Is your system a fresh install of F39 or an upgrade?

It isn’t clear whether you installed drivers directly from Nvidia or from the rpmfusion repository.

It is good practice to make sure your system is fully updated (including the vendor “BIOS” firmware) so you aren’t chasing bugs that have been fixed and so others will have the same packages.

When installing from rpmfusion with akmods you need to wait for the akmods processing to finish – many users have rebooted too quickly, It is helpful to
post (as searchable text using the </> button) the output from inxi -Fzxx. This will ensure that others with the same issue and hardware find this thread, and will confirm that the nvidia driver is being used.

Please provide the output from lsmod | grep nvidia which shows which nvidia modules are being used.

You may be able to find details of the problem with journalctl, but it takes some effort to find them amid the volume of detailed information. I usually start with journalctl -b -p 3 (show priority 3 and higher messages for the current boot).

  1. I installed the driver from RPM Fusion (not directly from Nvidia)

  2. I’m fairly certain that I waited long enough (5 minutes +) after running akmods. Also “Settings:About” shows that it is running off of the Nvidia GeForce 940MX.

  3. Output from inxi -Fzxx

$ inxi -Fzxx
System:
  Kernel: 6.6.8-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-13.fc39 Desktop: GNOME v: 45.2 tk: GTK v: 3.24.39 wm: gnome-shell
    dm: GDM Distro: Fedora release 39 (Thirty Nine)
Machine:
  Type: Laptop System: HP product: HP ENVY m7 Notebook v: Type1ProductConfigId
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: HP model: 81D4 v: KBC Version 87.21 serial: <superuser required>
    UEFI: Insyde v: F.30 date: 12/09/2016
Battery:
  ID-1: BAT0 charge: 0.1 Wh (0.3%) condition: 32.2/32.2 Wh (100.0%)
    volts: 10.7 min: 11.6 model: Hewlett-Packard Primary serial: <filter>
    status: not charging
CPU:
  Info: dual core model: Intel Core i7-7500U bits: 64 type: MT MCP
    arch: Amber/Kaby Lake note: check rev: 9 cache: L1: 128 KiB L2: 512 KiB
    L3: 4 MiB
  Speed (MHz): avg: 1175 high: 3500 min/max: 400/3500 cores: 1: 400 2: 3500
    3: 400 4: 400 bogomips: 23199
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel HD Graphics 620 vendor: Hewlett-Packard driver: i915
    v: kernel arch: Gen-9.5 ports: active: HDMI-A-1 empty: none bus-ID: 00:02.0
    chip-ID: 8086:5916
  Device-2: NVIDIA GM108M [GeForce 940MX] vendor: Hewlett-Packard
    driver: nvidia v: 545.29.06 arch: Maxwell pcie: speed: 8 GT/s lanes: 4
    bus-ID: 04:00.0 chip-ID: 10de:134d
  Device-3: Microdia [] driver: snd-usb-audio,uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-3.4:7 chip-ID: 0c45:6536
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 23.2.3
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,nouveau,vesa alternate: nv dri: iris gpu: i915
    display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96
  Monitor-1: HDMI-A-1 mapped: HDMI-1-1 model: Acer EB321HQ A res: 1920x1080
    dpi: 70 diag: 801mm (31.5")
  API: OpenGL v: 4.6.0 vendor: nvidia v: 545.29.06 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce 940MX/PCIe/SSE2
  API: Vulkan v: 1.3.268 surfaces: xcb,xlib device: 0 type: integrated-gpu
    driver: mesa intel device-ID: 8086:5916 device: 1 type: discrete-gpu
    driver: nvidia device-ID: 10de:134d device: 2 type: cpu
    driver: mesa llvmpipe device-ID: 10005:0000
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:9d71
  Device-2: JMTek LLC. [] driver: hid-generic,snd-usb-audio,usbhid type: USB
    rev: 1.1 speed: 12 Mb/s lanes: 1 bus-ID: 1-3.1:4 chip-ID: 0c76:1665
  Device-3: Microdia [] driver: snd-usb-audio,uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-3.4:7 chip-ID: 0c45:6536
  API: ALSA v: k6.6.8-200.fc39.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.0 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 Wireless 7265 driver: iwlwifi v: kernel pcie:
    speed: 2.5 GT/s lanes: 1 bus-ID: 01:00.0 chip-ID: 8086:095a
  IF: wlp1s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Hewlett-Packard driver: r8169 v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: 4000 bus-ID: 02:00.0 chip-ID: 10ec:8168
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-8:3 chip-ID: 8087:0a2a
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.2
    lmp-v: 8
Drives:
  Local Storage: total: 476.94 GiB used: 216.73 GiB (45.4%)
  ID-1: /dev/sda vendor: Silicon Power model: SPCC 2.5 SSD size: 476.94 GiB
    speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 117.56 GiB used: 50.06 GiB (42.6%) fs: ext4 dev: /dev/dm-0
    mapped: fedora_localhost--live-root
  ID-2: /boot size: 973.4 MiB used: 288 MiB (29.6%) fs: ext4 dev: /dev/sda2
  ID-3: /boot/efi size: 598.8 MiB used: 17.4 MiB (2.9%) fs: vfat
    dev: /dev/sda1
  ID-4: /home size: 341.01 GiB used: 166.37 GiB (48.8%) fs: ext4
    dev: /dev/dm-2 mapped: fedora_localhost--live-home
Swap:
  ID-1: swap-1 type: partition size: 7.82 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/dm-1 mapped: fedora_localhost--live-swap
  ID-2: swap-2 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 50.0 C pch: 37.0 C mobo: N/A gpu: nvidia
    temp: 38 C
  Fan Speeds (rpm): N/A
Info:
  Processes: 272 Uptime: 14h 55m Memory: total: 16 GiB available: 15.5 GiB
  used: 2.52 GiB (16.3%) Init: systemd v: 254 target: graphical (5)
  default: graphical Compilers: gcc: 13.2.1 Packages: 49 pm: rpm pkgs: N/A
  note: see --rpm pm: flatpak pkgs: 45 pm: snap pkgs: 4 Shell: Bash v: 5.2.21
  running-in: roxterm inxi: 3.3.31
  1. Output from lsmod | grep nvidia
lsmod | grep nvidia
nvidia_drm            118784  13
nvidia_modeset       1585152  7 nvidia_drm
nvidia_uvm           3522560  0
nvidia              62394368  124 nvidia_uvm,nvidia_modeset
video                  77824  2 i915,nvidia_modeset
  1. Output of journalctl -b -p 3
Jan 10 06:20:17 epsilon kernel: x86/cpu: SGX disabled by BIOS.
Jan 10 06:20:17 epsilon systemd-vconsole-setup[247]: /usr/bin/setfont failed with exit status 71.
Jan 10 06:20:19 epsilon systemd-vconsole-setup[497]: /usr/bin/setfont failed with exit status 71.
Jan 10 06:20:24 epsilon kernel: usb 1-3.4: 4:1: cannot get freq at ep 0x84
Jan 10 06:20:29 epsilon kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module  545.29.06  Thu Nov 16 01:59:08 UTC 2023
Jan 10 06:20:30 epsilon /usr/bin/nvidia-powerd[1005]: SBIOS support not found for NVPCF GET_SUPPORTED function
Jan 10 06:20:30 epsilon /usr/bin/nvidia-powerd[1005]: No matching GPU found
Jan 10 06:20:30 epsilon /usr/bin/nvidia-powerd[1005]: Failed to initialize RM Client
Jan 10 06:20:37 epsilon dbus-broker-launch[1788]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 06:20:38 epsilon kernel: usb 1-3.4: 4:1: cannot get freq at ep 0x84
Jan 10 06:20:38 epsilon kernel: usb 1-3.4: 4:1: cannot get freq at ep 0x84
Jan 10 06:21:07 epsilon gdm-password][2326]: gkr-pam: unable to locate daemon control file
Jan 10 06:21:10 epsilon dbus-broker-launch[2563]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 06:21:13 epsilon systemd[2357]: Failed to start app-gnome-spice\x2dvdagent-2833.scope - Application launched by gnome-session-binary.
Jan 10 06:22:57 epsilon dleyna-renderer-service[4402]: Connector 'dbus' not found
Jan 10 06:22:57 epsilon dleyna-renderer-service[4409]: Connector 'dbus' not found
Jan 10 11:12:26 epsilon dleyna-renderer-service[6198]: Connector 'dbus' not found
Jan 10 11:12:27 epsilon dleyna-renderer-service[6216]: Connector 'dbus' not found
Jan 10 18:44:06 epsilon dbus-broker-launch[10117]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:44:40 epsilon dbus-broker-launch[11114]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:45:19 epsilon gdm-password][11603]: gkr-pam: unable to locate daemon control file
Jan 10 18:45:22 epsilon dbus-broker-launch[11843]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:45:59 epsilon dbus-broker-launch[13187]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:46:01 epsilon dbus-broker-launch[13250]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:46:15 epsilon gdm-password][13748]: gkr-pam: unable to locate daemon control file
Jan 10 18:46:17 epsilon dbus-broker-launch[13962]: Ignoring duplicate name 'org.freedesktop.FileManager1' in service file '/usr/share//dbus-1/services/org.xfce.Thunar.FileManager1.service'
Jan 10 18:46:18 epsilon systemd[13803]: Failed to start app-gnome-gnome\x2dkeyring\x2dpkcs11-14120.scope - Application launched by gnome-session-binary.
Jan 10 18:46:18 epsilon systemd[13803]: Failed to start app-gnome-gnome\x2dkeyring\x2dsecrets-14108.scope - Application launched by gnome-session-binary.
Jan 10 18:46:18 epsilon systemd[13803]: Failed to start app-gnome-gnome\x2dkeyring\x2dssh-14113.scope - Application launched by gnome-session-binary.

I might have fixed it with the help of this POST.

I needed to run systemctl enable nvidia-resume.service and reboot.

Now I have as choices in the GDM login screen:
Gnome
Gnome-Classic
Gnome on X11
Gnome-Classic on X11

So I logged into the “Gnome” session, and “Settings:About:System Details” lists the following:

# System Details Report
---

## Report details
- **Date generated:**                              2024-01-10 21:38:42

## Hardware Information:
- **Hardware Model:**                              HP HP ENVY m7 Notebook
- **Memory:**                                      16.0 GiB
- **Processor:**                                   Intel® Core™ i7-7500U × 4
- **Graphics:**                                    Intel® HD Graphics 620 (KBL GT2)
- **Graphics 1:**                                  NVIDIA GeForce 940MX
- **Disk Capacity:**                               512.1 GB

## Software Information:
- **Firmware Version:**                            F.30
- **OS Name:**                                     Fedora Linux 39 (Workstation Edition)
- **OS Build:**                                    (null)
- **OS Type:**                                     64-bit
- **GNOME Version:**                               45.2
- **Windowing System:**                            Wayland
- **Kernel Version:**                              Linux 6.6.8-200.fc39.x86_64

Yes, it says the “Windoing System” is Wayland, but now under:
Graphics: Intel® HD Graphics 620 (KBL GT2)
Graphics 1: NVIDIA GeForce 940MX
Before it used to read:
Graphics: NVIDIA GeForce 940MX
Graphics 1: NVIDIA GeForce 940MX

So does this mean that my Nvidia card is no longer running 100% of the time like I would desire?

Yes. it means that wayland is using the optimus mode which by default uses the intel iGPU unless the user explicitly starts an app with the nvidia dGPU.

According to the directions here

In xorg it is possible to copy the file from /usr/share/X11/xorg.conf.d/nvidia.conf to /etc/X11/xorg.conf.d/nvidia.conf and by adding one line to that file Option "PrimaryGPU" "Yes" and using the xorg DE it makes the system use only the nvidia gpu. The same seems not really possible with wayland.

If you wish to use the nvidia GPU 100% of the time then it seems you must use xorg and not wayland.

I used to do that on my laptop but after the release of F39 and with the updates to wayland I now am using wayland on my laptop.