diff --git a/SerialPrograms/Source/CommonFramework/Main.cpp b/SerialPrograms/Source/CommonFramework/Main.cpp
index 455b9a2f9..2435ccea7 100644
--- a/SerialPrograms/Source/CommonFramework/Main.cpp
+++ b/SerialPrograms/Source/CommonFramework/Main.cpp
@@ -201,6 +201,14 @@ int main(int argc, char *argv[]){
set_program_path(argv[0]);
#endif
+#if defined(__linux__)
+ // Qt multimedia, default to gstreamer to prevent flickering
+ // Easier than the alternative which is compiling qt6multimedia with QT_DEFAULT_MEDIA_BACKEND
+ // See: https://doc.qt.io/qt-6.5/qtmultimedia-index.html
+ if (qEnvironmentVariableIsEmpty("QT_MEDIA_BACKEND"))
+ qputenv("QT_MEDIA_BACKEND", "gstreamer");
+#endif
+
// So far, this is only needed on Mac where static initialization is fucked up.
PokemonAutomation::register_all_statics();
diff --git a/SerialPrograms/Source/CommonFramework/VideoPipeline/VideoPipelineOptions.h b/SerialPrograms/Source/CommonFramework/VideoPipeline/VideoPipelineOptions.h
index e7a4d1913..c1f7dc20b 100644
--- a/SerialPrograms/Source/CommonFramework/VideoPipeline/VideoPipelineOptions.h
+++ b/SerialPrograms/Source/CommonFramework/VideoPipeline/VideoPipelineOptions.h
@@ -34,9 +34,13 @@ class VideoPipelineOptions : public GroupOption{
, AUTO_RESET_SECONDS(
"Video Auto-Reset:
"
"Attempt to reset the video if this many seconds has elapsed since the last video frame (in order to fix issues with RDP disconnection, etc).
"
- "This option is not supported by all video frameworks.",
+ "This option is not supported by all video frameworks. Set to a value of 0 to disable Auto-Reset.",
LockMode::UNLOCK_WHILE_RUNNING,
+#if defined(__linux__)
+ 0 // Default to disabled on linux, auto-resets briefly output black frames
+#else
5
+#endif
)
{
PA_ADD_OPTION(VIDEO_BACKEND);