<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [bisected] frames dropped during video replay due to "add hardware_planes_only to list of affected planes""
href="https://bugs.freedesktop.org/show_bug.cgi?id=103408">103408</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[bisected] frames dropped during video replay due to "add hardware_planes_only to list of affected planes"
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr>
<tr>
<th>Version</th>
<td>DRI git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/AMDgpu
</td>
</tr>
<tr>
<th>Assignee</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jb5sgc1n.nya@20mm.eu
</td>
</tr></table>
<p>
<div>
<pre>After updating my kernel compiled from
<a href="https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next">https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next</a> recently
I noticed that when displaying videos full screen (displayed as 3840x2160 @
23.9760 Hz) the replay would loose/drop frames every 10 to 20 seconds.
I bisected the latest commits to amd-staging-drm-next and I could identify one
singe commit that 100% reproduceably introduces this symptom:
247258874c90af2b639b6f0dddd839c97464dacb is the first bad commit
commit 247258874c90af2b639b6f0dddd839c97464dacb
Author: Shirish S <<a href="mailto:shirish.s@amd.com">shirish.s@amd.com</a>>
Date: Wed Sep 27 15:15:38 2017 +0530
drm/amd/display: add hardware_planes_only to list of affected planes
For SoC's having software designed cursor plane,
should be treated differently than hardware cursor planes.
The DRM core initializes cursor plane by default with
legacy_cursor_update set.
Hence legacy_cursor_update can be use effectively
to handle software cursor planes' update and atomicity
functionalities.
This patch uses this variable to decide in the atomic_check
to whether add a requested plane to the list of affected planes or
not, hence fixing the issue of co-existence of MPO, i.e,
setting of available hardware planes like underlay and
updation of cursor planes as well.
Without this patch when underlay is set from user space,
only blank screen with backlight is visible.
Signed-off-by: Shirish S <<a href="mailto:shirish.s@amd.com">shirish.s@amd.com</a>>
Reviewed-by: Harry Wentland <<a href="mailto:Harry.Wentland@amd.com">Harry.Wentland@amd.com</a>>
When I revert just this commit from today's HEAD of amd-staging-drm-next, the
frame drops are gone.
How to reproduce:
- Use an HDMI connected 3840x2160 display, with Option "TearFree" "On" in your
Xorg config file amdgpu Device section. (Without "TearFree" "On", playing
videos is totally uglyfied by teared frames, so it would be hard to notice the
dropped frames.)
- Use "xrandr --output HDMI-A-0 --mode 3840x2160 --rate 23.976" to set your
display to the refresh rate of the video - I only tried videos recorded at
23.976, don't know whether the same effect happens with other frame rates.
- Use a player like "mpv" to full-screen(!) display a video that contains
scenes with smooth panning - in such scenes, the effect of dropping frames is
most pronounced. You will also see the "dropped frame" count emitted in the
status line of "mpv" increase.
Possible other causes I ruled out:
- Using different video-drivers with mpv - Xv, X11, opengl, all expose the same
symptom.
- Using hardware (vaapi) versus software decoding makes no difference.
- Using different parameters for mpv's "--video-sync=..." option makes no
difference - the drops occur in every mode
- Manually setting the GPU to e.g.
cd /sys/class/drm/card0/device
echo manual >power_dpm_force_performance_level
echo 3 >pp_dpm_sclk
echo 1 >pp_dpm_mclk
does not make a difference - the symptom occurs with and without this</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>