From: Leo Li <sunpeng.li@amd.com>
To: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Cc: Harry Wentland <harry.wentland@amd.com>,
zaeem.mohamed@amd.com, pekka.paalanen@collabora.com, "Wheeler,
Daniel" <daniel.wheeler@amd.com>,
"Deucher, Alexander" <alexander.deucher@amd.com>,
amd-gfx list <amd-gfx@lists.freedesktop.org>,
dri-devel <dri-devel@lists.freedesktop.org>,
Linux List Kernel Mailing <linux-kernel@vger.kernel.org>,
Linux regressions mailing list <regressions@lists.linux.dev>
Subject: Re: 6.11/regression/bisected - after commit 1b04dcca4fb1, launching some RenPy games causes computer hang
Date: Tue, 10 Sep 2024 17:11:42 -0400 [thread overview]
Message-ID: <6db472e4-cd90-4ba6-8368-725b10ba5b4a@amd.com> (raw)
In-Reply-To: <eeab54b4-c055-4992-9ca4-f9e382db68c4@amd.com>
Hi Mikhail,
Can you give this patch a try to see if it helps?
https://gist.github.com/leeonadoh/3271e90ec95d768424c572c970ada743
Thanks,
Leo
On 2024-09-10 11:47, Leo Li wrote:
>
>
> On 2024-09-08 19:30, Mikhail Gavrilov wrote:
>> I have done additional tests:
>> 1. The computer does not hang with 6900XT instead the screen flickers
>> when moving the cursor.
>> 2. The computer does not hang with 7900XTX if I turn off VRR. But the
>> screen flickers when moving the cursor, as on 6900XT.
>> To enable VRR, please set 'variable-refresh-rate' in
>> experimental-features, and in the Display setting, enable Variable
>> Refresh Rate.
>> $ gsettings set org.gnome.mutter experimental-features
>> "['variable-refresh-rate', 'scale-monitor-framebuffer']"
>> https://postimg.cc/PvXYdvGR
>
> Thanks Mikhail, I think I know what's going on now.
>
> The `scale-monitor-framebuffer` experimental setting is what puts us down the
> bad code path. It seems VRR has nothing to do with this issue, just setting
> `scale-monitor-framebuffer` is enough to reproduce.
>
> It seems that mutter with this setting is opting for HW scaling rather than GPU
> scaling. I see that "Find the Orange Narwhal" sends out a 1080p buffer,
> which with this setting, gets directly scanned out and scaled by DCN HW to 4k in
> full screen.
>
> An oddity with current gen DCN hardware is that the cursor inherits the scaling
> of the HW plane underneath. So if mutter requests a hw cursor with a different
> scaling than the game's plane, amdgpu will reject that, and likely force mutter
> into SW cursor.
>
> My offending patch changed this behavior by rerouting DCN HW pipes to
> accommodate such a configuration. It essentially takes a full-fledged DCN
> overlay plane, and uses that just for the cursor, and thereby freeing it from
> inheriting things from the underlying hw plane.
>
> My guess is this causes flickering due to how DC (display core driver) handles
> updates; it needs all enabled planes in it's update state. However, a KMS cursor
> update will only include the cursor plane. It's likely that amdgpu_dm only adds
> the dedicated cursor plane to DC's update state, leaving the game's plane out.
>
> The fix isn't exactly trivial. If I don't get anywhere before the fixes window,
> I'll send out a revert.
>
> Cheers,
> Leo
next prev parent reply other threads:[~2024-09-10 21:11 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-05 18:05 Mikhail Gavrilov
2024-08-24 21:12 ` Mikhail Gavrilov
2024-09-03 6:35 ` Mikhail Gavrilov
2024-09-03 23:15 ` Leo Li
2024-09-04 22:21 ` Mikhail Gavrilov
2024-09-04 23:06 ` Leo Li
2024-09-05 6:06 ` Mikhail Gavrilov
2024-09-06 19:46 ` Leo Li
2024-09-08 23:30 ` Mikhail Gavrilov
2024-09-10 15:47 ` Leo Li
2024-09-10 21:11 ` Leo Li [this message]
2024-09-10 22:16 ` Mikhail Gavrilov
2024-09-09 8:49 ` Michel Dänzer
2025-01-26 16:46 ` [BUG,BISECTED] WARNING dcn20_find_secondary_pipe Chris Bainbridge
2025-01-27 9:44 ` Imre Deak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6db472e4-cd90-4ba6-8368-725b10ba5b4a@amd.com \
--to=sunpeng.li@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=daniel.wheeler@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mikhail.v.gavrilov@gmail.com \
--cc=pekka.paalanen@collabora.com \
--cc=regressions@lists.linux.dev \
--cc=zaeem.mohamed@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®