Hello! I recently swapped to Garuda Sway on my laptop, and upon finding the experience extremely pleasant I figured I'd swap on my pc as well, unfortunately I've encountered some hiccups here.
not my main issue right now since I'm fine running nouveau drivers (unless it's a major performance hit?) but installing using the proprietary drivers would result in getting stuck at "loading initial ramdisk"
What I'm here for right now though is, when opening wdisplays to change layout and hz of my displays they will always reset upon a reboot. I would prefer this to not happen as it gets quite tedious to do each and every single time I start my pc
A special flag needs to be set to run Sway on Nvidia hardware. See the note in the ArchWiki here:
Note: All proprietary graphics drivers are not supported, including NVIDIA. After NVIDIA driver version 495, sway works if you enable kernel mode setting and run sway with --unsupported-gpu.
You can add this flag to the “command =” line in /etc/greetd/config.toml.
I believe this is the expected behavior for wdisplays, see here:
I’m using Sway, why aren’t my display settings saved when I log out?
Sway, like i3, doesn’t save any settings unless you put them in the config file. See man sway-output. If you want to have multiple configurations depending on the monitors connected, you’ll need to use an external program like kanshi. Integration with that and other external daemons is planned.
I thought the Sway image was using the far superior nwg-displays though? With nwg-displays it saves a config file for you, and you can just call it in your Sway config. See here:
sway
The configuration saved to a file may be easily used in the sway config:
...
include ~/.config/sway/outputs
...
The program also saves the ~/.config/sway/workspaces file, which defines the workspace → output associations.
Thank you for the quick reply! I've been fiddling around and finally got it to work, however I'm now stuck in a login loop! entering my password upon boot will send me straight back to the login gui. However, if I instead use ctrl+alt+f2 and manually do sway --unsupported-gpu It'll work just fine. As you instructed earlier I've already added the flag in /etc/greetd/config.toml
â•â”€ayr@ayr in ~ as took 2ms
╰─λ journalctl -u display-manager
– No entries –
Could be? how it was before I added --unsupported-gpu was command = "sway --config /etc/greetd/swayconfig > /dev/null 2>&1" without the ’ so it seems unlikely from my uneducated pov
On another note, am I still supposed to be using wdisplays when adjusting position and such of monitors? I thought that would be in Nvidia X server settings but upon inspection, there’s nothing of the sort in there
EDIT: the entry for sep 01 00:39:30 might be unrelated as I think that’s the one where I got stuck at ramdisk. The newer entry for sep 01 00:42:32 is the current session.
-- Boot ee16f69d3ad5479a88a407ca1ef6b52b --
sep 01 00:42:32 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:42:32 ayr-ms7b86 greetd[879]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:42:32 ayr-ms7b86 greetd[880]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:42:32 ayr-ms7b86 greetd[880]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:42:45 ayr-ms7b86 greetd[1017]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch:>
sep 01 00:42:46 ayr-ms7b86 greetd[1017]: pam_unix(greetd:session): session opened for user ayr(uid=1000) by ayr(uid=0)
sep 01 00:42:46 ayr-ms7b86 greetd[1017]: pam_unix(greetd:session): session closed for user ayr
sep 01 00:42:47 ayr-ms7b86 greetd[1330]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch:>
sep 01 00:42:47 ayr-ms7b86 greetd[1330]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(ui>
sep 01 00:42:52 ayr-ms7b86 greetd[1378]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch:>
sep 01 00:42:53 ayr-ms7b86 greetd[1378]: pam_unix(greetd:session): session opened for user ayr(uid=1000) by ayr(uid=0)
sep 01 00:42:53 ayr-ms7b86 greetd[1378]: pam_unix(greetd:session): session closed for user ayr
sep 01 00:42:54 ayr-ms7b86 greetd[1399]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch:>
sep 01 00:42:54 ayr-ms7b86 greetd[1399]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(ui>
lines 267-309/309 (END)
-- Boot 8558071afbf14a1e92127ac65f7f2526 --
sep 01 00:39:30 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:39:30 ayr-ms7b86 greetd[877]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:39:30 ayr-ms7b86 greetd[878]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:39:30 ayr-ms7b86 greetd[878]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:39:31 ayr-ms7b86 greetd[878]: pam_unix(greetd:session): session closed for user greeter
sep 01 00:39:31 ayr-ms7b86 greetd[877]: error: check_children: greeter exited without creating a session
sep 01 00:39:31 ayr-ms7b86 systemd[1]: greetd.service: Deactivated successfully.
sep 01 00:39:32 ayr-ms7b86 systemd[1]: greetd.service: Scheduled restart job, restart counter is at 1.
sep 01 00:39:32 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:39:32 ayr-ms7b86 greetd[934]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:39:32 ayr-ms7b86 greetd[935]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:39:32 ayr-ms7b86 greetd[935]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:39:32 ayr-ms7b86 greetd[935]: pam_unix(greetd:session): session closed for user greeter
sep 01 00:39:32 ayr-ms7b86 greetd[934]: error: check_children: greeter exited without creating a session
sep 01 00:39:32 ayr-ms7b86 systemd[1]: greetd.service: Deactivated successfully.
sep 01 00:39:33 ayr-ms7b86 systemd[1]: greetd.service: Scheduled restart job, restart counter is at 2.
sep 01 00:39:33 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:39:33 ayr-ms7b86 greetd[946]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:39:33 ayr-ms7b86 greetd[947]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:39:33 ayr-ms7b86 greetd[947]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:39:33 ayr-ms7b86 greetd[947]: pam_unix(greetd:session): session closed for user greeter
sep 01 00:39:33 ayr-ms7b86 greetd[946]: error: check_children: greeter exited without creating a session
sep 01 00:39:33 ayr-ms7b86 systemd[1]: greetd.service: Deactivated successfully.
sep 01 00:39:34 ayr-ms7b86 systemd[1]: greetd.service: Scheduled restart job, restart counter is at 3.
sep 01 00:39:34 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:39:34 ayr-ms7b86 greetd[958]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:39:34 ayr-ms7b86 greetd[959]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:39:34 ayr-ms7b86 greetd[959]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:39:34 ayr-ms7b86 greetd[959]: pam_unix(greetd:session): session closed for user greeter
sep 01 00:39:34 ayr-ms7b86 greetd[958]: error: check_children: greeter exited without creating a session
sep 01 00:39:34 ayr-ms7b86 systemd[1]: greetd.service: Deactivated successfully.
sep 01 00:39:35 ayr-ms7b86 systemd[1]: greetd.service: Scheduled restart job, restart counter is at 4.
sep 01 00:39:35 ayr-ms7b86 systemd[1]: Started Greeter daemon.
sep 01 00:39:35 ayr-ms7b86 greetd[979]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: Specific(1), s>
sep 01 00:39:35 ayr-ms7b86 greetd[980]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: >
sep 01 00:39:35 ayr-ms7b86 greetd[980]: pam_unix(greetd:session): session opened for user greeter(uid=966) by greeter(uid>
sep 01 00:39:35 ayr-ms7b86 greetd[980]: pam_unix(greetd:session): session closed for user greeter
sep 01 00:39:35 ayr-ms7b86 greetd[979]: error: check_children: greeter exited without creating a session
sep 01 00:39:35 ayr-ms7b86 systemd[1]: greetd.service: Deactivated successfully.
sep 01 00:39:37 ayr-ms7b86 systemd[1]: greetd.service: Scheduled restart job, restart counter is at 5.
sep 01 00:39:37 ayr-ms7b86 systemd[1]: greetd.service: Start request repeated too quickly.
sep 01 00:39:37 ayr-ms7b86 systemd[1]: greetd.service: Failed with result 'start-limit-hit'.
sep 01 00:39:37 ayr-ms7b86 systemd[1]: Failed to start Greeter daemon.
wrapping it in single quotes got me stuck at loading initial ramdisk without even getting to the login gui
Please use the “preformatted text” button (looks like this: </>) for terminal output, instead of the blockquote button (looks like this: "). I edited your last couple ones. It makes the terminal output a lot easier to read because it keeps the line breaks how they would be in a console.
Let’s try this:
sudo micro /usr/local/bin/sway_gpu
Paste into the file:
#!/bin/bash
exec sway --unsupported-gpu
Save and exit.
Make the file executable:
sudo chmod +x /usr/local/bin/sway_gpu
Edit /etc/greetd/config.toml to call sway_gpu instead of sway.