{"thread":{"id":"61112","subject":"Graphical glitches in GUI client","startedAt":"2024-03-13T16:06:16Z","lastAt":"2024-03-14T12:36:23Z","messageCount":2,"participants":["Nathan Yinger","Konstantin Khomoutov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"490549","messageId":"CA+YBzKpJACd3NARYcRufDN_4Yq+CsA-rKx1_7uquZWRnihS6-A@mail.gmail.com","threadId":"61112","inReplyTo":null,"subject":"Graphical glitches in GUI client","fromName":"Nathan Yinger","fromEmail":"nathan.yinger@gmail.com","sentAt":"2024-03-13T16:06:03Z","receivedAt":"2024-03-13T16:06:16Z","isPatch":false,"sender":{"key":"nathan.yinger@gmail.com","avatar":null},"body":"Thank you for filling out a Git bug report!\nPlease answer the following questions to help us understand your issue.\n\nWhat did you do before the bug happened? (Steps to reproduce your issue)\n\nran `git gui` in repo root.\n\nWhat did you expect to happen? (Expected behavior)\n\nThe git gui client to open.\n\nWhat happened instead? (Actual behavior)\n\nAbout 80% of the time the git gui client opens correctly. About 20% of the\ntime I get a window covered in graphical glitches: parts of the window\ncovered in flashing black rectangles, text missing or distorted. In rare\ncases the OS crashes as well (it's been a while since I saw the OS crash\nfrom this, I don't remember further details about the crash).\n\nWhat's different between what you expected and what actually happened?\n\nThe gui client was rendered unusable by graphical glitches.\n\nAnything else you want to add:\n\nScreenshot attached.\n\nFedora has Wayland enabled by default, though I'm not sure if the git gui\nclient uses it directly or if there's some sort of X emulation involved.\n\nPlease review the rest of the bug report below.\nYou can delete any lines you don't wish to share.\n\n[System Info]\ngit version:\ngit version 2.44.0\ncpu: x86_64\nno commit associated with this build\nsizeof-long: 8\nsizeof-size_t: 8\nshell-path: /bin/sh\nuname: Linux 6.7.6-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Feb 23\n18:27:29 UTC 2024 x86_64\ncompiler info: gnuc: 13.2\nlibc info: glibc: 2.38\n$SHELL (typically, interactive shell): /bin/bash\n\n\n[Enabled Hooks]\n"},{"id":"490617","messageId":"20240314115518.laue5pzqkwav7mt6@carbon","threadId":"61112","inReplyTo":"CA+YBzKpJACd3NARYcRufDN_4Yq+CsA-rKx1_7uquZWRnihS6-A@mail.gmail.com","subject":"Re: Graphical glitches in GUI client","fromName":"Konstantin Khomoutov","fromEmail":"kostix@bswap.ru","sentAt":"2024-03-14T11:55:18Z","receivedAt":"2024-03-14T12:36:23Z","isPatch":false,"sender":{"key":"kostix@bswap.ru","avatar":null},"body":"On Wed, Mar 13, 2024 at 12:06:03PM -0400, Nathan Yinger wrote:\n\n[...]\n> About 80% of the time the git gui client opens correctly. About 20% of the\n> time I get a window covered in graphical glitches: parts of the window\n> covered in flashing black rectangles, text missing or distorted. In rare\n> cases the OS crashes as well (it's been a while since I saw the OS crash\n> from this, I don't remember further details about the crash).\n[...]\n> The gui client was rendered unusable by graphical glitches.\n[...]\n> Fedora has Wayland enabled by default, though I'm not sure if the git gui\n> client uses it directly or if there's some sort of X emulation involved.\n\ngit gui (and gitk) are written in Tcl and use the Tk GUI toolkit.\nAFAIK, Tk does not yet have a Wayland backend, so git gui should rely on\nXWayland [1].\n\nI'm afraid, there's nothing Git devs could sensibly do to help with this\nproblem: it's not a bug in git gui; the problem most probably exists in\nXWayland, or somewhere between XWayland and Wayland; it may be triggered\nby certain patterns of how Tk uses the X11 protocol [2], and even there may\nbe an issue with the combination of all the stuff above and the graphic\ncard drivers.\n\nSo, I would suggest to explore two routes:\n\n - Try to solicit insights from the Tclers [3].\n\n - Try to search for similar problems in the Fedora issue tracker\n   and also maybe ask questions using discussion venues dedicated to\n   this distro.\n\nFootnotes:\n\n 1. There's an easy way to verify: start xkill and hover its cursor over\n    a window of the app of interest: if it changes its shape to a\n    characteristic cross, the window is not rendered by Wayland directly\n    and uses the X11 protocol.\n\n 2. Note that Tk is old, and it's unreasonable to expect it to use the X11\n    protocol flat-out improperly.\n\n  3. https://groups.google.com/g/comp.lang.tcl/\n     This list is known to be frequented by the Tcl/Tk core devs.\n\n"}]}