I run btrfs, and have several SSD’s added under a single logical volume. Is there a way/how can I go about overriding the nixOS FHS to specify a btrfs subvolume I’ve created at /home/dusty/games? Does the subvolume perhaps need to be at the root-level (i.e. /games)? Does it need to be specified in my hardware-configuration.nix file?
What WM/DE do you run? Looks to me like your file picker menu implementatiom isn’t working for some reason, whatever it is backed by - steam will use its own if you have none.
Have you tried running without xdpgtk? As I mentioned, steam inplements its own file chooser, which IME runs when no other chooser is installed.
You could perhaps confirm my suspicion about xdp issues by trying to pick a folder and then looking at the user log for all the xdp units you’re using. One of them should complain about not being able to do something.
Worst case, I think journalctl --user -f should give some insights anyway.
I’d need to find the post, but I read on github there was a recent change (mid 2023) that either removed the Steam file browser, or changed to prefer the native file picker.
I did indeed try without xdpgtk and no change. journalctl had this for output, which I didn’t find surprising:
Jan 28 13:38:01 jezrien dbus-daemon[1741]: [session uid=1000 pid=1741] Activating via systemd: service name='org.freedesktop.impl.portal.desktop.gtk' unit='xdg-desktop-portal-gtk.service' requested by ':1.258' (uid=1000 pid=111228 comm="/usr/libexec/steam-runtime-tools-0/x86_64-linux-gn" label="kernel")
Jan 28 13:38:01 jezrien dbus-daemon[1741]: [session uid=1000 pid=1741] Activation via systemd failed for unit 'xdg-desktop-portal-gtk.service': Unit xdg-desktop-portal-gtk.service not found.
Jan 28 13:38:01 jezrien dbus-daemon[1741]: [session uid=1000 pid=1741] Activating via systemd: service name='org.freedesktop.impl.portal.desktop.kde' unit='plasma-xdg-desktop-portal-kde.service' requested by ':1.258' (uid=1000 pid=111228 comm="/usr/libexec/steam-runtime-tools-0/x86_64-linux-gn" label="kernel")
Jan 28 13:38:01 jezrien dbus-daemon[1741]: [session uid=1000 pid=1741] Activation via systemd failed for unit 'plasma-xdg-desktop-portal-kde.service': Unit plasma-xdg-desktop-portal-kde.service not found.
Edit: found one of several github issues mentioning it here
Tried again with xdpgtk enabled - not much. Steam spit these logs out, butg they don’t look overly related:
… pre-submit edit: I had a bunch of stuff typed out, but decided to reboot before I submit. Hey, whadda ya know, it’s working now. The fix was to add xdg-desktop-portal-gtk to environment.systemPackages:
It does. I think it’s more likely that you just needed to reboot after xdp-gtk was added to get steam to actually see it or such. But hey, nice that it’s fixed!
I’m pretty new when it comes to NixOS, so maybe I missed something obvious, but, no matter what I seem to try I also can’t get Steam to work with my other drive.
I’ve installed xdg.portal and rebooted like was explained here, but Steam still refuses to recognize I have other drives for some reason. Any ideas? (Also, where do I find Steam’s logs that I see other people posting?)
I’m running KDE Plasma 6 Wayland on NixOS 25.05 if that helps, and here’s all my steam-related stuff:
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
(Idk how to make my config look pretty like everyone else’s lol)
Thanks!
Hm, this is a shot in the dark, but since you’re using plasma, remove the gtk portal? Not sure, AIUI the plasma portal is more limited and people use the gtk portal in addition, but it’s worth a try.
If you manually start it from a terminal by running steam it will log to your terminal.
The easy way is to just manually put spaces in there so it looks pretty. Many editors will align things for you correctly if you use tab.
You can also use nixfmt to do that automatically - just running it against your file manually is an option, but you can also configure your editor to automatically run it on save or such.
After rebooting, I opened steam through konsole and saw it was complaining about not having write permissions to two directories when I try to “Add Drive”:
Instead of doing that, I’d really recommend figuring out what user/group steam runs as and making sure that user has write permissions. The ps command will tell you that.
You’re not using the flatpak version, so this should just be your user.
Most likely the SSD is mounted on boot and owned by root.