When I use ly or greetd to launch a wayland session it works just fine. When I launch an x session I get an error. I assume this is because I'm trying to use seatd instead of elogind because I want both wayland and xsessions to work from my greeter.
So the basic setup is:
Currently the /usr/share/xsessions/dwm.desktop looks like:
[Desktop Entry]
Encoding=UTF-8
Name=Autism DWM
Comment=Dynamic Window Manager for X
Exec=startx /usr/local/bin/dwm
Icon=dwm
My /etc/ly/config.ini is only slightly changed I'll post it here just in case you need to look through: https://pastebin.com/Cvp3SGsK
the xserver output from attempting to start the xsession:
[ 16398.654]
X.Org X Server 1.21.1.14
X Protocol Version 11, Revision 0
[ 16398.654] Current Operating System: Linux artix-battlestation 6.6.59-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 01 Nov 2024 14:15:34 +0000 x86_64
[ 16398.654] Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=51303d65-968b-410e-b056-41f2e34fe561 rw loglevel=3 quiet nvidia_drm.modeset=1
[ 16398.654]
[ 16398.654] Current version of pixman: 0.43.4
[ 16398.654] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 16398.654] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 16398.654] (==) Log file: "/home/user/.local/share/xorg/Xorg.1.log", Time: Fri Nov 15 13:55:21 2024
[ 16398.654] (==) Using config file: "/etc/X11/xorg.conf"
[ 16398.654] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 16398.654] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 16398.654] (==) No Layout section. Using the first Screen section.
[ 16398.654] (**) |-->Screen "Screen0" (0)
[ 16398.654] (**) | |-->Monitor "Monitor0"
[ 16398.654] (**) | |-->Device "Device0"
[ 16398.654] (**) | |-->GPUDevice "Card0"
[ 16398.654] (**) Allowing byte-swapped clients
[ 16398.654] (==) Automatically adding devices
[ 16398.654] (==) Automatically enabling devices
[ 16398.654] (==) Automatically adding GPU devices
[ 16398.654] (==) Automatically binding GPU devices
[ 16398.654] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 16398.654] (WW) The directory "/usr/share/fonts/misc" does not exist.
[ 16398.654] Entry deleted from font path.
[ 16398.654] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 16398.654] Entry deleted from font path.
[ 16398.654] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 16398.654] Entry deleted from font path.
[ 16398.654] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 16398.654] Entry deleted from font path.
[ 16398.654] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 16398.654] Entry deleted from font path.
[ 16398.654] (==) FontPath set to:
/usr/share/fonts/TTF
[ 16398.654] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 16398.654] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 16398.654] (II) Module ABI versions:
[ 16398.654] X.Org ANSI C Emulation: 0.4
[ 16398.654] X.Org Video Driver: 25.2
[ 16398.654] X.Org XInput driver : 24.4
[ 16398.654] X.Org Server Extension : 10.0
[ 16398.654] (++) using VT number 7
[ 16398.654] (--) controlling tty is VT number 7, auto-enabling KeepTty
[ 16398.655] (EE) systemd-logind: failed to get session: The name org.freedesktop.login1 was not provided by any .service files
[ 16398.655] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 16398.655] (II) Platform probe for /sys/devices/pci0000:00/0000:00:03.1/0000:09:00.0/drm/card0
[ 16398.657] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[ 16398.659] (--) PCI:*(9@0:0:0) 10de:2484:3842:3755 rev 161, Mem @ 0xfb000000/16777216, 0xd0000000/268435456, 0xe0000000/33554432, I/O @ 0x0000f000/128, BIOS @ 0x????????/131072
[ 16398.659] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 16398.659] (II) LoadModule: "glx"
[ 16398.659] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 16398.660] (II) Module glx: vendor="X.Org Foundation"
[ 16398.660] compiled for 1.21.1.14, module version = 1.0.0
[ 16398.660] ABI class: X.Org Server Extension, version 10.0
[ 16398.660] (II) LoadModule: "nvidia"
[ 16398.660] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 16398.660] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 16398.660] compiled for 1.6.99.901, module version = 1.0.0
[ 16398.660] Module class: X.Org Video Driver
[ 16398.660] (II) LoadModule: "nouveau"
[ 16398.660] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 16398.660] (EE) Failed to load /usr/lib/xorg/modules/drivers/nouveau_drv.so: /usr/lib/xorg/modules/drivers/nouveau_drv.so: undefined symbol: exaDriverAlloc
[ 16398.660] (EE) Failed to load module "nouveau" (loader failed, 0)
[ 16398.660] (II) NVIDIA dlloader X Driver 565.57.01 Thu Oct 10 12:05:50 UTC 2024
[ 16398.660] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 16398.661] (EE)
Fatal server error:
[ 16398.661] (EE) xf86OpenConsole: Cannot open virtual console 7 (Permission denied)
[ 16398.661] (EE)
[ 16398.661] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 16398.661] (EE) Please also check the log file at "/home/user/.local/share/xorg/Xorg.1.log" for additional information.
[ 16398.661] (EE)
[ 16398.661] (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor
[ 16398.661] (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor
[ 16398.661] (EE) Server terminated with error (1). Closing log file.
There are two obvious errors here:
The first seems like the actual error.
The second is printed also when I just startx after logging in because I don't have debus started or I don't have the particular dbus component it wants. I think it's not important. When I log in via terminal and run startx /usr/local/bin/dwm it works just fine. It also looks like elogind is required? I have seatd installed since I want to use wayland. Can I use seatd? How do I modify my setup?
Do I add a /usr/local/bin/dwm-wrapper script like so:
#!/bin/sh
env \
XDG_SESSION_TYPE=x11 \
XDG_CURRENT_DESKTOP=dwm \
startx /usr/local/bin/dwm
#dbus-launch --sh-syntax --exit-with-session startx /usr/local/bin/dwm
and point the dwm.desktop exec at it?
Do I add the dbus launch or can I skip it?
I tried adding the dbus-launch bit and it didn't effect the outcome.