Jump to content

GNOME: Difference between revisions

From postmarketOS Wiki
NekoCWD (talk | contribs)
m URL in new line Force phone mode
NekoCWD (talk | contribs)
No edit summary
Line 1: Line 1:
GNOME is a fairly adaptive DE, but GNOME Shell and Mutter are not very comfortable to use on a phone because of their lack of touchscreen gestures. However, this is being [https://blogs.gnome.org/shell-dev/2022/09/09/gnome-shell-on-mobile-an-update/ developed] (among other things). Especially Jonas Dreßler has been working on this and whose changes to GNOME Shell/Mutter you can find from his repos ([https://gitlab.gnome.org/verdre/gnome-shell/-/tree/mobile-shell GNOME Shell], [https://gitlab.gnome.org/verdre/mutter/-/tree/mobile-shell Mutter]). It's very WIP stuff, so these changes haven't been added to the official GNOME repos yet. During pmbootstrap init you can choose either "gnome" (the official GNOME release) or "gnome-mobile" (same as the previous one, but including whose WIP changes from Dreßler's repos)
== GNOME mobile (standard packages since v23.06) ==
postmarketOS comes with GNOME mobile since v23.06. The user experience is more mature than described in the two sections below. But some quirks remain.
=== Some unsorted fixes ===
=== Some unsorted fixes ===
==== Scaling ====
==== Scaling ====
Line 18: Line 12:
* Input issue: Firefox doesn't triggering gnome OSK
* Input issue: Firefox doesn't triggering gnome OSK
How to solve this issues described [https://wiki.postmarketos.org/wiki/Firefox#Scale_and_keyboard_on_wayland_desktop_environments here]
How to solve this issues described [https://wiki.postmarketos.org/wiki/Firefox#Scale_and_keyboard_on_wayland_desktop_environments here]
 
==== Logs ====
== GNOME with GNOME Shell/Mutter WIP mobile patches ==
Your logs saved in '''~/.cache/gdm/session.log'''
{{Infobox interface
| name = Gnome Shell Mobile (Experimental)
| image = File:Gnome-mobile-postmarketos-23.06.png
| imagecaption = Gnome Shell w/ mobile patches running on Oneplus 6
| graphics = Mutter
| toolkit = Clutter
| package = postmarketos-ui-gnome-mobile
}}
 
[[File:Gnome-shell-mobile-running-on-oneplus-6.png|250px|thumb|postmarketOS with GNOME Shell/Mutter WIP mobile patches on the OnePlus 6]]
 
Gnome Shell/Mutter with mobile patches from fork on https://gitlab.gnome.org/verdre. Currently being upstreamed to the main Gnome Shell/Mutter. Very much WIP. More info: https://blogs.gnome.org/shell-dev/2022/09/09/gnome-shell-on-mobile-an-update/
 
 
=== How to test ===
 
* Install with pmbootstrap at https://wiki.postmarketos.org/wiki/Installation_guide, selecting `edge`, and selecting `gnome-mobile: (Wayland) Gnome Shell patched to adapt better to phones (Experimental)` under "available user interfaces".
* Download images from the edge channel at https://images.postmarketos.org/bpo/edge/ for devices like the Pinephone Pro or Oneplus 6.
 
=== How to file bugs ===
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.
 
=== See also ===
* {{MR|3404|pmaports}}: initial MR
 
== GNOME without GNOME Shell/Mutter WIP mobile patches ==
{{Infobox interface
| name = Gnome Shell
| image = File:Gnome_not_mobile.png
| imagecaption = Gnome Shell without mobile patches running on Redmi 2
| graphics = Mutter
| toolkit = Clutter
| package = postmarketos-ui-gnome
}}
 
[[File:Kc-gnome-postmarketos.jpg|250px|thumb|postmarketOS with GNOME without GNOME Shell/Mutter WIP mobile patches on the Redmi 2]]
 
 
The stock gnome experience for desktop/laptop.
 
 
 
=== See also ===
* {{MR|990|pmaports}}: initial MR
* {{issue|94|pmaports}}: initial Issue
 
== Extensions ==
=== Force phone mode ===
'''Warning''' for gnome-mobile only
 
This extension forces gnome-mobile to use phone mode. Without it, phone mode will be calculated by screen resolution and scale factor
 
https://github.com/vixalien/force-phone-mode
 
=== Screen auto rotate button ===
GNOME supports automatic screen rotation, but on a phone it is often useful to switch between manual/automatic rotation on the fly. This adds a button to the system status area.
 
https://github.com/shyzus/gnome-shell-extension-screen-autorotate
 
=== Screen manual rotate button ===
On phones without support for the gyroscope the following extension adds just a button to manually rotate the screen instead.
 
https://gitlab.gnome.org/gnumdk/add-rotate-button
 
=== Clock to the left ===
Many phones/mobile devices have a notch that makes it necessary to move the clock of top bar to left edge. This extension does just that:
 
https://gitlab.gnome.org/gnumdk/move-shell-clock/
 
=== Flashlight button ===
 
Extension adds a button to the Quick Settings: https://gitlab.com/NekoCWD/nekotorch
 
See [[LEDs|LEDs]] for more details.
 
== How to install ==
 
* Install with pmbootstrap at https://wiki.postmarketos.org/wiki/Installation_guide, selecting `edge`, and selecting `gnome` under "available user interfaces".
 
== Relevant links ==
 
* [[Debugging the GNOME stack]]
 
[[Category:Interface]]

Revision as of 18:44, 23 January 2024

Some unsorted fixes

Scaling

The scaling is sometimes set to 200 %, which will keep Gnome in desktop mode (and not in mobile mode). There are 2 ways to set the display scale:

  • Normal way: Change Settings > Display > Scale to 300%.
  • 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 3 then relogin.

On some devices or on newer version of gnome there are no 300% scaling option in settings.

Firefox wayland issue

On Gnome-mobile Firefox doesn't use wayland for render. It causes some issues:

  • Scaling issue: Firefox run in low-resolution mode and looks like ugly.
  • Input issue: Firefox doesn't triggering gnome OSK

How to solve this issues described here

Logs

Your logs saved in ~/.cache/gdm/session.log