GNOME: Difference between revisions

From Alpine Linux
m (add link to gentoo upgrade guide)
 
(19 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[https://www.gnome.org/ Gnome Desktop] aims to get things done with ease, comfort, and control.


= Prerequisites =
{{:Include:Setup-desktop}}


* [[Installation|Install]] AlpineLinux
When gnome is chosen, the above utility also installs [[PipeWire|Pipewire]] for audio and [[gdm]] as display manager.
* [[Setting_up_a_new_user#Creating_a_new_user|Create a user account]] (optional but recommended)
* [[Repositories#Enabling_the_community_repository|Enable the Community repository]]
* [[Alpine_setup_scripts#setup-xorg-base|Install Xorg]] (no longer needed if installing GNOME through "setup-desktop"


{{Note|[[Wayland]] can be used but may be less stable and Gnome may still require Xorg}}
= Installing Additional packages =
 
= Installing packages =
 
Install basic desktop system and gnome packages.
{{Cmd|# setup-desktop gnome}}
 
It will take care of installing the basic packages and setting up the display manager.


If you want, you can install additional GNOME apps for a more complete GNOME experience with:
If you want, you can install additional GNOME apps for a more complete GNOME experience with:
Line 22: Line 13:
{{Cmd|# apk add gnome-games-collection}}
{{Cmd|# apk add gnome-games-collection}}


= Enabling terminal apps =
= Enabling GNOME Shell screen recording =
If you want to use the gnome-terminal/other terminal applications you will need to install bash. If you want a typical bash setup also enable bash completion:
For the embedded screen recording in GNOME Shell to work, you will need some additional packages: {{cmd|# apk add pipewire wireplumber gst-plugin-pipewire}}
{{cmd|# apk add bash}}
 
{{cmd|# apk add bash-completion}}
= Enabling GNOME Software =
For GNOME Software to be able to manage APK packages, it needs the <code>apk-polkit-server</code> service working. To enable it and start it up:
{{cmd|# rc-update add apk-polkit-server default && rc-service apk-polkit-server start}}
 
= Updating GNOME packages =
 
Most GNOME apps and core systems follow a common versioning pattern, and have a similar release cadence. In order to reduce the workload on maintainers, the [https://gitlab.alpinelinux.org/pabloyoyoista/gnome-aports-utils gnome-aports-utils] project exists. It contains a series of scripts that can be used to detect changes on GNOME-related projects, and commit them. When doing major GNOME updates, and doing minor updates on many projects, these scripts can help warranty that no project is forgotten, and reduce the time needed to build and test the upgrades. We recommend everybody to use and contribute to that repository instead of pushing updates for every GNOME component individually.
 
== Major GNOME upgrade ==
 
About every half year, GNOME publishes a new major release. These are announced at: https://release.gnome.org/calendar/ (note the dates are the tarball-due-dates and not the actual release drop).
 
With this release the whole GNOME stack gets upgraded, this includes G-related libraries, the GNOME shell with mutter, [https://apps.gnome.org/ GNOME core apps] and other packages following the same schedule. The [https://matrix.to/#/%23release-team:gnome.org GNOME release engeneering team] publishes dates for alpha, beta, release candidates and stable versions for every major version, most GNOME core packages follow their schedules, but not all of them. Announcements of the releng team are posted on the GNOME forum (https://discourse.gnome.org/tag/release-team) and Release Notes for each phase (with it's upgraded packages) are at: https://download.gnome.org/core/


= Enabling GNOME Shell screen recording =
Therefore we should also upgrade along the dependency tree (glib -> gtk4 -> mutter -> gnome-shell -> other apps). Most important libraries are glib, gtk4, libadwaita. These are mostly already released in the alpha-phase and don't contain many breaking changed. To upgrade other GNOME core package to the latest version in a major version, you can use [https://gitlab.alpinelinux.org/pabloyoyoista/gnome-aports-utils gnome-aports-utils] or also check [https://download.gnome.org/sources/?C=M&O=D https://download.gnome.org/sources (sorted by date)] (thats where all GNOME core maintainers upload their tarballs).
For the embedded screen recording in GNOME Shell to work, you will need some additional packages: {{cmd|# apk add pipewire pipewire-media-session gst-plugin-pipewire}}
 
Also take a look at Gentoo's upgrading guide: https://wiki.gentoo.org/wiki/Project:GNOME/GNOME_Bumping_Guide


= Troubleshooting =
= Troubleshooting =
If GDM does not start with no logs generated at /var/log/gdm, try setting up udev: {{cmd|# setup-devd udev}}


If you are unable to log in, check /var/log/gdm/greeter.log, there may be info there from X that indicates failed modules, etc.
If you are unable to log in, check /var/log/gdm/greeter.log, there may be info there from X that indicates failed modules, etc.


If logging in from GDM kicks you back to the login screen, try {{cmd|# apk add bash}} (bug report: #10953 sorry cannot link yet)
If GNOME Terminal doesn't start, add the following to /etc/profile.d/locale.sh: <code>LANG=en_US.UTF-8</code> and reboot.


If GNOME Terminal doesn't start, add the following to /etc/locale.conf: LANG=en_US.UTF-8 and reboot.
If the on-screen keyboard shows up in GDM after installing other UIs such as Phosh, you need to disable it by opening the Accessibility menu (top right) when you are in the GDM login screen. You can disable the on-screen keyboard there. Or set <code>org.gnome.desktop.a11y.applications screen-keyboard-enabled</code> to <code>false</code> for the <code>gdm</code> user with <code>dconf</code>


If the on-screen keyboard shows up in GDM after installing other UIs such as Phosh, you need to disable it by opening the Accessibility menu (top right) when you are in the GDM login screen. You can disable the on-screen keyboard there. Or set <code>org.gnome.desktop.a11y.applications screen-keyboard-enabled</code> to <code>false</code> for the <code>gdm</code> user with <code>dconf</code>
== Slow applications or rendering issues ==
 
Please note that some applications, i.e. Gnome Web (Epiphany), may require the installation of libraries related to hardware acceleration to work correctly.  
 
In quite some cases, this can be solved by installing <code>mesa-gles</code> (OpenGL ES). Check if you you have issues loading the shared library <code>libGLESv2.so.2</code>. If so, you can install it with:
 
{{Cmd|# apk add mesa-gles}}
 
== See also ==
* [https://wiki.archlinux.org/title/GNOME GNOME - Archwiki]
* [https://wiki.gentoo.org/wiki/GNOME GNOME - Gentoo Wiki]
* [https://wiki.postmarketos.org/wiki/GNOME GNOME - PostmarketOS Wiki]


[[Category:Desktop]]
[[Category:Desktop]]
[[Category:Desktop Environments]]

Latest revision as of 13:00, 20 September 2024

Gnome Desktop aims to get things done with ease, comfort, and control.

Note: Before installing any desktop, If you are using Hyper-V and Xorg refuses to start, blacklist the hyperv_drm module by adding it to the /etc/modprobe.d/blacklist.conf file.

Installation using setup-desktop

The Alpine Linux script for setting up a desktop quickly is setup-desktop.

# setup-desktop

On running the above command, you will be prompted to select a desktop environment.

Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway' or 'none') [none]

Once you have chosen a desktop environment, this script installs the chosen desktop along with all the necessary packages, firefox browser and adds the necessary services to run on startup. You can reboot when complete and the system will boot into a graphical login screen with the desktop environment. Depending on the desktop chosen, the script also activates the necessary services like dbus, elogind, login manager etc..

To view all the packages that are installed by the script for the chosen desktop you can issue the below command:

# cat /sbin/setup-desktop

When gnome is chosen, the above utility also installs Pipewire for audio and gdm as display manager.

Installing Additional packages

If you want, you can install additional GNOME apps for a more complete GNOME experience with:

# apk add gnome-apps-extra

And even all of GNOME games with:

# apk add gnome-games-collection

Enabling GNOME Shell screen recording

For the embedded screen recording in GNOME Shell to work, you will need some additional packages:

# apk add pipewire wireplumber gst-plugin-pipewire

Enabling GNOME Software

For GNOME Software to be able to manage APK packages, it needs the apk-polkit-server service working. To enable it and start it up:

# rc-update add apk-polkit-server default && rc-service apk-polkit-server start

Updating GNOME packages

Most GNOME apps and core systems follow a common versioning pattern, and have a similar release cadence. In order to reduce the workload on maintainers, the gnome-aports-utils project exists. It contains a series of scripts that can be used to detect changes on GNOME-related projects, and commit them. When doing major GNOME updates, and doing minor updates on many projects, these scripts can help warranty that no project is forgotten, and reduce the time needed to build and test the upgrades. We recommend everybody to use and contribute to that repository instead of pushing updates for every GNOME component individually.

Major GNOME upgrade

About every half year, GNOME publishes a new major release. These are announced at: https://release.gnome.org/calendar/ (note the dates are the tarball-due-dates and not the actual release drop).

With this release the whole GNOME stack gets upgraded, this includes G-related libraries, the GNOME shell with mutter, GNOME core apps and other packages following the same schedule. The GNOME release engeneering team publishes dates for alpha, beta, release candidates and stable versions for every major version, most GNOME core packages follow their schedules, but not all of them. Announcements of the releng team are posted on the GNOME forum (https://discourse.gnome.org/tag/release-team) and Release Notes for each phase (with it's upgraded packages) are at: https://download.gnome.org/core/

Therefore we should also upgrade along the dependency tree (glib -> gtk4 -> mutter -> gnome-shell -> other apps). Most important libraries are glib, gtk4, libadwaita. These are mostly already released in the alpha-phase and don't contain many breaking changed. To upgrade other GNOME core package to the latest version in a major version, you can use gnome-aports-utils or also check https://download.gnome.org/sources (sorted by date) (thats where all GNOME core maintainers upload their tarballs).

Also take a look at Gentoo's upgrading guide: https://wiki.gentoo.org/wiki/Project:GNOME/GNOME_Bumping_Guide

Troubleshooting

If you are unable to log in, check /var/log/gdm/greeter.log, there may be info there from X that indicates failed modules, etc.

If GNOME Terminal doesn't start, add the following to /etc/profile.d/locale.sh: LANG=en_US.UTF-8 and reboot.

If the on-screen keyboard shows up in GDM after installing other UIs such as Phosh, you need to disable it by opening the Accessibility menu (top right) when you are in the GDM login screen. You can disable the on-screen keyboard there. Or set org.gnome.desktop.a11y.applications screen-keyboard-enabled to false for the gdm user with dconf

Slow applications or rendering issues

Please note that some applications, i.e. Gnome Web (Epiphany), may require the installation of libraries related to hardware acceleration to work correctly.

In quite some cases, this can be solved by installing mesa-gles (OpenGL ES). Check if you you have issues loading the shared library libGLESv2.so.2. If so, you can install it with:

# apk add mesa-gles

See also