Announcement

Collapse
No announcement yet.

AMDGPU Fixes For Linux 5.0 Include FreeSync/VRR Properties For eDP Displays

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

  • #21
    The code does account for HDMI, DisplayPort and eDP connectors:
    Code:
    diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
    index f4fa40c..0b392bf 100644
    --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
    +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
    @@ -4082,7 +4082,8 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
     	}
     
     	if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
    -	    connector_type == DRM_MODE_CONNECTOR_DisplayPort) {
    +	    connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
    +	    connector_type == DRM_MODE_CONNECTOR_eDP) {
     		drm_connector_attach_vrr_capable_property(
     			&aconnector->base);
     	}
    --
    https://cgit.freedesktop.org/~agd5f/...620f71eb2ab983

    Originally posted by starshipeleven View Post
    more like by spec. eDP is still Displayport and it has to support Adaptive Sync.
    That Adaptive-Sync is part of the spec doesn't mean that every monitor needs to support a nontrivial range.

    Comment


    • #22
      Originally posted by chithanh View Post
      That Adaptive-Sync is part of the spec doesn't mean that every monitor needs to support a nontrivial range.
      So "by accident" you mean that they actually happen to support nontrivial ranges of adaptive sync by unrelated reasons? I'm curious of what you meant.

      Comment


      • #23
        "by accident" = unintended by manufacturer, lucky customers

        I mean that with some panels, the EDID trick will not work because they genuinely do not support Adaptive-Sync.
        While with others, it seems that the manufacturer had Adaptive-Sync capable panels which they did not intend to sell with Adaptive-Sync functionality, however overriding the EDID makes Adaptive-Sync work.

        Comment


        • #24
          Still missing the auto rotate screen function for mobile Raven Ridge

          Comment


          • #25
            Originally posted by chithanh View Post
            The code does account for HDMI, DisplayPort and eDP connectors:
            Code:
            diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
            index f4fa40c..0b392bf 100644
            --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
            +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
            @@ -4082,7 +4082,8 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
            }
            
            if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
            - connector_type == DRM_MODE_CONNECTOR_DisplayPort) {
            + connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
            + connector_type == DRM_MODE_CONNECTOR_eDP) {
            drm_connector_attach_vrr_capable_property(
            &aconnector->base);
            }
            --
            https://cgit.freedesktop.org/~agd5f/...620f71eb2ab983


            That Adaptive-Sync is part of the spec doesn't mean that every monitor needs to support a nontrivial range.
            soo... freesync might work with hdmi after all

            Comment


            • #26
              Originally posted by davidbepo View Post

              soo... freesync might work with hdmi after all
              No, that means you have with xrandr --verbose :
              Code:
              HDMI-A-0 disconnected (normal left inverted right x axis y axis)
                  vrr_capable: 0 
                      range: (0, 1)

              Comment


              • #27
                Originally posted by finalzone View Post
                Still missing the auto rotate screen function for mobile Raven Ridge
                Generally this is handled by the desktop environment, not the driver. E.g., the desktop environment listens to the accelerometer and when it sees rotation, it calls into the display server to rotate the display.

                Comment


                • #28
                  Do you know of any way to test if freesync is enabled ?

                  Comment


                  • #29
                    Originally posted by Haxk20 View Post
                    Do you know of any way to test if freesync is enabled ?
                    There are these ways:
                    - use your monitor built-in refresh rate counter
                    - to see the freesync range: sudo cat /sys/kernel/debug/dri/0/DP-1/vrr_range´╗┐
                    - You can enable debug messages with the kernel command line, drm.debug=0x04. Then you have the following dmesg message if freesync is active: drm:update_freesync_state_on_stream.isra.32 [amdgpu]] VRR packet update: crtc=44 enabled=1 state=3

                    The game must use OpenGL and vsync. Only the displayport protocol is supported at the moment. Enable variable refresh rate in your xorg.conf file, see man amdgpu.
                    Last edited by debianxfce; 02-09-2019, 09:05 AM.

                    Comment


                    • #30
                      After 2 days i finally managed to get Freesync working on eDP display in Acer Nitro 5. Even tho i had to edit existing freesync EDID since idk of any way to add extension block to EDID it even with this works.
                      If anybody knows of way to add extension blocks to EDID without windows CRU please let me know
                      Last edited by Haxk20; 02-11-2019, 05:00 PM. Reason: question

                      Comment

                      Working...
                      X