GNOME
|
GNOME activity page | |
| Name | GNOME |
|---|---|
| Graphics stack | Mutter |
| Toolkit | Clutter |
| In postmarketOS | |
| Package |
|
| Status | Available |
| systemd | y |
| OpenRC | y |
GNOME (/ɡəˈnoʊm/) is a desktop environment that aims to be simple and easy to use. It is designed by the GNOME Project and is composed entirely of free and open-source software. The following variants are available in postmarketOS:
- GNOME, the default, runs traditional GNOME Shell mosten used on the desktops or laptops.
- GNOME Mobile are patchsets on top of the GNOME stack, that make GNOME suitable for mobile phones and touch devices.
During pmbootstrap init, you can choose either gnome (the stock GNOME shell) or gnome-mobile (with mobile patches).
GNOME Mobile (Experimental)
|
GNOME Shell with mobile patches running on the OnePlus 6 | |
| Name | GNOME Mobile (Experimental) |
|---|---|
| Graphics stack | Mutter |
| Toolkit | Clutter |
| In postmarketOS | |
| Package |
|
| Status | Available |
| systemd | y |
| OpenRC | y |
GNOME is a fairly adaptive user interface, however GNOME is not very comfortable to use on a phone because of their lack of touchscreen gestures. Many developers (especially Jonas Dreßler) have been working on this and developed a prototype. The patches are very work-in-progress and not all of them are upstream yet, however it's being worked on.

Troubleshooting
Scaling
The scaling is sometimes set to 200%, which will keep GNOME in Desktop mode (and not in Mobile mode). There are two ways to set the display scale:
- Normal way: Change Settings > Display > Scale to 300%.
- Command line: Since Gnome 48 you can use GNOME Display Controller to adjust display settings. Example:
gdctl set -LpM DSI-1 -s 3 - Hacky way: Open ~/.config/monitors.xml in editor and set scale to 3 then reboot or relogin
- Hacky way 2: Remove ~/.config/monitors.xml, run
gsettings set org.gnome.desktop.interface scaling-factor 3then relogin.
On some devices or on newer versions of GNOME, there is no 300% scaling option in Settings.
Firefox issues under Wayland
On gnome-mobile, Firefox doesn't use Wayland for rendering. It causes some issues:
- Scaling issue: Firefox runs in a low-resolution mode and looks ugly.
- Input issue: Firefox doesn't trigger the GNOME OSK.
Solutions to these issues can be found here.
Bug reporting
This is under active development and has many known and unknown bugs. It is packaged here in order to be a development target. Please report the issues to postmarketOS before filing upstream, as at this early stage it is unknown whether potential bugs may be due to packaging or in the code upstream.
Extensions
- Alphabetical App Grid — Alphabetically order the installed app menu and folders. Helpful when having lots of apps installed.
https://extensions.gnome.org/extension/4269/alphabetical-app-grid - Auto Brightness Toggle — Toggle auto brightness in quick settings. Not updated!
https://extensions.gnome.org/extension/5736/auto-brightness-toggle - Caffeine — Temporarily disables automatic screen blanking and suspend mode
https://extensions.gnome.org/extension/517/caffeine - Force phone mode — Forces gnome-mobile to use phone mode. Without it, phone mode will be calculated by screen resolution and scale factor (gnome-mobile only)
https://github.com/vixalien/force-phone-mode - Night Theme Switcher — Automatically toggle your desktop’s color scheme between light and dark, switch backgrounds and run custom commands at sunset and sunrise
https://extensions.gnome.org/extension/2236/night-theme-switcher - Privacy Quick Settings — Add privacy settings toggles to the GNOME system menu
https://extensions.gnome.org/extension/4491/privacy-settings-menu - Toggle Display Orientation — Adds a button to notification center to toggle between Portrait and Landscape orientations
https://extensions.gnome.org/extension/7911/toggle-between-two-display-orientations
- Hide Volume Indicator — Removes the useless volume indicator in the top bar
https://codeberg.org/stephaniebread/gnome-hide-volume-indicator - Flashlight button — Adds a button to to turn on the device flashlight in Quick Settings (see LEDs for more details)
https://github.com/vixalien/gnome-mobile-torch
- Custom Command Toggle — Allows to add customized buttons to quick settings
https://extensions.gnome.org/extension/7012/custom-command-toggle - Notification Sound — Sound for notifications
https://codeberg.org/stephaniebread/gnome-notification-sound
Tips and tricks

Auto unlock keyring with GDM
In case you're using the same password for the user at the display manager login and the keyring, you can avoid having to input your password twice for gnome-keyring by letting PAM auto-unlock it.
Create the following file /etc/pam.d/gdm-password:
#%PAM-1.0
auth include base-auth
auth optional pam_gnome_keyring.so
account include base-account
password include base-password
session include base-session
session optional pam_gnome_keyring.so auto_start
You'll probably have to recreate the keyring password, so let's move the old one:
$ mv ~/.local/share/keyrings/login.keyring ~/.local/share/keyrings/login.keyring.bak
After rebooting or restarting GDM, login with your user. After that, a popup comes up where you'll need to input the same password for the default keyring. Tick the checkbox that states "Automatically unlock this key, whenever I'm logged in".
Toggle adaptive brightness
Given that GNOME 49 removed the auto brightness setting, we can use a gsetting command to toggle it on or off.
gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled true
To make it easier, put the command in a script and toggle it with a shell argument:
$ echo "gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled $1" > adaptive.sh
$ chmod +x adaptive.sh
$ ./adaptive.sh true/false
As of now, the sensors are not detected upon reboot, so you need to restart the sensor hub:
$ sudo systemctl restart iio-sensor-proxy
For gnome-shell to pick-up the sensors, you will also need to log off and back in from your user account.
Switch from PulseAudio to PipeWire
If you want to use an equalizer like easyeffects on your audio output, you will need to switch to PipeWire. Make sure all of its packages are installed:
# apk add pipewire wireplumber pipewire-pulse
Now you only have to enable the service:
$ systemctl --user enable pipewire pipewire-pulse wireplumber
And then reboot. This will fix the volume control from being hidden.
See also
- GNOME apps
- Debugging the GNOME stack
- pmaports!990: Initial MR
- pmaports!3404: Initial gnome-mobile MR
- pmaports#94: Initial issue
External links
- gnome-shell-mobile on GitLab
- mutter-mobile on GitLab
- gnome-settings-daemon on GitLab