Launch flag to redirect YT-DLP calls to local YT-DLP path.
Is your feature request related to a problem? Please describe.
I spend the first 20 mins of any resonite session troubleshooting YT-DLP working. This is usually deleting the 2 files from the runtime directory and running file verification in steam, then throwing a command at it from konsole so that it 'updates' or i get a "restart yt-dlp to use updated version" event when loading videos in resonite.
Steam also sometimes throws the wrong version into the directory. My local copy of YT-DLP is functional more often than the steam-provided copy.
Side-by-Side yt-dlp test (~7:00pm cst 10/24/25): YTDLP-Konsole.txt
Resonite log from isolated video load attempt(mods disabled): KamiGeneration1 - 2025.9.23.1237 - 2025-10-24 19_06_16.log
Describe the solution you'd like
A launch flag to redirect YT-DLP calls to a local install of YT-DLP instead of the Resonite/steam copy. (in my case, /usr/bin/yt-dlp) Optional: Allow additional args to be entered that can be 'prepended' to the command when executed, such as browser/cookie paths.
The Resonite copy should still be the default option obviously.
Examples:
Primary: -YT_DLP_Path: "/usr/bin/YT-DLP"
Extended: -YT_DLP_Path: "/usr/bin/YT-DLP --cookies-from-browser firefox"
Describe alternatives you've considered
There is a mod available that relays videos from youtube via proxy from someone else's server.
Additional Context
EndeavorOS (6.17.4-arch2-1 GNU/Linux) GE-Proton10-21 (Steam compatibility) Firefox (Cookie source)
Requesters
Inucune Glavin Eclypse
If the proposed solution is updating the Python version of yt-dlp, that didn't work for me. On my system (CachyOS, proton-cachyos steam linux runtime, cookies set to none) only yt-dlp_linux works when placed, renamed, and marked as executable in RuntimeData. Using even the newest Python version results in a chain of yt-dlp errors in the log and no videos loading. Not sure if that's a separate issue because it's caused by replacing it manually.
yt-dlp_linux is still being overwritten with the windows variant, causing errors and requiring manual installation of the proper yt-dlp files.
Yeah, if you replace it manually and then update Resonite, it gets replaced.
As a temporary fix, have you tried replacing resonite's yt-dlp with a symlink to the system-wide version?
It'll need to be chowned to root, or set immutable via chattr, to prevent the auto-update routines trying to undo it, but I'm curious if this will help.
As a temporary fix, have you tried replacing resonite's yt-dlp with a symlink to the system-wide version?
The system-wide version I can get from my OS's repo is the python version, so I suspect that wouldn't work. I'll make the local version immutable though.
What's up with Proton's Python version? Do only some Protons have Python 3.9? I'm confused as to why only some people have the issue where Proton uses too old Python to run yt-dlp.
It's not proton in this case, it's the steam linux runtime sniper (or just steam runtime 3.0) python version being out of date.
Steam containerizes games and provides their own packages to allow linux native games to work on any distribution (similar to flatpak but not the same underlying tech afaik, also not quite a full container either but I'm not certain to what extent).
There is a new runtime that was just released (4.0), but I don't know if it's available on steam yet, or will fix this issue (as the new runtime would also need a python version greater than 3.10)
I have made a discovery tangentially related to this issue, in particular to the request to be able to provide additional custom command-line arguments. As it turns out, it is already possible today, without editing any of the existing Resonite files!
You can just create a file called yt-dlp.conf directly in the Resonite install directory (not in RuntimeData) and fill it with the arguments you want.
For example, here are the contents of mine, which I needed to be able to load videos using cookies linked to my Youtube Premium account:
--no-js-runtimes
--js-runtimes quickjs:RuntimeData/qjs
--extractor-args "youtube:player_client=default,web_safari"
This may not solve your issue of wanting to use a different yt-dlp binary altogether, but people here have already suggested workarounds for that (replacing yt-dlp_linux and yt-dlp_linux.backup with the binary of your choice).