GNOME/GNOME without systemd



Brief instructions for using GNOME (3.14 thru 3.30) under OpenRC (rather than ) in Gentoo, via Dantrell B.'s patchset, on either the X11 or Wayland platforms.

Introduction
Users of GNOME 3 on Gentoo have, until recently, been required either to use systemd as their init system, or else to use a 'shim' overlay to pull in Funtoo's patched version of GNOME (which supports OpenRC).

Now, however, Dantrell B., the primary author of the Funtoo GNOME patchset, has made his work available for Gentoo users directly.

To be clear, this means that you can now enjoy the full GNOME experience (including session tracking and power management), even on a PC running 'stable branch' Gentoo, without systemd.

This brief guide leads you through the steps you need to take to get GNOME up and running under this patchset.

Prerequisites
It is assumed that:
 * having followed the normal "Installing Gentoo" process from the official Handbook, you are currently running a stock Gentoo system which has working internet access etc. (it is also fine to be on )
 * you have at least one 'regular' (non-root) user set up;
 * you have prepared your kernel and file for X-server installation ( VIDEO_CARDS and INPUT_DEVICES variables set), as described here. You do not have to have actually installed the X-server, however (although since X-related problems are some of the most commonly encountered when installing GNOME, it is recommended that you do);
 * if targeting Wayland, you must have an appropriate Direct Rendering Manager ('DRM') kernel driver for your PC's graphics card installed (see e.g. these notes for further details);
 * you have a UTF-8 locale selected (as described here).

Setting Global USE Flags
First, if you have the USE flag set in your  file, it is recommended to unset it now, to avoid issues with,  and dependencies later.

Second, if you wish to deploy GNOME on Wayland (rather than the default X11), then add  to your global USE flags, in  (note that you will still be able to log in to an old-school GNOME-on-X11 session at your option, even if you do elect to use Wayland).

Then, ensure everything is up-to-date on your current setup, before proceeding further:

Installing the Overlays
You now have two options: either install Dantrell B.'s overlays under layman, or add them directly (assuming you are using version >= 2.2.16 of ).

Option 1: Installation under layman
To install the overlays, first emerge and configure, as detailed here, with the  USE flag enabled (it is by default).

Then, edit the stanza of  so it reads:

Sync the overlay metadata, and add the 'generic' GNOME overlay:

Next, add the desired GNOME 'version' overlay(s); if using the 'stable' branch, it is probably best to use the one which matches the current stable  in Gentoo (version 3.24, at the time of writing).

For version nn of GNOME 3, issue:

Substitute for nn in the above, with one of 14 thru 30: as a concrete example, for GNOME 3.24, you'd actually need to issue:

Note that it is fine to add multiple version overlays here (e.g., 3-24, 3-26 etc.), as the profile &mdash; which we will select shortly &mdash; will decide which takes precedence.

Option 2: Direct Installation
Under modern (>= 2.2.16) versions of, it isn't necessary to use layman - you can add the overlays directly if you like.

Begin by ensuring the that you have a directory in place:

Check you have a file; if not, create it following the pattern below (adapt the  appropriately for your location):

Next, we need to create configuration files for Dantrell B.'s external ebuild repositories (aka, overlays). At the time of writing there are seven such repos: a 'common' one, and one for each of GNOME 3.14, 3.16, ... 3.30. Create the following file for the 'common' overlay:

Next, create the desired GNOME 'version' overlay configuration file(s), as shown below; if using the 'stable' branch, you should create at least the one which matches the current stable  in Gentoo (version 3.24, at the time of writing).

For GNOME 3.14, create the following file:

We can use this file as a basis for the other (3.16 &rarr; 3.30) variants, rather than entering them manually. To do so, issue: {{RootCmd }}
 * for ((R{{=}}16;R<{{=}}30;R+{{=}}2)); do cp -v /etc/portage/repos.conf/dantrell-gnome-3-{14,${R}&#125;.conf; sed -e "s/14/${R}/g" -i /etc/portage/repos.conf/dantrell-gnome-3-${R}.conf; done
 * prompt=(chroot) livecd / #

Note that it is fine to have multiple versions installed, as the profile &mdash; which we will select shortly &mdash; will decide which takes precedence.

Next, if you haven't already got it on your system, install git:

Then sync everything:

Setting the Profile, and Updating
Dantrell's overlays provide a bundled set of profiles. By using one of these, you can conveniently set appropriate USE flags, masks etc., to ensure that installation proceeds smoothly. For any of the GNOME releases (3.14, 3.16, ... 3.30) you can choose a 'standard' or 'extended' profile (and, at the time of writing, a 13.0 or 17.0 profile for each of those, giving a total of four profiles per GNOME version). The 'extended' variants have more USE flags enabled by default, to yield a similar experience to the familiar profiles in Gentoo.

Select an appropriate profile now (at the time of writing, users on the "stable" branch are probably safest sticking to one of the 3.14 - 3.24 profiles (although, for reference, 3.30 will build under );  users may use whichever they choose):

(The numbering etc. on the list you see may well differ from the above, and of course you will only see profiles corresponding to overlays you have installed.)

With your desired profile set, re-emerge, to pick up the new USE flags, default packages etc.

The various dependencies for GNOME without are now installed automatically, either as part of the above @world update under the custom profile (e.g.,  and  (for <= GNOME 3.22) /  (for >= GNOME 3.24)) or during the  emerge to follow shortly (e.g.,  and ); nothing further needs to be emerged at this stage.

Preparing USE Flags Prior to GNOME Emerge
If there are any additional applications you would like installed as part of the GNOME emerge, set their USE flags now, as follows:

For example, to add the epiphany browser to the default set of installed applications, do:

There are some additional GNOME 'quality of life' improvements in Dantrell's patchset (background resolution etc.), which are controlled by USE flags on certain packages. The defaults will probably be suitable for most users, but for more details please see here.

Emerging GNOME
Right, we are now ready to GNOME! To do so, issue:

Assuming that completes successfully, you should still check that the necessary X11 drivers have been properly emerged: often, they will not have been, particularly if you had to run the step more than once (due to build parallelism errors). To make sure, issue:

Configuring and Running GNOME
Once GNOME is emerged, you need to change the DISPLAYMANGER value in the configuration file, so that the gdm display manager is used:

Then set, , and  to come up on boot, and disable  if you are using it:

If targeting X11 (rather than Wayland) and using < GNOME 3.24, issue:

Otherwise, if you are targeting Wayland, or using >= GNOME 3.24 issue:

Next, check if your machine has a plugdev group, and, if it does, add any regular users to it:

If you wish to allow your regular users to play the GNOME games (assuming you installed them):

Start up GNOME!

You should now have a GNOME login screen visible (and this will also come up automatically on boot). On some machines, you may need to move the mouse or press a key, for the login screen to appear.

Have fun!

Using GNOME
For more information about the GNOME interface (which is generally self-explanatory), see https://gnome.org. Some additional useful setup tips about GNOME may also be found here.

External resources

 * Dantrell B.'s project homepage on GitHub
 * Dantrell B.'s support thread at Gentoo forums, part 1 and part 2.