How to Add YouTube With Controller Support to the Steam Deck | Back ⬏

Here's a post to break up the silence here, I've recently gotten a Steam Deck and it has quickly became my go-to handheld. I like it quite a lot, it's good for gaming, yes, but it's also great for just watching videos and whatnot in bed. Watching anything on YouTube though made me miss my Switch. On there, you get to use the TV layout which is just a much better fit for a handheld. I looked up solutions for this problem on the internet, and I could find some information, but I couldn't find a full "guide" so here is how to add a controller friendly native-like YouTube experience to your Steam Deck.

This guide is written for Firefox, I'm sure similar things exist for Chrome too if you prefer that browser. I use the flatpak version of Firefox, and if you haven't done anything to change the immutable nature of the OS this is the version you'll get from Discover.

Here's what you need to do, this will take about 10 minutes tops:

  1. Switch over to the desktop mode, and open up Steam.
  2. If you haven't downloaded Firefox, now's the time.
  3. Add Firefox as a non-steam game to Steam.
  4. Add any program, doesn't matter what, as a non-steam game to Steam if you want Firefox and YouTube at the same time in your library, this will be your "YouTube shortcut". If you don't care to have Firefox in your library, skip this step and treat the previously created Firefox shortcut as your "YouTube shortcut".
  5. Launch your YouTube shortcut, and download the extension YouTube for TV. I also recommend downloading uBlock Origin for an ad-free viewing experience but this one's optional.
  6. (Optional) Go to YouTube TV and log in to your account.
  7. Right click your YouTube shortcut, and select "Properties".
  8. Set the properties as such (mind the quotes, and for the launch options anything before "-new-instance" is the same as the default Firefox shortcut options):
    • Name: YouTube
    • Target: "/usr/bin/flatpak"
    • Start In: /usr/bin/
    • Launch Options: "run" "--branch=stable" "--arch=x86_64" "--command=firefox" "--file-forwarding" "org.mozilla.firefox" "@@u" "@@" "-new-instance" "-P" "default" "--kiosk" "https:youtube.com/tv"
  9. Go to the "Game Recording" tab and disable it.
  10. Go back to game mode, and launch the application through the shortcut.
  11. Press the steam button, go to "Controller Settings".
  12. Select the "Web Browser" layout and apply it, then press the "Edit Layout" button.
  13. On the "Buttons" tab, remove the "Space Key" binding from "A" but keep the "Enter Key" binding.
  14. Change the "B" key binding to "Escape Key".
  15. You're done! You can use the SteamgridDB Decky plugin to make sure it looks nice in your library as well.

I hope this'll be useful to someone. Here's an explanation of what the extra launch options do, and some other things:

  • -new-instance makes it so that we launch a completely separate instance of Firefox, so that if we have it already open this won't try to create a tab and it'll be acting on its own.
  • -P default makes the new instance use the default profile, which makes it so that we won't get the "an instance of Firefox is already running" error when we try to launch it while Firefox is running. AFAIK by default Firefox uses the default-release profile, so this should be safe to use. default is a remnant of older versions.
  • --kiosk https:youtube.com/tv launches Firefox in kiosk mode, which disables all UI as well as some other things which don't affect our use of YouTube, and goes to the TV version. I originally set it as "https://youtube.com/tv" but it removed the backslashes on its own. Seems to work just fine this way.
  • We remove the spacebar binding from A because it has annoying side effects like pausing the video when you fire up the comments, needing to close and re-open them to read the comments and watch the video at the same time.
  • We swap the B key binding to escape because "back" has some strange interactions, I'm pretty sure YouTube TV expects ESC or equivalent for navigation instead of back.
Ahmet Fırat Usta