Gnome 42/GTK4 on PPP
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 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).

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)
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-Pine-Phone-Pro-Manjaro.png]
Image: Gnome 42, Manjaro ARM, Running on the PinePhone (Pro) - April 2022.
Significant progress update on UI scaling to enable Gnome 42 on the PinePhone Pro.

[Image: Screenshot-from-2022-04-14-23-30-03.png][Image: app-drawer-4x5.png][Image: Screenshot-from-2022-04-14-23-31-56.png]

How this was achieved:

Gnome Extensions:
* App Grid Tweaks (Set max Columns to 4, row count as 5 and Icon size to 64px).*NOTE* This extension required extension validation to be disabled and a file hack to force it to always load the max column count as '4' and row count as '5'.
* Dock from Dash (Not to be confused with 'Dash to Dock' as that is presently broken in Gnome 42).
* Just Perfection (Multiple tweaks including hiding unnecessary items in top bar)
* Maximize To Workspace (Automatically moves new windows to their own workspaces)
* Maximized by default (Launches app in maximized state to utilize multiple workspaces more effectively)

Wayland Fractional Scaling @150%, run the following command:

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

* Gnome 42 has support for 3 finger gestures to switch between workspaces and to pull the app list (and dock) up on screen. Although single finger/thumb screen edge gestures may be more effective than 3 finger gestures, this is a good starting point to making Gnome more usable on the PinePhone devices.

* Most Gnome-Core apps scale pretty well on the PinePhone Pro, although there are a couple of exceptions, one example exception is the new GTK4 Text Editor application, at 150% scaling on the PPP, the app is just ever so slightly too wide and so the app doesn't support maximized window mode and requires a little dragging from left to right (and vice versa) when trying to read the last few characters in a word.

* The power button to turn the screen off works in 'PostMarket OS', but not in Manjaro which I previously tried, and so screen on/off capabilities are now there in this distro build, although PMOS has other issues on this installation such as lack of audio output.

* With the present configuration on the PinePhone Pro, I found that with the screen off for 7 hours the battery only went down by 18%, although when the screen is on it was typically going down by about 1% for every 1 to 3 minutes. So screen on battery can be rather poor, but screen off battery life is not too bad.

* The notification layout is still cut off when you expand the clocks calendar/notification popup, to fix this we would require the extension 'Notification centre' to be updated to work with Gnome 42 and to separate the Notification UI from the clock/calendar popup.

Updated the configuration a little adding Blur My Shell and changing the App Grid layout to fit a 4x5 grid on there.
The screenshots look really good. Have you tried this further so far?
I love GNOME on my desktop. However, I haven't really warmed up to Phosh.
Do you use the lock screen? And if so, are you able to pick up a call with the screen locked?
(05-03-2022, 05:20 PM)Truemmerer Wrote: The screenshots look really good. Have you tried this further so far?
I love GNOME on my desktop. However, I haven't really warmed up to Phosh.

I've been working on a few additional optimisations, I recently started learning how to develop Gnome extensions and put together a basic gesture bar at the bottom of the display, though I don't want to publish that until I've fixed a few issues and I may look to add a few adjustable settings if I am to make it publicly available.

The UI/UX is coming along rather nicely overall though.

My biggest gripe at the moment is the Gnome OSK (On Screen Keyboard), ideally it would use the same OSK as Phosh/Phoc (Squeekboard) but there are a few issues getting that to run on Gnome/Mutter, perhaps someone with more experience can solve that problem whilst I'm focused on improving/optimising most of the UI/UX to make Gnome work on small portrait touch displays.

The GDM login/lockscreen isn't perfect for mobile devices, but that isn't a huge issue for now, that is something I'll look into improving later.

I've recently switched to running it on the OnePlus6 due to the performance constraints of the PinePhone Pro and with the performance bump I actually think that it feels usable enough to try daily driving, so I'll start testing things such as calls and other functions in gnome when I get time off of work and meet with some friends who I can ask to call and sms me for testing on cue.
Sound good! I cant wait for the results Smile
(05-04-2022, 03:25 PM)Fish Wrote: Sound good! I cant wait for the results Smile

Unfortunately the OnePlus6 has too many bugs due to poor hardware support, so if we want a daily driver Linux phone, we have to choose between performance with the OP6 or compatibility with the PPP, but to be honest without both of those things, it's just not practical to run Linux on a phone yet imho.
Wow, those screenshots are really cool. Will be following this, excited to see if any more progress is made
(05-07-2022, 06:02 AM)PineFLOWn Wrote:
(05-04-2022, 03:25 PM)Fish Wrote: Sound good! I cant wait for the results Smile

Unfortunately the OnePlus6 has too many bugs due to poor hardware support, so if we want a daily driver Linux phone, we have to choose between performance with the OP6 or compatibility with the PPP, but to be honest without both of those things, it's just not practical to run Linux on a phone yet imho.

A pity, but understandable. Thank you for trying Smile

Forum Jump:

Users browsing this thread: 1 Guest(s)