From 425be040145cc34a3568d6fe56555bc5d0545635 Mon Sep 17 00:00:00 2001 From: Kurt Kartaltepe Date: Wed, 5 Jul 2023 18:49:14 -0700 Subject: [PATCH] UI: Disable QSV for simple mode on Linux Linux QSV drivers have varying capabilities depending on if the free/non-free Intel drivers are installed. This means we cannot safely expose QSV in simple mode as users may be unable stream without changing to advanced mode. --- UI/window-basic-main-profiles.cpp | 2 ++ UI/window-basic-settings-stream.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp index 4f0acaa34..4fcb8ef7d 100644 --- a/UI/window-basic-main-profiles.cpp +++ b/UI/window-basic-main-profiles.cpp @@ -839,10 +839,12 @@ void OBSBasic::CheckForSimpleModeX264Fallback() while (obs_enum_encoder_types(idx++, &id)) { if (strcmp(id, "amd_amf_h264") == 0) amd_supported = true; +#ifdef _WIN32 else if (strcmp(id, "obs_qsv11") == 0) qsv_supported = true; else if (strcmp(id, "obs_qsv11_av1") == 0) qsv_av1_supported = true; +#endif else if (strcmp(id, "ffmpeg_nvenc") == 0) nve_supported = true; #ifdef ENABLE_HEVC diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp index f309bedab..052d8dd37 100644 --- a/UI/window-basic-settings-stream.cpp +++ b/UI/window-basic-settings-stream.cpp @@ -1652,6 +1652,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly) ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"), QString(SIMPLE_ENCODER_X264)); +#ifdef _WIN32 if (service_supports_encoder(vcodecs, "obs_qsv11")) ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.QSV.H264"), @@ -1660,6 +1661,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly) ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.QSV.AV1"), QString(SIMPLE_ENCODER_QSV_AV1)); +#endif if (service_supports_encoder(vcodecs, "ffmpeg_nvenc")) ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.NVENC.H264"),