I am running nixos 24.11 in a VM. I was using KDE plasma, but wanted to try out Cinnamon.
I am using GPU passthrough of an nvidia card. I get errors on boot and/or just a black screen depending on what’s happening.
I changed my display settings from something like:
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
to
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.cinnamon.enable = true;
When I rebuild and reboot I never get the greeter. I saw another post suggested using ly
:
services.displayManager = {
enable = true;
ly.enable = true;
};
I received a login greeter that was plaintext (assuming this is what ly normally looks like, have never used), but then after authentication I have a black screen.
When I finishing booting I see:
[FAILED] Failed to start Display Manager
× display-manager.service - Display Manager
Loaded: loaded (/etc/systemd/system/display-manager.service; linked; preset: ignored)
Active: failed (Result: exit-code) since Tue 2025-02-11 11:40:46 EST; 1min 50s ago
Duration: 27ms
Invocation: cb4c8ac0e0eb4825a8f1b69adbad1d02
Process: 1536 ExecStartPre=/nix/store/yh8wysib97hms4m9nnppwhzl7j4h9jrp-unit-script-display-manager-pre-start/bin/display-manager-pre-start (code=exited, status=0/SUCCESS)
Process: 1539 ExecStart=/nix/store/i2pd30k6wqs0ba9xnrwynx6imghyazcc-unit-script-display-manager-start/bin/display-manager-start (code=exited, status=1/FAILURE)
Main PID: 1539 (code=exited, status=1/FAILURE)
Logs from display manager service:
Feb 11 11:49:39 [MY_HOST] systemd[1]: Starting Display Manager...
Feb 11 11:49:39 [MY_HOST] systemd[1]: Started Display Manager.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Failed with result 'exit-code'.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Failed to enqueue OnFailure= job, ignoring: Unit plymouth-quit.service not found.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Consumed 59ms CPU time, 15M memory peak, 10.4M read from disk.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 1.
Feb 11 11:49:39 [MY_HOST] systemd[1]: Starting Display Manager...
Feb 11 11:49:39 [MY_HOST] systemd[1]: Started Display Manager.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Failed with result 'exit-code'.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Feb 11 11:49:39 [MY_HOST] systemd[1]: display-manager.service: Failed to enqueue OnFailure= job, ignoring: Unit plymouth-quit.service not found.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 2.
Feb 11 11:49:40 [MY_HOST] systemd[1]: Starting Display Manager...
Feb 11 11:49:40 [MY_HOST] systemd[1]: Started Display Manager.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Failed with result 'exit-code'.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Failed to enqueue OnFailure= job, ignoring: Unit plymouth-quit.service not found.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Start request repeated too quickly.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Failed with result 'exit-code'.
Feb 11 11:49:40 [MY_HOST] systemd[1]: Failed to start Display Manager.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Triggering OnFailure= dependencies.
Feb 11 11:49:40 [MY_HOST] systemd[1]: display-manager.service: Failed to enqueue OnFailure= job, ignoring: Unit plymouth-quit.service not found.
Logs from /var/log/lightdm/lightdm.log:
[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.32.0, UID=0 PID=1536
[+0.00s] DEBUG: Loading configuration dirs from /nix/store/5b40bwkn9rq7g1r5wf41qnnxz8cx08i6-desktops/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
[+0.00s] DEBUG: Registered seat module local
[+0.00s] DEBUG: Registered seat module xremote
[+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
[+0.00s] DEBUG: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
[+0.00s] DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
[+0.00s] DEBUG: Monitoring logind for seats
[+0.00s] DEBUG: New seat added from logind: seat0
[+0.00s] DEBUG: Seat seat0: Loading properties from config section Seat:*
[+0.00s] DEBUG: Seat seat0 has property CanMultiSession=no
[+0.00s] DEBUG: Seat seat0: Starting
[+0.00s] DEBUG: Seat seat0: Creating greeter session
[+0.00s] DEBUG: Seat seat0: Creating display server of type x
[+0.00s] DEBUG: Using VT 7
[+0.00s] DEBUG: Seat seat0: Starting local X display on VT 7
[+0.00s] DEBUG: XServer 0: Logging to /var/log/lightdm/x-0.log
[+0.00s] DEBUG: XServer 0: Writing X server authority to /var/run/lightdm/root/:0
[+0.00s] DEBUG: XServer 0: Launching X Server
[+0.00s] DEBUG: Launching process 1543: /nix/store/9xjlnhbwr9pc10xf5jsm3c1jra23ccf0-xserver-wrapper :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[+0.00s] DEBUG: XServer 0: Waiting for ready signal from X server :0
[+0.00s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.00s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.01s] DEBUG: Loading users from org.freedesktop.Accounts
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1000 added
[+0.05s] DEBUG: Process 1543 exited with return value 1
[+0.05s] DEBUG: XServer 0: X server stopped
[+0.05s] DEBUG: Releasing VT 7
[+0.05s] DEBUG: XServer 0: Removing X server authority /var/run/lightdm/root/:0
[+0.05s] DEBUG: Seat seat0: Display server stopped
[+0.05s] DEBUG: Seat seat0: Stopping session
[+0.05s] DEBUG: Seat seat0: Session stopped
[+0.05s] DEBUG: Seat seat0: Stopping display server, no sessions require it
[+0.05s] DEBUG: Seat seat0: Stopping; greeter display server failed to start
[+0.05s] DEBUG: Seat seat0: Stopping
[+0.05s] DEBUG: Seat seat0: Stopped
[+0.05s] DEBUG: Required seat has stopped
[+0.05s] DEBUG: Stopping display manager
[+0.05s] DEBUG: Display manager stopped
[+0.05s] DEBUG: Stopping daemon
[+0.05s] DEBUG: Exiting with return value 1
though one time through this i saw an error like this, but was not present in the current logs.
[+665.87s] WARNING: Error updating user /org/freedesktop/Accounts/User1000: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.DisplayManager.AccountsService”
[+671.65s] DEBUG: Got signal 15 from process 1
[+671.65s] DEBUG: Caught Terminated signal, shutting down
[+671.65s] DEBUG: Stopping display manager
[+671.65s] DEBUG: Seat seat0: Stopping
[+671.65s] DEBUG: Seat seat0: Stopping display server
I tried creating a fresh install from the Gnome gui installer and selecting Cinnamon and that would boot fine, cinnamon worked, etc.
I have all my nvidia settings in their own file, and I tried just not importing that settings, but it looks like with the pass through it defaulted back to nouveau which was throwing errors into my terminal all the time and it still didn’t boot.
Is this more likely just a Nvidia issue and not likely because I had KDE before? I saw some posts where people were setting different kernel versions, but have not yet tried that because I didn’t want to introduce more variables to consider. I also saw that some people said it worked, then a minor version broke?
Edit:
One additional note, I was unable to use xwayland with Plasma under my install with Nixos 24.11, on previous testing before I got passthrough running I was able to use xwayland with KDE Plasma. I’ve tried debugging or direct booting (e.g., startx), but I always get errors. Yes, I do have services.xserver.enable = true
. So I am leaning maybe this is more of an Nvidia issue?