Day 1 with the Steam Machine (or: adding YouTube as an app)
It has now been a day of having the Steam Machine sitting on my desk. It is a fun little device.
Of course the very first thing I did was to switch into Desktop Mode, switch from a US keyboard to EurKey, and install Firefox. I am sticking to the Valve preferred way, so Flatpak it is. No surprises there, I have setup Firefox a hundred times. Quick detour to disable some features, install uBlock Origin and 1Password, and I am off to the races.
One of the things I was more interested in was using it in the full-screen game mode. I think it is called Gamescope? The interface is Steam’s Big Picture mode.
After looking at YouTube for a bit, it seems like Steam Deck users have been booting multiple applications at once in Gamescope for a while. So that is the first goal I set for myself:
Make YouTube available in the background while gaming.
In Desktop Mode, I created a new Firefox profile (called YouTube), and made sure I was logged in to my account there.
I need to know where on my drive this profile was created if I want to boot straight into it. Oddly enough the about:profiles page only works half the time. And even then will not show profiles that are grouped with other profiles.
After a bit of perusing the internet it is easy to zone in on the Firefox settings stored for Flatpak in:
/home/deck/.var/app/org.mozilla.firefox/config/mozilla/firefox/
You would think that the profiles.ini in there would list our new YouTube profile, but you would think wrong. Because this is the new type of profile that is actually grouped. I listed every profile from the Profile Groups folder instead:
for f in "Profile Groups"/*.sqlite; do
sqlite3 "$f" "SELECT * FROM Profiles;"
done
From here I learned that my YouTube profile is U5oD7TmD.Profile 1. Success! Now all I needed to do was drop it into my prepared bash script that I am calling youtube.sh:
#!/bin/bash
flatpak run \
--socket=wayland \
--env=MOZ_ENABLE_WAYLAND=1 \
--branch=stable \
--arch=x86_64 \
--command=firefox \
org.mozilla.firefox \
--kiosk "https://www.youtube.com/" \
--profile "/home/deck/.var/app/org.mozilla.firefox/config/mozilla/firefox/U5oD7TmD.Profile 1" \
--new-instance
The Wayland stuff at the start is something I found online. It is supposed to help with something? Unclear.
branch,arch, andcommandare all so Flatpak runs the right thing.kioskstarts us off at the YouTube home page with no browser UI in sight, nice for our Big Picture mode.profilestarts us in the new browser profile, this means it never needs to mess with my actual Firefox profile that is used in Desktop Mode.new-instanceis to make sure that it does not open a new tab in an already running window. This was turned out to fix an issue that came up later when I also started to run a normal Firefox profile and Steam would try to open a new tab in the already running application.
With the bash script ready, I dropped it in a new Kiosks folder and marked it executable (chmod +x). Then I used “Add a Non-Steam Game to My Library…” inside Steam on Desktop Mode to make YouTube available.
Of course a bash script is just going to look like a grey blob. Make sure to go into properties of the app in Steam to rename it and assign an icon as well as some images in “Customization”. Check SteamGridDB for this. I think I went with the following:
At some point I might make my own set. The background is a little too low resolution for my wide-screen monitor and some of the red colours seem to be just slightly off.
Back in Big Picture Mode, I can now select YouTube as an application. I start my Watch Later playlist, and then leave it on while starting a game.
Success! Almost…
There are still some oddities. If I stay on YouTube too long, it seems like Steam loses control over my keyboard shortcuts and I can no longer use ⇧ + ⇥ to get out of it. I have to then use the Steam button on the Steam Controller instead.
Even though the kiosk mode has no problem booting up on my full screen, if I play a game that shrinks my screen to a non-widescreen resolution it also rescales Firefox in the background. Switching to it the quality will look all weird. Exiting the game does not rescale it back, I also need to exit YouTube.
I even had an issue where I could switch from the game to YouTube, but my focus was left in the game. When I moved my mouse to interact with YouTube it instead interacted with the game UI. Very weird.
There is still a whole lot to figure out with this little machine!
(Of course I can just stay in Desktop Mode, but where is the fun in that?)