<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Android display color saturation in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1346949#M180682</link>
    <description>&lt;P&gt;I traced through the Android code and it looks like the saturation properly is only used for mode 0..&lt;/P&gt;&lt;P&gt;In ColorDisplayService:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;final int displayColorSetting = SystemProperties.getInt("persist.sys.sf.native_mode", 0);
if (displayColorSetting == 0) {
   return "1.0".equals(SystemProperties.get("persist.sys.sf.color_saturation"))
       ? COLOR_MODE_NATURAL : COLOR_MODE_BOOSTED;&lt;/LI-CODE&gt;&lt;P&gt;However, I did try the COLOR_MODE_SATURATED as well but didn't see any difference.&lt;/P&gt;&lt;P&gt;I traced the code down further and found that at the Android service layer, things seem to be working properly. &amp;nbsp;The properties are set through the ColorDisplayService and passed down to the SurfaceFlinger as expected. &amp;nbsp;However, at the SurfaceFlinger level, the actual call that changes the color matrix doesn't appear to be doing anything. &amp;nbsp;I put debugging in SurfaceFlinger where the color matrix is updated. &amp;nbsp;The saturation setting is applied but nothing changes on the screen.&lt;/P&gt;</description>
    <pubDate>Mon, 27 Sep 2021 14:52:04 GMT</pubDate>
    <dc:creator>dennis3</dc:creator>
    <dc:date>2021-09-27T14:52:04Z</dc:date>
    <item>
      <title>Android display color saturation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1342841#M180365</link>
      <description>&lt;P&gt;With our Android 10 solution, we were using a color saturation feature to obtain the desired color output on the display:&lt;/P&gt;&lt;P&gt;&amp;gt; setprop persist.sys.sf.color_saturation X.X&lt;/P&gt;&lt;P&gt;We've moved on to Android 11 (currently using 11_1.2.0) and noticed this property no longer has any effect. &amp;nbsp;Further, I noticed that if I go to the accessibility settings and select any color correction settings, they have no effect and that there is no color mode option in Settings -&amp;gt; Display.&lt;/P&gt;&lt;P&gt;Are there new requirements at the kernel level for display that might be causing these options to not work properly? &amp;nbsp;e.g., something I need to implement? &amp;nbsp;Or another configuration option or setting that used to be turned on by default but is no longer turned on? &amp;nbsp;&lt;/P&gt;&lt;P&gt;Basically I'm looking for why the ColorDisplayService seems to not be functioning in Android 11.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Sep 2021 16:03:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1342841#M180365</guid>
      <dc:creator>dennis3</dc:creator>
      <dc:date>2021-09-20T16:03:36Z</dc:date>
    </item>
    <item>
      <title>Re: Android display color saturation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1346374#M180641</link>
      <description>&lt;P&gt;Did you try to set it in evk8xx.mk?&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;# Set display color mode to Automatic by default
PRODUCT_PROPERTY_OVERRIDES += \
    persist.sys.sf.color_saturation=1.0 \
    persist.sys.sf.native_mode=2&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Sep 2021 01:57:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1346374#M180641</guid>
      <dc:creator>Zhiming_Liu</dc:creator>
      <dc:date>2021-09-27T01:57:48Z</dc:date>
    </item>
    <item>
      <title>Re: Android display color saturation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1346949#M180682</link>
      <description>&lt;P&gt;I traced through the Android code and it looks like the saturation properly is only used for mode 0..&lt;/P&gt;&lt;P&gt;In ColorDisplayService:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;final int displayColorSetting = SystemProperties.getInt("persist.sys.sf.native_mode", 0);
if (displayColorSetting == 0) {
   return "1.0".equals(SystemProperties.get("persist.sys.sf.color_saturation"))
       ? COLOR_MODE_NATURAL : COLOR_MODE_BOOSTED;&lt;/LI-CODE&gt;&lt;P&gt;However, I did try the COLOR_MODE_SATURATED as well but didn't see any difference.&lt;/P&gt;&lt;P&gt;I traced the code down further and found that at the Android service layer, things seem to be working properly. &amp;nbsp;The properties are set through the ColorDisplayService and passed down to the SurfaceFlinger as expected. &amp;nbsp;However, at the SurfaceFlinger level, the actual call that changes the color matrix doesn't appear to be doing anything. &amp;nbsp;I put debugging in SurfaceFlinger where the color matrix is updated. &amp;nbsp;The saturation setting is applied but nothing changes on the screen.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Sep 2021 14:52:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1346949#M180682</guid>
      <dc:creator>dennis3</dc:creator>
      <dc:date>2021-09-27T14:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Android display color saturation</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1354353#M181419</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/151788"&gt;@Zhiming_Liu&lt;/a&gt;&amp;nbsp;I've done additional research to try to find the problem. &amp;nbsp;It seems the problem does not exist in the Android 11 sources. &amp;nbsp;Instead, it appears because we've switched from the imx8mq (quad) to the imx8mp (plus). &amp;nbsp;These two boards have different display systems and do not behave the same.&lt;/P&gt;&lt;P&gt;I can connect to the device over adb and stream the display (e.g., scrcpy or equiv) and see the saturation effect behaving properly on the virtual display (imx8mp only). &amp;nbsp;However, the physical display and the hdmi output have no change. &amp;nbsp;On the imx8mq however, the physical display and hdmi output all behave properly to show the saturation change based on the settings.&lt;/P&gt;&lt;P&gt;I'm unsure if this is an unimplemented feature on the imx8mp only or if there is a bug or configuration error somewhere. &amp;nbsp;The virtual display does behave properly though so it appears to be something with the graphics or display drivers for the physical displays. &amp;nbsp;Any suggestion appreciated.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Oct 2021 16:50:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Android-display-color-saturation/m-p/1354353#M181419</guid>
      <dc:creator>dennis3</dc:creator>
      <dc:date>2021-10-12T16:50:31Z</dc:date>
    </item>
  </channel>
</rss>

