I have bisected an issue resulting in the display change confirmation prompt / dialog presented by Budgie Control Center (fork of GNOME Control Center) failing to render under Magpie v0.x (soft fork of Mutter), to an update of gtk4 on Fedora to 4.15.5. Not sure if it is related to https://gitlab.gnome.org/GNOME/gtk/-/issues/6930 and other rendering issues (transparent or black windows). You can confirm this yourself by downloading the following ISOs of Fedora Budgie: August 12, 2024 - WORKS: https://kojipkgs.fedoraproject.org//packages/Fedora-Budgie-Live/Rawhide/20240812.n.0/images/Fedora-Budgie-Live-x86_64-Rawhide-20240812.n.0.iso August 13, 2024 - FAILS: https://kojipkgs.fedoraproject.org//packages/Fedora-Budgie-Live/Rawhide/20240813.n.0/images/Fedora-Budgie-Live-x86_64-Rawhide-20240813.n.0.iso Diff of two ISOs: 23,24c23,24 < adwaita-cursor-theme-46.2-3.fc41.noarch < adwaita-icon-theme-46.2-3.fc41.noarch --- > adwaita-cursor-theme-47~beta-1.fc41.noarch > adwaita-icon-theme-47~beta-1.fc41.noarch 67c67 < bash-5.2.26-4.fc41.x86_64 --- > bash-5.2.32-1.fc41.x86_64 71a72 > biosdevname-0.7.3-17.fc41.x86_64 86c87 < Box2D-2.4.1-15.fc41.x86_64 --- > Box2D-2.4.2-1.fc41.x86_64 92c93 < btrfs-progs-6.9.2-1.fc41.x86_64 --- > btrfs-progs-6.10-1.fc41.x86_64 246c247 < dnf-data-4.21.0-2.fc41.noarch --- > dnf-data-4.21.0-3.fc41.noarch 480c481 < gtk4-4.15.4-1.fc41.x86_64 --- > gtk4-4.15.5-1.fc41.x86_64 580,586c581,587 < kernel-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-core-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-modules-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-modules-core-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-modules-extra-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-tools-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 < kernel-tools-libs-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 --- > kernel-6.11.0-0.rc3.30.fc41.x86_64 > kernel-core-6.11.0-0.rc3.30.fc41.x86_64 > kernel-modules-6.11.0-0.rc3.30.fc41.x86_64 > kernel-modules-core-6.11.0-0.rc3.30.fc41.x86_64 > kernel-modules-extra-6.11.0-0.rc3.30.fc41.x86_64 > kernel-tools-6.11.0-0.rc3.30.fc41.x86_64 > kernel-tools-libs-6.11.0-0.rc3.30.fc41.x86_64 589,590c590,591 < kmod-31-7.fc41.x86_64 < kmod-libs-31-7.fc41.x86_64 --- > kmod-31-8.fc41.x86_64 > kmod-libs-31-8.fc41.x86_64 601c602 < less-661-1.fc41.x86_64 --- > less-661-2.fc41.x86_64 763c764 < libldb-2.9.1-3.fc41.x86_64 --- > libldb-2.9.1-4.fc41.x86_64 1010c1011 < livesys-scripts-0.6.2-1.fc41.noarch --- > livesys-scripts-0.6.3-1.fc41.noarch 1233c1234 < perl-HTML-Parser-3.82-3.fc41.x86_64 --- > perl-HTML-Parser-3.83-1.fc41.x86_64 1362c1363 < python3-dnf-4.21.0-2.fc41.noarch --- > python3-dnf-4.21.0-3.fc41.noarch 1392c1393 < python3-perf-6.11.0-0.rc2.20240809gitee9a43b7cfe2.27.fc41.x86_64 --- > python3-perf-6.11.0-0.rc3.30.fc41.x86_64 1435c1436 < readline-8.2-9.fc41.x86_64 --- > readline-8.2-10.fc41.x86_64 1471,1472c1472,1473 < selinux-policy-41.13-1.fc41.noarch < selinux-policy-targeted-41.13-1.fc41.noarch --- > selinux-policy-41.14-1.fc41.noarch > selinux-policy-targeted-41.14-1.fc41.noarch Reproducible: Always Steps to Reproduce: 1. Download Fedora Budgie Rawhide (41) 08/12, open Displays and make a change to display confirmation. You will see a prompt for confirmation. 2. Download Fedora Budgie Rawhide 41 (08/13), open Displays and make a change to display confirmation. You will either not see a confirmation visually or it will be a black box. Actual Results: Black popup Expected Results: Not a black popup
Proposed as a Freeze Exception for 41-beta by Fedora user joshstrobl using the blocker tracking app because: There will need to be a freeze exception for any gtk4 release pre-emptively in the event this is fixed upstream. gtk4 4.15.5 breaks Budgie's confirmation prompt for display change confirmation, whereas 4.15.4 does not.
Created attachment 2044826 [details] screenshot after clicking "Apply" in "Displays" dialog Reliably reproducible with Fedora-Budgie-Live-x86_64-41-20240824.n.0.iso in a VM. No rebooting is required. Simply wait for the confirmation dialog to time out. And then run another test.
(In reply to Joshua Strobl from comment #0) < gtk4-4.15.4-1.fc41.x86_64 > gtk4-4.15.5-1.fc41.x86_64 gtk4-4.15.5 also breaks F41 Workstation with gnome-session-xsession installed and selected at login. Procedure: Install and update F41 Workstation in a VM. Install gnome-session-xsession and reboot. Select login name. Click on the gear icon and select "GNOME on Xorg". Login. Open a terminal or the settings manager. With gtk4-4.15.5 no windows are displayed, and there are various display artifacts. With gtk4-4.15.4 the display appears as expected. Download gtk4-4.15.4 from here: https://koji.fedoraproject.org/koji/buildinfo?buildID=2521180
(In reply to Steve from comment #3) > gtk4-4.15.5 also breaks F41 Workstation with gnome-session-xsession installed and selected at login. This is, admittedly, contrived, but I can break F41 Workstation Live by installing gnome-session-xsession, configuring a password for liveuser, and logging out. The rest of the procedure is the same as in Comment 3. Tested with: Fedora-Workstation-Live-x86_64-41-20240824.n.0.iso
Joshua: Could you update the bug title to reference 4.15.5 instead of 4.15.4?
Upstream issue status indicates this was fixed with https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7633 ?
I've backported that in https://bodhi.fedoraproject.org/updates/FEDORA-2024-08b2a6e32d . If you could test and confirm whether that fixes it, that would be great.
Created attachment 2044889 [details] screenshot with F41 Workstation and gtk4-4.15.5-2 gtk4-4.15.5-2 doesn't quite fix the rendering problem when running my F41 Workstation test case from Comment 3. Sometimes the terminal window is rendered correctly and sometimes it is not. As the screenshot shows, the terminal is functional. $ rpm -q gtk4 gnome-session-xsession gtk4-4.15.5-2.fc41.x86_64 gnome-session-xsession-46.0-3.fc41.x86_64
Discussed during the 2024-08-26 blocker review meeting: [1] The decision to classify this bug as a AcceptedFreezeException (Beta) was made: "This is accepted as it breaks significant functionality on non-release-blocking desktops (including Budgie). we will check with GTK folks that the fix should be safe before landing it." [1] https://meetbot.fedoraproject.org/blocker-review_matrix_fedoraproject-org/2024-08-26/f41-blocker-review.2024-08-26-16.00.log.html
gtk4-4.15.5-2.fc41.x86_64 also breaks the GNOME and GNOME Classic sessions. The terminal window is not rendered correctly, although it is functional. To be sure there is no interaction, I removed gnome-session-xsession and rebooted. $ rpm -q gtk4 gnome-session-xsession gtk4-4.15.5-2.fc41.x86_64 package gnome-session-xsession is not installed GNOME: $ env | sort | egrep 'XDG_CURRENT_DESKTOP|XDG_SESSION_DESKTOP|XDG_SESSION_TYPE' XDG_CURRENT_DESKTOP=GNOME XDG_SESSION_DESKTOP=gnome XDG_SESSION_TYPE=wayland GNOME Classic: $ env | sort | egrep 'XDG_CURRENT_DESKTOP|XDG_SESSION_DESKTOP|XDG_SESSION_TYPE' XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME XDG_SESSION_DESKTOP=gnome-classic XDG_SESSION_TYPE=wayland
(In reply to Steve from comment #10) > gtk4-4.15.5-2.fc41.x86_64 also breaks the GNOME and GNOME Classic sessions. Human testers can't beat the machine: :-) https://openqa.fedoraproject.org/tests/2820005#step/desktop_terminal/4
yikes, okay. let's revert that, then.
Created attachment 2044939 [details] screenshot with gtk4-4.15.6-1 in GNOME session Moving the pointer around will refresh various dialog components. Resize pointer is visible at upper right. Resizing triggers a complete refresh. Tested with: $ rpm -q gtk4 gnome-control-center gtk4-4.15.6-1.fc41.x86_64 gnome-control-center-47~beta-1.fc41.x86_64 $ env | sort | egrep 'XDG_CURRENT_DESKTOP|XDG_SESSION_DESKTOP|XDG_SESSION_TYPE' XDG_CURRENT_DESKTOP=GNOME XDG_SESSION_DESKTOP=gnome XDG_SESSION_TYPE=wayland
Could someone add this to the upstream links? Initial rendering gone missing in Fedora 41 vm https://gitlab.gnome.org/GNOME/gtk/-/issues/6964 Aside from demonstrating the bug, this screencast is a thing of beauty: :-) https://gitlab.gnome.org/-/project/665/uploads/9d9d56c6c421508bf571c88f89776162/Screencast_From_2024-08-27_09-51-21.mp4
Well, really, that bug is different. That bug is caused by the attempted *fix* for this bug.
I wasn't referring to the mesa bug. Anyway, as far as testing goes, what are we waiting for ATM? gtk4-4.15.7 or a mesa update?
4.15.7 would be nice, or we can try backporting https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7662 and https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7663 .
Ugh, so now we have a 4.16.0 with a bunch of other changes, and git is already bumped to that, so I can't build a 4.15.5 or 4.15.6 with specifically targeted backports, as we should do during freeze. :( We either have to live with this or go to 4.16.0.
Is going with the known good 4.15.4 (at least, it resolves the issue I filed) not an option and leave the experimenting of other changes to rawhide, with a backport to 41 when all validation passes? "Living with this" will mean breaking display configuration applying for Budgie users and those that upgrade from 40 to 41 will go from having a functional display configuration applying to it being broken. Not something I would want users to just live with.
I'm only talking about the beta, here. For final we'll likely go with 4.16.x.
Understood. For beta in the case of the Budgie issue, it's acceptable for it to be broken and I can field questions on that should they come up and I see them. Now whether or not the issues Steve raised on issues on the GNOME session are seen as acceptable being broken (hopefully temporarily =) ) during beta is another question.
Those won't be broken in beta, because we did not push any build that causes those bugs to stable. I've just unpushed the 4.15.6 update so people will also not get it on update.