diff --git a/app/src/main/java/com/limelight/preferences/StreamSettings.java b/app/src/main/java/com/limelight/preferences/StreamSettings.java
index 67842dae..4a65b3b1 100644
--- a/app/src/main/java/com/limelight/preferences/StreamSettings.java
+++ b/app/src/main/java/com/limelight/preferences/StreamSettings.java
@@ -2,6 +2,7 @@ package com.limelight.preferences;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.os.Build;
import android.os.Bundle;
import android.app.Activity;
import android.preference.Preference;
@@ -9,7 +10,9 @@ import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
+import android.view.Display;
+import com.limelight.LimeLog;
import com.limelight.PcView;
import com.limelight.R;
import com.limelight.utils.UiHelper;
@@ -65,6 +68,33 @@ public class StreamSettings extends Activity {
screen.removePreference(category);
}
+ // Remove HDR preference for devices below Nougat
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
+ LimeLog.info("Excluding HDR toggle based on OS");
+ PreferenceCategory category =
+ (PreferenceCategory) findPreference("category_advanced_settings");
+ category.removePreference(findPreference("checkbox_enable_hdr"));
+ }
+ else {
+ Display display = getActivity().getWindowManager().getDefaultDisplay();
+ Display.HdrCapabilities hdrCaps = display.getHdrCapabilities();
+
+ // We must now ensure our display is compatible with HDR10
+ boolean foundHdr10 = false;
+ for (int hdrType : hdrCaps.getSupportedHdrTypes()) {
+ if (hdrType == Display.HdrCapabilities.HDR_TYPE_HDR10) {
+ foundHdr10 = true;
+ }
+ }
+
+ if (!foundHdr10) {
+ LimeLog.info("Excluding HDR toggle based on display capabilities");
+ PreferenceCategory category =
+ (PreferenceCategory) findPreference("category_advanced_settings");
+ category.removePreference(findPreference("checkbox_enable_hdr"));
+ }
+ }
+
// Add a listener to the FPS and resolution preference
// so the bitrate can be auto-adjusted
Preference pref = findPreference(PreferenceConfiguration.RES_FPS_PREF_STRING);
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a8f156af..205882f7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -149,6 +149,6 @@
Change H.265 settings
H.265 lowers video bandwidth requirements but requires a very recent device
Enable HDR (Experimental)
- Stream HDR when the game, client display, decoder, and GPU support it
+ Stream HDR when the game and PC GPU support it. HDR requires a GTX 1000 series GPU or later.
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 562a35da..54366266 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -96,7 +96,8 @@
android:summary="@string/summary_checkbox_list_mode"
android:defaultValue="false" />
-
+