You are not logged in.
First time Arch (or linux in general) user but I wanted to dive in head first and learn as much as I could, so please bear with me.
Kernel Version: 6.9.9-arch1-1
Bootloader: rEFInd
GPU: NVIDIA GeForce RTX 3080 Ti
NVIDIA Driver Version: 555.58.02
Display Manager: SDDM
Desktop Environment: KDE Plasma
Multihead: Two Monitors
I'm experiencing issues when trying to start a Plasma (X11) session using SDDM or manually through a TTY. Originally when choosing Plasma (X11) in the SDDM dropdown menu and providing my credentials, it would flash a black screen and kick me back to the login screen. I was using the xorg configuration generated by nvidia-xconfig as outlined in the NVIDIA Automatic Configuration section of the wiki, but I read on the forums that it causes more problems than it solves, so I removed the generated config. Now when I try to start a Plasma (X11) session in SDDM, the login screen freezes. When I attempt to run startx from a TTY, I get a black screen and I have to kill the process in another TTY.
1. I've read through the following Arch Wiki pages: KDE, SDDM, Display Manager, NVIDIA, NVIDIA/Troubleshooting
2. Followed the troubleshooting steps 3.1 and 3.2 for SDDM. For 3.1, disk space doesn't seem to be an issue to me, and I tried restarting SDDM. For 3.2, I removed ~/.Xauthority and tried logging in without rebooting. I didn't notice any changes afterwards.
3. The Xorg_configuration section on the NVIDIA page states "The proprietary NVIDIA graphics card driver does not need any Xorg server configuration file.", but since that wasn't working for me I tried to create a configuration file. Originally created the configuration with nvidia-xconfig, but as I stated before I read that it causes problems, so I've since removed it and created a manual minimal configuration file.
4. Followed the troubleshooting steps 1.3, 1.4, and 1.7 for NVIDIA Troubleshooting. For 1.3, I haven't implemented any of these changes yet. This is the first time I've heard of xrandr, so I'm still doing additional research. For 1.4, I added the listed environment variables, loaded the nvidia modules in /etc/mkinitcpio.conf, and rebuilt the initramfs with mkinitcpio -P. I know that section is specifically for Wayland, but I wanted to mention the changes just in case they are causing conflicts. For 1.7, I reinstalled nvidia-utils and followed the directions to copy 10-nvidia-drm-outputclass.conf to the correct directory and added the option line.
5. I've tried reviewing journalctl and the Xorg logs, but I'm still trying to figure out what I'm looking for and how to efficiently filter for relevant information. I'm trying to ingest a lot of information at once, so I don't have a full understanding of Xorg, Wayland, Compositors, Display Managers, etc. and how they interact yet.
Wayland has been pretty smooth sailing for me, but I've never successfully started an X11 session. Sorry if the following is too much or irrelevant information. I just wanted to make it as easy as possible to help me and show I'm trying to learn.
df -h
Filesystem Size Used Avail Use% Mounted on
dev 16G 0 16G 0% /dev
run 16G 2.6M 16G 1% /run
efivarfs 192K 144K 44K 77% /sys/firmware/efi/efivars
/dev/mapper/cryptroot 931G 97G 833G 11% /
tmpfs 16G 99M 16G 1% /dev/shm
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-udev-load-credentials.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-tmpfiles-setup-dev-early.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-sysctl.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-tmpfiles-setup-dev.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-vconsole-setup.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-cryptsetup@crypt_games.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-cryptsetup@crypt_virtual_machines.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-cryptsetup@crypt_storage_sdb.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-cryptsetup@crypt_storage_sda.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-cryptsetup@crypt_torrents_usenet.service
/dev/mapper/cryptroot 931G 97G 833G 11% /.snapshots
/dev/mapper/cryptroot 931G 97G 833G 11% /swap
/dev/mapper/cryptroot 931G 97G 833G 11% /home
/dev/nvme0n1p1 511M 255M 257M 50% /boot
tmpfs 16G 19M 16G 1% /tmp
/dev/mapper/crypt_games 1.9T 932G 931G 51% /mnt/games
/dev/mapper/crypt_storage_sda 7.3T 1.9T 5.5T 25% /mnt/storage
/dev/mapper/crypt_torrents_usenet 1.9T 5.8M 1.9T 1% /mnt/torrents_usenet
/dev/mapper/crypt_virtual_machines 466G 5.8M 464G 1% /mnt/virtual_machines
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-tmpfiles-setup.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty2.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty3.service
tmpfs 3.2G 104K 3.2G 1% /run/user/1000
NVIDIA modules appear to be loaded.
lsmod | grep nvidia
nvidia_drm 122880 86
nvidia_uvm 6676480 0
nvidia_modeset 1617920 45 nvidia_drm
video 77824 3 asus_wmi,asus_nb_wmi,nvidia_modeset
nvidia 61001728 742 nvidia_uvm,nvidia_modeset
nvidia-smi
Sun Jul 14 23:29:10 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.58.02 Driver Version: 555.58.02 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 3080 Ti Off | 00000000:01:00.0 On | N/A |
| 53% 52C P0 121W / 400W | 1464MiB / 12288MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 3535 G /usr/lib/Xorg 43MiB |
| 0 N/A N/A 4699 G /usr/bin/kwalletd6 3MiB |
| 0 N/A N/A 4736 G /usr/bin/kwin_wayland 229MiB |
| 0 N/A N/A 4786 G /usr/bin/Xwayland 4MiB |
| 0 N/A N/A 4817 G /usr/bin/ksmserver 3MiB |
| 0 N/A N/A 4819 G /usr/bin/kded6 3MiB |
| 0 N/A N/A 4833 G /usr/bin/plasmashell 217MiB |
| 0 N/A N/A 4891 G /usr/lib/kactivitymanagerd 3MiB |
| 0 N/A N/A 4899 G ...b/polkit-kde-authentication-agent-1 3MiB |
| 0 N/A N/A 4900 G /usr/lib/org_kde_powerdevil 3MiB |
| 0 N/A N/A 4901 G /usr/lib/xdg-desktop-portal-kde 3MiB |
| 0 N/A N/A 5033 G kdeconnectd 3MiB |
| 0 N/A N/A 5085 G /usr/bin/kclockd 3MiB |
| 0 N/A N/A 5098 G /usr/bin/kaccess 3MiB |
| 0 N/A N/A 5106 G /usr/lib/DiscoverNotifier 3MiB |
| 0 N/A N/A 5108 G /usr/bin/kalendarac 3MiB |
| 0 N/A N/A 5234 G /usr/bin/kate 3MiB |
| 0 N/A N/A 5257 G /usr/bin/konsole 3MiB |
| 0 N/A N/A 5283 G /usr/bin/falkon 454MiB |
| 0 N/A N/A 5427 G ...nglingPtr --variations-seed-version 128MiB |
+-----------------------------------------------------------------------------------------+
/etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist i915
blacklist intel_agp
blacklist radeon
blacklist amdgpu
blacklist nvidiafb
/etc/modprobe.d/nvidia.conf
options nvidia-drm modeset=1
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
/etc/sddm.conf
[Autologin]
# Whether sddm should automatically log back into sessions when they exit
Relogin=false
# Name of session file for autologin session (if empty try last logged in)
Session=
# Username for autologin session
User=
[General]
# Which display server should be used.
# Valid values are: x11, x11-user, wayland. Wayland support is experimental
DisplayServer=x11
# Comma-separated list of environment variables to be set
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
# Halt command
HaltCommand=/usr/bin/systemctl poweroff
# Input method module
InputMethod=
# Comma-separated list of Linux namespaces for user session to enter
Namespaces=
# Initial NumLock state. Can be on, off or none.
# If property is set to none, numlock won't be changed
# NOTE: Currently ignored if autologin is enabled.
Numlock=on
# Reboot command
RebootCommand=/usr/bin/systemctl reboot
[Theme]
# Current theme name
Current=breeze
# Cursor size used in the greeter
CursorSize=
# Cursor theme used in the greeter
CursorTheme=
# Number of users to use as threshold
# above which avatars are disabled
# unless explicitly enabled with EnableAvatars
DisableAvatarsThreshold=7
# Enable display of custom user avatars
EnableAvatars=true
# Global directory for user avatars
# The files should be named <username>.face.icon
FacesDir=/usr/share/sddm/faces
# Font used in the greeter
Font=
# Theme directory path
ThemeDir=/usr/share/sddm/themes
[Users]
# Default $PATH for logged in users
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
# Comma-separated list of shells.
# Users with these shells as their default won't be listed
HideShells=
# Comma-separated list of users that should not be listed
HideUsers=
# Maximum user id for displayed users
MaximumUid=60513
# Minimum user id for displayed users
MinimumUid=1000
# Remember the session of the last successfully logged in user
RememberLastSession=true
# Remember the last successfully logged in user
RememberLastUser=true
# When logging in as the same user twice, restore the original session, rather than create a new one
ReuseSession=true
[Wayland]
# Path of the Wayland compositor to execute when starting the greeter
CompositorCommand=kioskkwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1
# Enable Qt's automatic high-DPI scaling
EnableHiDPI=true
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/wayland-session
# Comma-separated list of directories containing available Wayland sessions
SessionDir=/usr/local/share/wayland-sessions,/usr/share/wayland-sessions
# Path to the user session log file
SessionLogFile=.local/share/sddm/wayland-session.log
[X11]
# Path to a script to execute when starting the display server
DisplayCommand=/usr/share/sddm/scripts/Xsetup
# Path to a script to execute when stopping the display server
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
# Enable Qt's automatic high-DPI scaling
EnableHiDPI=true
# Arguments passed to the X server invocation
ServerArguments=-nolisten tcp
# Path to X server binary
ServerPath=/usr/bin/X
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/Xsession
# Comma-separated list of directories containing available X sessions
SessionDir=/usr/local/share/xsessions,/usr/share/xsessions
# Path to the user session log file
SessionLogFile=.local/share/sddm/xorg-session.log
/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
Identifier "NVIDIA Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 3080 Ti"
Option "No Logo" "1"
EndSection
~/.xinitrc
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
export DESKTOP_SESSION=plasma
exec startplasma-x11
/etc/environment
#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
# https://wiki.archlinux.org/title/Wayland#Requirements
# Force GBM as a backend
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia
# https://wiki.archlinux.org/title/NVIDIA/Troubleshooting#Black_screen_at_Wayland_startup
# Troubleshooting Black screen at Wayland startup
ENABLE_VKBASALT=1
# https://wiki.archlinux.org/title/Hardware_video_acceleration#Configuring_VA-API
# Override driver for VA-API
LIBVA_DRIVER_NAME=nvidia
# https://wiki.archlinux.org/title/Hardware_video_acceleration#Configuring_VDPAU
# Override driver for VDPAU
VDPAU_DRIVER=nvidia
# https://wiki.archlinux.org/title/Wayland#Avoid_loading_NVIDIA_modules
# Avoid loading NVIDIA modules before launching a Wayland compositor like sway
#__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json
/var/log/Xorg.0.log
~/.local/share/xorg/Xorg.1.log
journalctl -b
Last edited by anyarr (2024-07-28 20:28:23)
Offline
Good information!
Wayland as the successor to X11 is generally a great improvement, and as long as it is working -- including any XWayland server to translate for any X apps if you use them -- one may not need an actual X11 session.
I understand too well how a flood of new information all somehow seems relevant. Setting up Nvidia on Xorg should 'normally' be just a few steps covered in https://wiki.archlinux.org/title/NVIDIA ..
Offline
Xorg.0.log was from a running server (in dobut because of SDDM, it defaults to X11), with not obivous issues.
[ 99.728] (**) | |-->Device "NVIDIA Card"
means there's still some device config around, but that's usually not a problem - and this is a single GPU system anyway.
Xorg.1.log ran for ~105s and then terminated cleanly.
The journal shows an attempt to run kde on wayland?
But initially on X11, but then
Jul 14 23:13:21 anyarr-desktop-arch kapplymousetheme[2791]: qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.
Jul 14 23:13:21 anyarr-desktop-arch kapplymousetheme[2791]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, xcb, wayland-egl, wayland.
Jul 14 23:13:21 anyarr-desktop-arch systemd-coredump[2798]: Process 2791 (kapplymousethem) of user 1000 terminated abnormally with signal 6/ABRT, processing...
what means you most likely are exporting "QT_QPA_PLATFORM=wayland" somewhere™?
Offline
Have you followed https://wiki.archlinux.org/title/NVIDIA#Installation all the way?
have you removed KMS from mkinitcpio hooks?
have you added the nvidia* stuff to the modules?
have you recreated the initrd?
have you added the kernel options to your boot config?
setting up nvidia drivers correctly is some journey in itself - make sure you do follow the wiki exactly
Offline
Good information!
Wayland as the successor to X11 is generally a great improvement, and as long as it is working -- including any XWayland server to translate for any X apps if you use them -- one may not need an actual X11 session.I understand too well how a flood of new information all somehow seems relevant. Setting up Nvidia on Xorg should 'normally' be just a few steps covered in https://wiki.archlinux.org/title/NVIDIA ..
I originally was trying to get X11 to work to test an issue I was having with the GUI for plex-desktop, but I was able to resolve that by adding export QT_QPA_PLATFORM=xcb to the Plex.sh script. Then I just didn't like not having X11 as an option and took up the challenge to fix it as a learning experience. I read through the NVIDIA page on the wiki for configuring Xorg. Seems the general consensus online is the NVIDIA automatic configuration isn't very good, and the wiki suggests that I don't need a configuration file at all in order to use Xorg with the proprietary NVIDIA drivers, but that I could make a configuration file to adjust various settings.
Xorg.0.log was from a running server (in dobut because of SDDM, it defaults to X11), with not obivous issues.
[ 99.728] (**) | |-->Device "NVIDIA Card"
means there's still some device config around, but that's usually not a problem - and this is a single GPU system anyway.
I don't recall at what point I tried to remove the old device config, so it may have still been present at that point in the logs. I've removed 10-nvidia-drm-outputclass.conf and 20-nvidia.conf from /etc/X11/xorg.conf.d/. I've removed the old Xorg logs today and here's the new log when trying to start an X11 session.
When trying to log in with the X11 session, the screen froze. If I switch to another TTY and switch back, it's just a black screen with the mouse cursor. I terminated the session by restarting SDDM from another TTY.
Xorg.1.log ran for ~105s and then terminated cleanly.
The journal shows an attempt to run kde on wayland?
But initially on X11, but thenJul 14 23:13:21 anyarr-desktop-arch kapplymousetheme[2791]: qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found. Jul 14 23:13:21 anyarr-desktop-arch kapplymousetheme[2791]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, xcb, wayland-egl, wayland. Jul 14 23:13:21 anyarr-desktop-arch systemd-coredump[2798]: Process 2791 (kapplymousethem) of user 1000 terminated abnormally with signal 6/ABRT, processing...
what means you most likely are exporting "QT_QPA_PLATFORM=wayland" somewhere™?
I'm not sure of all of the places to check if I'm exporting QT_QPA_PLATFORM=wayland somewhere, but I was able to find it here.
grep -r QT_QPA_PLATFORM /etc/profile /etc/profile.d/
/etc/profile.d/kde_wayland.sh:export QT_QPA_PLATFORM=wayland
cat /etc/profile.d/kde_wayland.sh
export QT_QPA_PLATFORM=wayland
export KWIN_DRM_USE_EGL_STREAMS=1
From my research, the shell sources /etc/profile when I log in, and /etc/profile in turn sources all scripts in /etc/profile.d/. So from my understanding, QT_QPA_PLATFORM=wayland is being set regardless of if I'm trying to start a X11 session or a Wayland session. I don't see any conditional logic that checks whether or not I'm starting a Wayland session before sourcing /etc/profile.d/kde_wayland.sh. I didn't add the script so I'm assuming it's part of the install for KDE Plasma. If this is what's causing my issue, could it be resolved by adding my own conditional logic to the script like this?
#!/bin/sh
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
export QT_QPA_PLATFORM=wayland
fi
If this is the problem, I don't know why KDE would have configured it this way. I know they plan to drop support for X11 entirely, but it was my understanding that they haven't yet.
Have you followed https://wiki.archlinux.org/title/NVIDIA#Installation all the way?
have you removed KMS from mkinitcpio hooks?
have you added the nvidia* stuff to the modules?
have you recreated the initrd?
have you added the kernel options to your boot config?
setting up nvidia drivers correctly is some journey in itself - make sure you do follow the wiki exactly
I believe I have followed https://wiki.archlinux.org/title/NVIDIA#Installation all the way. I've removed KMS from mkinitcpio hooks. I've added the nvidia* stuff to the modules. I recreated the initramfs. I've added kernal options to my boot config. Here's the relevant info in case I've made any mistakes.
/etc/mkinitcpio.conf
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
HOOKS=(base udev autodetect microcode modconf keyboard keymap consolefont numlock block clevis encrypt filesystems resume fsck)
I'm using rEFInd instead of GRUB.
/boot/EFI/refind/refind.conf
# Manual boot stanzas
include btrfs-snapshot-stanzas/arch_linux_vmlinuz-linux.conf
menuentry "Arch Linux" {
icon /EFI/refind/icons/os_arch.png
volume "Arch Linux"
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "root=UUID=d25768fa-e843-4a74-8719-23b9c889896c rw rootflags=subvol=@ cryptdevice=UUID=e80aaedb-5ed7-47c5-aed9-31c747a296a2:cryptroot quiet splash nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_EnableGpuFirmware=0 resume=UUID=d25768fa-e843-4a74-8719-23b9c889896c resume_offset=25437440"
submenuentry "Boot using fallback initramfs" {
initrd /boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
}
menuentry "Windows 11" {
icon /EFI/refind/icons/os_win.png
volume "EFI system partition"
loader /EFI/Microsoft/Boot/bootmgfw.efi
}
/boot/refind_linux.conf
"Boot with standard options" "root=UUID=d25768fa-e843-4a74-8719-23b9c889896c rw rootflags=subvol=@ cryptdevice=UUID=e80aaedb-5ed7-47c5-aed9-31c747a296a2:cryptroot quiet nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_EnableGpuFirmware=0 resume=UUID=d25768fa-e843-4a74-8719-23b9c889896c resume_offset=25437440"
"Boot to single-user mode" "root=UUID=d25768fa-e843-4a74-8719-23b9c889896c rw rootflags=subvol=@ cryptdevice=UUID=e80aaedb-5ed7-47c5-aed9-31c747a296a2:cryptroot quiet single nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_EnableGpuFirmware=0 resume=UUID=d25768fa-e843-4a74-8719-23b9c889896c resume_offset=25>
"Boot with minimal options" "ro root=/dev/mapper/cryptroot nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_EnableGpuFirmware=0 resume=UUID=d25768fa-e843-4a74-8719-23b9c889896c resume_offset=25437440"
I have a separate issue with the manual boot stanzas not working, but I'll make a separate thread for that. It seems the automatically detected boot entry by rEFInd is sourcing the correct kernel parameters from /boot/refind_linux.conf.
cat /proc/cmdline
root=UUID=d25768fa-e843-4a74-8719-23b9c889896c rw rootflags=subvol=@ cryptdevice=UUID=e80aaedb-5ed7-47c5-aed9-31c747a296a2:cryptroot quiet nvidia_drm.modeset=1 nvidia_drm.fbdev=1 nvidia.NVreg_EnableGpuFirmware=0 resume=UUID=d25768fa-e843-4a74-8719-23b9c889896c resume_offset=25437440 initrd=\initramfs-linux.img
Offline
So from my understanding, QT_QPA_PLATFORM=wayland is being set regardless of if I'm trying to start a X11 session or a Wayland session. I don't see any conditional logic that checks whether or not I'm starting a Wayland session before sourcing /etc/profile.d/kde_wayland.sh. I didn't add the script so I'm assuming it's part of the install for KDE Plasma.
Afaict it's not in the repos and you should™ not export any of this but to workaround problems /ifff/ and when they manifest.
pacman -Qo /etc/profile.d/kde_wayland.sh
Then move the file away, reboot (to get the environment out of the DM, restarting sddm would likely do as well) and try to start a KDE X11 session.
Offline
So from my understanding, QT_QPA_PLATFORM=wayland is being set regardless of if I'm trying to start a X11 session or a Wayland session. I don't see any conditional logic that checks whether or not I'm starting a Wayland session before sourcing /etc/profile.d/kde_wayland.sh. I didn't add the script so I'm assuming it's part of the install for KDE Plasma.
Afaict it's not in the repos and you should™ not export any of this but to workaround problems /ifff/ and when they manifest.
pacman -Qo /etc/profile.d/kde_wayland.sh
Then move the file away, reboot (to get the environment out of the DM, restarting sddm would likely do as well) and try to start a KDE X11 session.
I ran the pacman command and it looks like no package owns it.
$ pacman -Qo /etc/profile.d/kde_wayland.sh
error: No package owns /etc/profile.d/kde_wayland.sh
I also tried to inspect the package files in the yay cache but returned no results.
cd ~/.cache/yay
sudo grep -r "/etc/profile.d/kde_wayland.sh" .
I have no idea how the kde_wayland.sh script got there, but I removed it and rebooted. I'm now successfully able to start an X11 session.
Thank you Seth for the resolution and to everyone else for your contribution. I'll mark the post as solved.
Offline