Unable to use wayland in kde nvidia

When i select wayland and enter password in login screen the screen goes black for a while and then prompts me back to login.

inxi -Gazy output

Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: nvidia
    v: 470.103.01 alternate: nouveau,nvidia_drm pcie: gen: 2 speed: 5 GT/s
    lanes: 4 link-max: lanes: 8 ports: active: none off: HDMI-A-1
    empty: DVI-D-1,VGA-1 bus-ID: 01:00.0 chip-ID: 10de:128b class-ID: 0300
  Device-2: Logitech Webcam C170 type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 2-2:2 chip-ID: 046d:082b class-ID: 0102
  Display: x11 server: X.Org v: 1.21.1.3 compositor: kwin_x11 driver: X:
    loaded: nvidia gpu: nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 101 s-size: 483x272mm (19.0x10.7")
    s-diag: 554mm (21.8")
  Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 102
    size: 477x268mm (18.8x10.6") diag: 547mm (21.5")
  OpenGL: renderer: NVIDIA GeForce GT 710/PCIe/SSE2
    v: 4.6.0 NVIDIA 470.103.01 direct render: Yes

output of cat /etc/mkinitcpio.conf

                                                                     ✔ 
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap consolefont filesystems fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
#COMPRESSION="zstd"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

output of cat etc/default/grub

GRUB_DEFAULT="Advanced options for Manjaro Linux>Manjaro Linux (Kernel: 5.10.102-1-MANJARO x64 - fallback initramfs)"
GRUB_TIMEOUT=20
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 nvidia-drm.modeset=1 security=apparmor udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

I have the following packages installed

egl-wayland                        2:1.1.9+r3+g582b2d3-1         extra      83.1 kB
kwayland                           5.91.0-1                      extra      7.6 MB
kwayland-integration               5.24.3-1                      extra      154.0 kB
kwayland-server                    5.24.3-1                      extra      3.4 MB
lib32-wayland                      1.20.0-1                      multilib   191.8 kB
plasma-wayland-session             5.24.3-1                      extra      3.3 kB
qt5-wayland                        5.15.3+kde+r40-1              extra      6.4 MB
qt6-wayland                        6.2.3-2                       extra      6.0 MB
wayland                            1.20.0-1                      extra      815.2 kB
wayland-protocols                  1.25-1                        extra      473.9 kB
wayland-utils                      1.0.0-2                       extra      45.1 kB
xorg-xwayland                      22.1.0-1                      extra      2.3 MB

I think you need to add

GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1"

then run
sudo update-grub

Again, not quite sure, but you missed the plasma-wayland-protocols package too, and reboot after that.

Last time i tested on another install, was “working” but not quite usable for some tasks, and IMO is not there yet for daily usage.

tried both didn’t work it reacts the same way.

you mean wayland on nvidia or simply just wayland?

Wayland with Nvidia in KDE Plasma …
You might want to check also the sddm configs … Options like

[X11]
ServerArguments=-dpi 0

for example, should not be there i guess under /etc/sddm.conf.d/kde_settings.conf

Also, some installs seem to have a particular 00manjaro conf or something … not sure if needed tho.

Then there should be EnableHiDPI=true under /etc/sddm.conf for both X11 and Wayland.

Will take a closer look at my other install, later this evening, and see if i can still log in with wayland session.

It isnt there.

both were set to false but changing them to true didnt fix it

Don’t know, will check more later, as this are just “surface” observations i had … Also, after a quick look, the other install has also wrapland and python-pywayland packages installed and the ~/.config/kwinrc on the install that i’m able to log in wayland sessions does not have the Backend=OpenGL in the [Compositing] options.
Anyway, hope someone else will pass by with more solid information.

did you try to go to another tty [ Ctrl+Alt+F2/F3/F4 etc] and try running executing “startplasma-wayland” ? perhaps you can get some verbose on whats wrong

1 Like

it showed no backend specified through command line argument
which led to
https://bbs.archlinux.org/viewtopic.php?id=255447

setting KWIN_COMPOSE=0
does make walynd session work but its not a great experience . cursor is glitching and sometimes the frame rate is very low.
btw i can only start it from command line .
Maybe i can set that as an environment variable and be able to use wayland without commandline. :thinking:

I heard that NVIDIA driver didn’t play well with Wayland. I never try Wayland before, so I can’t tell much.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.