Something in the HiDPI patches applied in 1.12.16-3 breaks the scrolling in the GNUstep Cairo backend in a very strange way. I have narrowed it down to commit 3f0ebbff35f0486a20fbdb1f8e7228b0e8f9e022 in git, and reverting that commit suddenly makes it work. I do not know exactly which of the patches breaks scrolling for this use, nor am I *sure* that the behavior of libcairo2 is actually incorrect, but I can't find a reason it shouldn't work (since GNUstep isn't changing the device scale AFAICT). What appears to be happening is that GNUstep is telling a portion of the scrolled area to translate upward/downward as part of scrolling, and Cairo is actually scrolling by the wrong amount (about twice as much, on my machine).