Announcement

Collapse
No announcement yet.

AMDGPU DC Looks To Have PSR Squared Away - Power-Savings For Newer AMD Laptops

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    I have like 8 Watts for the touchscreen display on an HP envy 2500U. Resulting in an overall consumption of 11-12 Watts on idle and 4 hours 30 minutes. Since the laptop came with Windows I was able to compare before I erased it and there it is around 6-7 hours on idle. So there is still some room to walk in left. I pretty much capped everything from tlp to Ryzen Master and I think the last thing would be to reduce the display consumption.

    Tried to compile the 5.4rc3 kernel with the above patches but it failed, dont seem to be ready yet.

    Comment


    • #12
      Originally posted by Nille_kungen View Post
      PSR (Panel Self Refresh) is supported on all eDP (Embedded DisplayPort) screens from version 1.3.
      eDP V1.13 ublished in February 2011.
      eDP V1.14 ublished in February 2013.
      So if your laptop is designed after that and has eDP it is probably supported.
      The displays I know are usually mipi-dsi (loads of pixels), lvds (as in the "lvds protocol") (less pixels), or plain parallel.
      Between eDP and mipi-dsi there usually is a bridge that also functions as scaler. This is not part of the panel.
      Most LC displays are flash refresh and do not follow the pixel clock, so the image is already downloaded, and activated during refresh.
      Personally I have yet to see PSR displays in the POS sector, or panels with native eDP connection.

      Comment


      • #13
        Originally posted by ntropy View Post
        I have like 8 Watts for the touchscreen display on an HP envy 2500U. Resulting in an overall consumption of 11-12 Watts on idle and 4 hours 30 minutes. Since the laptop came with Windows I was able to compare before I erased it and there it is around 6-7 hours on idle. So there is still some room to walk in left. I pretty much capped everything from tlp to Ryzen Master and I think the last thing would be to reduce the display consumption.
        As far as I can tell, not having to use the memory bus saves a lot of power in the SoC, and idle memory also saves a lot of power. This might be the Watts you were looking for, fingers crossed and let us know (when it works).

        Comment


        • #14
          Originally posted by Ardje View Post
          As far as I can tell, not having to use the memory bus saves a lot of power in the SoC, and idle memory also saves a lot of power. This might be the Watts you were looking for, fingers crossed and let us know (when it works).
          Ha I made it, sry I am pretty new to kernel programming and still dumb. For the AMD patches you have to use the linux-next repo not the standard linux repo. In linux-next all patches applied without issues. I compiled linux54rc4-next-20191024-MANJARO+ now and the results are amazing. Here is a comparison for the PSR patch:

          Without PSR patch:
          HP Envy x360 13 inch 2500U on idle w/o Wlan, half brightness: 5 h 30 minutes
          HP Envy x360 13 inch 2500U on idle with Wlan, full brightness: 4 h 30 minutes

          With PSR patches:
          HP Envy x360 13 inch 2500U on idle w/o Wlan, half brightness: 8 h 00 minutes
          HP Envy x360 13 inch 2500U on idle with Wlan, full brightness: 6 h 30 minutes

          That is indeed amazing. It can go down to 7.14 Watts on very low brightness and the difference between very low and half is not too grave.
          The Windows tests gave this laptop without WLAN on lowest brightness a maximum of 7 h and 10 minutes.

          Linux just has beaten that .
          Very nice work !

          https://i.imgur.com/3dZnHZj.png (with Wlan and half brightness, 7 hours 7 minutes on idle with a browser window open)
          Last edited by ntropy; 24 October 2019, 10:35 AM.

          Comment


          • #16
            Originally posted by ntropy View Post
            That is indeed amazing. It can go down to 7.14 Watts on very low brightness and the difference between very low and half is not too grave.
            As for brightness... When I was so stupid to buy a macbook, I always turned brightness as low as possible. With a black background and white letters that's pretty good.
            Full brightness usually was a pain.

            When in the sun, I used bright white background, black letters and a font that's at least twice the size.
            And then I turned off the backlight and let the sun shine on my display.

            (for some extra power savings).
            Good to hear it really saves a lot of power!

            Comment


            • #17
              cat /sys/kernel/debug/dri/0/state

              whats the output of that command on your laptop with the new compiled kernel?

              Comment


              • #18
                Originally posted by amdtesterman View Post

                cat /sys/kernel/debug/dri/0/state

                whats the output of that command on your laptop with the new compiled kernel?
                mine output is:
                plane[40]: plane-0
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[43]: plane-1
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[46]: plane-2
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[49]: plane-3
                crtc=crtc-0
                fb=84
                allocated by = Xorg
                refcount=2
                format=XR24 little-endian (0x34325258)
                modifier=0x0
                size=1920x1080
                layers:
                size[0]=1920x1080
                pitch[0]=7680
                offset[0]=0
                obj[0]:
                name=0
                refcount=3
                start=00101e64
                size=9109504
                imported=no
                crtc-pos=1920x1080+0+0
                src-pos=1920.000000x1080.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[52]: plane-4
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[55]: plane-5
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[57]: plane-6
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[59]: plane-7
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                plane[61]: plane-8
                crtc=(null)
                fb=0
                crtc-pos=0x0+0+0
                src-pos=0.000000x0.000000+0.000000+0.000000
                rotation=1
                normalized-zpos=0
                color-encoding=ITU-R BT.601 YCbCr
                color-range=YCbCr limited range
                crtc[56]: crtc-0
                enable=1
                active=1
                self_refresh_active=0
                planes_changed=1
                mode_changed=0
                active_changed=0
                connectors_changed=0
                color_mgmt_changed=0
                plane_mask=8
                connector_mask=1
                encoder_mask=1
                mode: "": 0 138500 1920 1968 2000 2080 1080 1083 1088 1111 0x0 0x9
                crtc[58]: crtc-1
                enable=0
                active=0
                self_refresh_active=0
                planes_changed=0
                mode_changed=0
                active_changed=0
                connectors_changed=0
                color_mgmt_changed=0
                plane_mask=0
                connector_mask=0
                encoder_mask=0
                mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
                crtc[60]: crtc-2
                enable=0
                active=0
                self_refresh_active=0
                planes_changed=0
                mode_changed=0
                active_changed=0
                connectors_changed=0
                color_mgmt_changed=0
                plane_mask=0
                connector_mask=0
                encoder_mask=0
                mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
                crtc[62]: crtc-3
                enable=0
                active=0
                self_refresh_active=0
                planes_changed=0
                mode_changed=0
                active_changed=0
                connectors_changed=0
                color_mgmt_changed=0
                plane_mask=0
                connector_mask=0
                encoder_mask=0
                mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
                connector[64]: eDP-1
                crtc=crtc-0
                self_refresh_aware=0
                connector[69]: HDMI-A-1
                crtc=(null)
                self_refresh_aware=0

                I think there is not PSR in my 5.5 rc2 kernel of manjaro..

                Comment


                • #19
                  Originally posted by Haxk20 View Post
                  5.5 seems like will be a great kernel for laptops and even better if you have dGPU as it can be finally powered off when not used. Amazing.
                  What do I look up for info on that? How do you go about powering off the dGPU once 5.5 arrives? Or is it some automatic power saving feature?(only Intel/AMD/Mesa/nvidia?)

                  Comment


                  • #20
                    Originally posted by polarathene View Post

                    What do I look up for info on that? How do you go about powering off the dGPU once 5.5 arrives? Or is it some automatic power saving feature?(only Intel/AMD/Mesa/nvidia?)
                    It is automatic.

                    Comment

                    Working...
                    X