Pinta icon indicating copy to clipboard operation
Pinta copied to clipboard

UI becomes purple and unresponsive when resizing Pinta window to ~¾ screen on external monitor (macOS)

Open AnDrOiD73dd opened this issue 3 months ago • 6 comments

Environment

  • macOS version: MacOS 15.6.1 (24G90)
  • Hardware: MacBook Air 2025 (M4)
  • External monitor: Titan Army P275MV Plus, resolution 3008×1692 120Hz
  • Pinta version: 3.0.3

Steps to reproduce

  1. Connect MacBook Air to external monitor Titan Army P275MV Plus
  2. Open Pinta on the external monitor
  3. Resize the Pinta window to approximately ¾ of the monitor screen
  4. The entire Pinta interface turns purple and starts flickering
  5. UI becomes completely unresponsive

Expected behavior Window should resize normally without rendering issues.

Workaround Deleting the configuration files restores normal behavior until window is resized again:

rm -rf ~/Library/Application\ Support/Pinta
rm -rf ~/Library/Preferences/com.ximian.pinta.plist

Additional notes

  • Issue reproduces consistently after configuration reset
  • Tried disabling True Tone, changing display profile, safe mode boot, and running with GDK_GL=disable — issue still reproduces
  • Happens only on external monitor; internal MacBook display works fine

AnDrOiD73dd avatar Sep 16 '25 13:09 AnDrOiD73dd

Would you be able to check whether this happens using the latest development build for Pinta 3.1? (https://github.com/PintaProject/Pinta/actions/runs/17703984480)

I'm curious if the fix for bug #1020 might also be related to this

cameronwhite avatar Sep 17 '25 03:09 cameronwhite

Same problem on version 3.1. You can watch a video https://drive.google.com/file/d/11b-i-wMvoUPWcti8Fth9i9OozzLnrAAV/view?usp=sharing

AnDrOiD73dd avatar Sep 17 '25 07:09 AnDrOiD73dd

Thanks for testing. I tried on my Mac (Intel macbook) with an external 3840 x 2160 monitor and didn't have any trouble

A couple more things to try:

  • Is there any output after the errors start if you launch Pinta from a terminal? e.g. run /Applications/Pinta.app/Contents/MacOS/Pinta
  • If you don't mind doing more debugging, it would be interesting to see if the issue also happens when running the demo programs for GTK or libadwaita, which are the UI libraries Pinta relies on. This would require using Homebrew to install the dependencies (https://github.com/PintaProject/Pinta?tab=readme-ov-file#building-on-macos) and then running either adwaita-1-demo or gtk4-demo

cameronwhite avatar Sep 18 '25 22:09 cameronwhite

  • Reproduces in Pinta and also in gtk4-demo and adwaita-1-demo (installed via Homebrew), with the same purple/flicker and UI freeze when resizing to ~¾ screen on the external monitor.
  • Pinta logs are empty (no stdout/stderr). Demo apps only show several Gtk-WARNING lines (“Broken accounting of active state …”).
  • Tried: True Tone off, different color profiles, Safe Mode, GSK_RENDERER=cairo|ngl, launching from terminal — still reproduces.

Hypothesis: GTK/libadwaita rendering + macOS HiDPI scaling on external monitor @120 Hz. Any known issues around this combo? Anything else I can try to increase GTK/GSK verbosity on macOS?

System profiler (excerpt):

  • Model: MacBook Air 2025 (M4), 16 GB
  • External: Titan Army P275MV Plus — Resolution: 6016×3384; UI looks like 3008×1692 @ 120 Hz

Bug reproduces only when macOS uses:

  • Resolution: 6016 x 3384
  • UI Looks like: 3008 x 1692 @ 120 Hz

Tried multiple other configurations:

  • 3840×2160, UI looks like 1920×1080 @ 60/120 Hz → works fine
  • 5120×2880, UI looks like 2560×1440 @ 120 Hz → works fine
  • 3840×2160, UI looks like 3840×2160 @ 120 Hz (no scaling) → works fine

So the issue seems tied to this specific fractional scaling factor (~2.0× on a 6016×3384 mode).

Conclusion: likely a GTK/libadwaita bug triggered by fractional HiDPI scaling used by macOS. Fullscreen and other scale factors work fine.

AnDrOiD73dd avatar Sep 19 '25 08:09 AnDrOiD73dd

Thanks for looking into it! Since you can reproduce it with gtk4-demo, could you submit this as a bug upstream (https://gitlab.gnome.org/GNOME/gtk/-/issues) with the relevant info?

There is a GTK_DEBUG environment variable (https://docs.gtk.org/gtk4/running.html#gtk_debug), but the GTK developers might have better suggestions for how to track things down further

cameronwhite avatar Sep 20 '25 17:09 cameronwhite

Ok, I created the issue https://gitlab.gnome.org/GNOME/gtk/-/issues/7788

AnDrOiD73dd avatar Sep 29 '25 07:09 AnDrOiD73dd