Phosh uses GTK, right? That's a pretty thick layer right there. You used to be able to put pixels on screen with a handful of ASM instructions https://www.cprogramming.com/tutorial/tut8.html
Yes this is totally true, I should've been more precise.
There are two parts : 'Phoc' and 'Posh'. Phoc is the Wayland compositor (Wlroots & C), Posh is the launcher UI (GTK).
Phosh is just "an app" (with special privileges to talk to Phoc). All it does is display app icons and windows thumbnails (which are not actual live windows but just screenshots of the apps (like on Android)) it does not composite windows, it does not stand between the apps and Phoc.
This is unlike Clutter & JavaScript which do stand between the apps and the Wayland compositor (Mutter) on GNOME.
So my point is that apps on the Librem talk directly to Phoc (not Posh) which is a super minimal layer and can draw pixels on screen with almost no overhead (and potentially none at all when they'll support hardware layers)
(Note : this is the Librem architecture as far as I understood, maybe I missed something)
Very interesting, thanks! I wish there were more videos focusing on UI latency and snappiness for the Librem 5 but all you see are "feature" videos. It's hard to tell if the phone is laggy (finger move to eyeball time) or not.
There are two parts : 'Phoc' and 'Posh'. Phoc is the Wayland compositor (Wlroots & C), Posh is the launcher UI (GTK).
Phosh is just "an app" (with special privileges to talk to Phoc). All it does is display app icons and windows thumbnails (which are not actual live windows but just screenshots of the apps (like on Android)) it does not composite windows, it does not stand between the apps and Phoc.
This is unlike Clutter & JavaScript which do stand between the apps and the Wayland compositor (Mutter) on GNOME.
So my point is that apps on the Librem talk directly to Phoc (not Posh) which is a super minimal layer and can draw pixels on screen with almost no overhead (and potentially none at all when they'll support hardware layers)
(Note : this is the Librem architecture as far as I understood, maybe I missed something)