Don't filter SOPS option by active resolutions with Sunshine

This commit is contained in:
Cameron Gutman 2023-09-11 21:25:29 -05:00
parent 6e34c21175
commit 24ee6f96e1

View file

@ -1327,20 +1327,28 @@ bool Session::startConnectionAsync()
Q_ASSERT(m_Computer->currentGameId == 0 || Q_ASSERT(m_Computer->currentGameId == 0 ||
m_Computer->currentGameId == m_App.id); m_Computer->currentGameId == m_App.id);
// SOPS will set all settings to 720p60 if it doesn't recognize bool enableGameOptimizations;
// the chosen resolution. Avoid that by disabling SOPS when it if (m_Computer->isNvidiaServerSoftware) {
// is not streaming a supported resolution. // GFE will set all settings to 720p60 if it doesn't recognize
bool enableGameOptimizations = false; // the chosen resolution. Avoid that by disabling SOPS when it
for (const NvDisplayMode &mode : m_Computer->displayModes) { // is not streaming a supported resolution.
if (mode.width == m_StreamConfig.width && enableGameOptimizations = false;
mode.height == m_StreamConfig.height) { for (const NvDisplayMode &mode : m_Computer->displayModes) {
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, if (mode.width == m_StreamConfig.width &&
"Found host supported resolution: %dx%d", mode.height == m_StreamConfig.height) {
mode.width, mode.height); SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION,
enableGameOptimizations = m_Preferences->gameOptimizations; "Found host supported resolution: %dx%d",
break; mode.width, mode.height);
enableGameOptimizations = m_Preferences->gameOptimizations;
break;
}
} }
} }
else {
// Always send SOPS to Sunshine because we may repurpose the
// option to control whether the display mode is adjusted
enableGameOptimizations = m_Preferences->gameOptimizations;
}
QString rtspSessionUrl; QString rtspSessionUrl;