currently my biggest gripe with Linux on mobile is scaling. touchscreen gestures are broken in all wayland compositors, they divide the touch coordinates by the scale factor to process them and somewhere the fractional component gets lost.
if you've ever scrolled down a webpage side by side on a device running phosh and an Android device and thought "damn the Linux phone just feels worse" its because it can only scroll in 2 or 3 pixel increments.
fixing this would improve UX more than any other single change right now imo
@whynothugo i think its a protocol issue, not 100% sure though
@cas this sounds like a long tracing session (to find out where that drop off is happening at).
Since you mentioned a webpage - would even a gtkwebview demo app be enough to replicate this?
(Looks at his pinephone)
@jalcine it happens everywhere, even in waydroid for example, at least on Phosh but I dont think its specific to Phosh.
it happens in the compositor (pulling down the notifications), in gtk4, everywhere....
scrolling with WebkitWebView is done internally to WebKit and doesn't use GTK's scrolling or kinetic acceleration infrastructure. So for a web view at least, you'll have to look in WebKit.
For GtkTextView, I can't fix it until I can break ABI. I need to make gtk_text_view_get_visible_rect() use doubles in GTK 5.
I have some patches for VTE but they need work.
Otherwise, it's usually the GtkAdjustment for custom scrollables.
@hergertme @jalcine I think its lower level than that, it seems to be global
@pavel well thats a whole other kettle of fish (and definitely not the case here, see the videos i posted when i first found this bug https://gitlab.gnome.org/World/Phosh/phoc/-/issues/293)
@cas Reading the details for https://wayland.app/protocols/wayland#wl_pointer:event:motion, I think it is a protocol limitation; the coordinates of the touch events are relative to surface coordinates. So if the surface is 700x500 with a 3x scale, you can only represent 700x500 points in total, whereas you have 2100x1500 pixels on screen.
@stacyharper @whynothugo yeah I'm confused about this because as you said the fractional part should be there. But I'm able to notice stepping in every single wayland app...
@cas I still don't understand why some thought that would be a good idea to made a ×2 zoom by default :(. Working on a theme with bigger font and widget size would be a far better solution in my point of view. I encountered lot of problems due to this. Including some applications that go out of screen (due to the real (vs virtual) screen size, where they would have just worked fine without it. This mean have all application reworked to be perfectly usable instead of most application working nicely.
Another point I don't understand, is, as a user of a Pinephone Pro, there is after my test with LÖVE dev kit (at least) 5 points/finger management. but it looks like Phosh interface) has no multitouch management by default. But the GTK+demo (one of defaults tools of GTK) manage it in a view, in at least one demo, this would have simplified a lot navigating in too large windows. (2 fingers for viewport, 3 fingers for window could be use in some case perhaps?)
@popolon the problem is using a scale factor at all. The correct:tm: way to build a UI is to use physical units NOT pixels.
Just increasing the font size or whatever is useless, you need a toolkit which is not designed badly
@cas I feel like that also affected my attempts to calibrate an LCD drawing tablet under Linux not long ago, I was always getting really strangely crunchy results. What was weird was when I switched to a non-LCD tablet for input with the default absolute mode scaling, whatever that is, it all worked smoothly. I dunno.
@vxo if you have a scale factor set and are using GTK/GNOME then this could definitely be the cause.