04-07-2022, 08:25 AM
Gnome 42/GTK4 on PinePhonePro
*Tested on Manjaro (Unstable Branch)*
Gnome on the PinePhone series of devices has typically been rather limited by multiple factors including poor performance and UI scaling amongst other factors.
Gnome 42 has seen some nice progress on both the UI and performance front. I still think that some minor UI tweaks are still needed before Gnome becomes usable on the PinePhone (I list some examples of tweaks I've tried below), but the performance is smooth enough that I can justify using it after adding the appropriate tweaks to the UI configuration.
UI Tweaks added for usability:
* GSettings
- Fractional scaling for Wayland (Once you've ran the command below in the terminal, simply head into the display settings and try some of the scaling options - 150% works fine for me, depending on the quality of your eyesight you may want to try different options).
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
- Enable legacy extensions not optimised for Gnome 42 yet (As Gnome 42 is a brand new release, obviously some extensions haven't been updated with official support yet, although they still work despite this).
gsettings set org.gnome.shell disable-extension-version-validation "true"
* Extensions
- Maximized by Default (Maximise application window on launch).
- Maximize to Next Workspace (When an app is launched with the above extension, move it to its own workspace - simulating Androids recent apps switching experience when switching between apps).
- Desktop Cube (Adds swipe gesture from multiple locations on screen to switch between work-spaces).
- Dash to Dock (Enabled to force the dock to be visible at the bottom of the screen permanently).
- Notification Centre (Separates the notification centre from the calendar drop down in the top bar to divide them both into slimmer alternatives).
- Hide Activities Button (Frees up more space in the top bar/status bar).
- Remove App Menu (frees up more space in the top bar/status bar).
- Clock Left (Stops the clock from pushing the system icons off screen if you're showing the clock with the date included, etc...).
- Autohide Battery (Hides the battery status info from the top bar when the battery is full).
Note: Some of the extensions were being a little buggy, on some occasions they just failed to work correctly but I still listed them here as I believe that they'll likely to be fixed soon enough that those small bugs will likely go away soon given that Gnome 42 has only just been released, this of course should be expected.
Remaining issues:
- The 'quick tap power button' functionality doesn't work currently so you can not turn your screen off without powering down the whole device.
- The 'on screen keyboard' is not very well optimised for this device form factor and often certain characters are completely cut off from the screen and so you need a physical keyboard for the time being. Or at least until we manage to get the Phosh keyboard to work in Gnome.
- The 'GDM Login screen' ideally would be adapted to be better suited to phone screens. Although it is usable, I just think that it would be nice to have the pin entry UI always visible on that screen and no need to tap the user account before being able to enter the pin/password. Although as it's Linux, the pin entry screen would probably still need the button to choose between X11 & Wayland - for now at least until X11 is no longer relevant in Linux).
Conclusion:
Overall, I think that Gnome is coming close enough to usable on the PinePhonePro that in the near future if some of the bugs such as the inability to turn off the screen with the power button and the on screen keyboard issues are fixed, I may just consider making the PPP my daily driver device.
Obviously it's still in a state that you need to be a Linux/Gnome nerd in order to know how to make the appropriate tweaks to adapt the GUI to be practical enough to use on a phone, such as the tweaks listed above.
The applications experience is rather similar to that in Phosh, obviously some apps don't scale too well, but most GTK4 apps I've tried so far all scale remarkably well. Although I personally restored the close button at the top right of my apps windows, you can adjust the command below to choose which window controls you would like to re-enable (I would advise against including min & max as it takes up too much horizontal space and limits some apps from showing their full UI)
Code:
gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
I've personally tried to love the PinePhone & PinePhone pro time and time again for a couple of years now, returning to them once a month to try and see if I can get them to work in a way that I feel I can daily drive them and leave my Android device at home. Up to now, the performance always felt rather poor, but the latest software optimisations has fixed most of those issues. Then there was the battery issue, at the moment, the current setup I'm using is showing reasonable battery life compared with what I'm used to from the PinePhone series of devices, although further improvement would be welcomed there still. Then finally there is the GUI options, although there are some DE's that look fine on the devices, most of them don't offer enough for me to feel that they are a big enough improvement in many respects over Android that I could justify switching away from my Android device permanently, where as Gnome 42 is a big step in the right direction as it gives just the right amount of customisability to enable me to make the device feel like my own, whilst offering something that feels like a hybrid between a Linux desktop and a iOS/Android UI.
Image: Gnome 42, Manjaro ARM, Running on the PinePhone (Pro) - April 2022.