User:Sakaki/Sakaki's EFI Install Guide/Setting up the GNOME 3 Desktop under OpenRC

In this section, we'll be setting up GNOME 3 on your machine, using the modern Wayland platform (including XWayland support for legacy X11 applications).

GNOME 3 is a feature-rich desktop environment provided by the GNOME Project. It is one of the most widely-used Linux desktops. Version 3 has now been stabilized on Gentoo, and the older version 2 is no longer supported (reflecting an upstream decision). Thanks to Dantrell B.'s patchset (a variant of which is used by Funtoo in their mainline distribution), users can enjoy GNOME 3 under with all features intact.

GNOME's user interface is known as the "GNOME Shell". It provides core user functions, such as: and uses accelerated, modern-looking graphics:
 * launching applications,
 * switching windows and desktops,
 * searching for programs and files,
 * notification management, etc.



For more information about GNOME, see its official site and Wikipedia page. A list of GNOME releases may be found here.

GNOME requires graphical support scaffolding on which to run, and in previous versions of this guide, the X Window System ("X11") fulfilled this role. Now, however, as the more modern, lightweight and secure Wayland protocol has reached sufficient maturity for everyday use, we'll be leveraging that instead (with GNOME providing its own compositing window manager, Wikipedia:Mutter_(software)). As Kristian Høgsberg (one of the Wayland founders) writes in the project's FAQ:


 * What’s different now is that a lot of infrastructure has moved from the X server into the kernel (memory management, command scheduling, mode setting) or libraries (cairo, pixman, freetype, fontconfig, pango, etc.), and there is very little left that has to happen in a central server process. ... [An X server has] a tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will ever use this. ... With Wayland we can move the X server and all its legacy technology to an optional code path.

Don't worry though &mdash; as we'll configure it here, you'll still have the option to log in to an old-school GNOME-on-X11 session if and when you want. Furthermore, even when using a GNOME-on-Wayland session, applications that don't support Wayland natively will be handled using an integrated, rootless X11 server (under the so-called XWayland approach).

Accordingly, the process we'll be following in this section is:
 * 1) Adding a regular (non-root) user;
 * 2) Enabling the  USE flag (and additional dependencies) globally;
 * 3) Updating your system to reflect this, then installing an X11 server for legacy support, and baseline testing;
 * 4) Temporarily installing a simple X11 window manager, and a few applications, also for test purposes;
 * 5) Reconfiguring the kernel to include an appropriate DRM graphics driver, recompiling using, and rebooting;
 * 6) Verifying, upon restart, that the new DRM driver (which  requires) has been activated;
 * 7) Testing a simple X11 setup using Wikipedia:Twm;
 * 8) Installing GNOME 3 and key applications, and testing under X11; then
 * 9) Testing GNOME 3 on, and refining settings.

This section has no direct equivalent in the Gentoo Handbook (although the part about adding a user reflects the "User Administration" section from Chapter 11, and the kernel DRM driver part has elements of the "Default: Manual (Kernel) Configuration" section from Chapter 7).

Right, let's get started!

Adding a User for Daily Use
Per the Gentoo Handbook, it is strongly recommended to set up a user for day-to-day use on your machine. Let's do that now. Issue (via the connection from the helper PC) :

The meaning of those options is as follows:

Enabling Wayland
Next, we'll activate the USE flag globally on your system, and ensure that the  session manager (a  requirement) is used in preference to  (we'll rebuild any existing installed packages affected by these changes in the subsequent section). Issue:

and append the following lines to that file:

Leave the rest of the file as-is. Save, and exit.

Installing X11
Next, we'll install an X11 server.

We need to set an additional USE flag for (an OpenGL-like library which X pulls in as a dependency), so issue:

Here's what those flags do:

As before, since some of the next steps will involve lengthy emerges, we'll use, and setup a second virtual console , which will be let us monitor progress using. Issue:

to start. Then, press then  to start a new virtual console, and in that new console enter:

Now hit then  to get back to the original console.

Next, update your existing package set to reflect the changed USE flags. Issue:

Wait for the update to complete, before continuing. It should not take too long on a modern machine (as we do not have many GUI-specific libraries or apps installed, yet). A few additional -specific libraries will also be pulled in.

Now, since you have already set up the necessary VIDEO_CARDS  and  INPUT_DEVICES  variables in  earlier, we can now proceed to install the X-server itself. Issue:

and the X11 server will be downloaded, compiled and installed. Note that we use  here to avoid adding it to your @world set (this is slightly cleaner, as it will become a dependency of GNOME, once it is installed later).

Temporarily Installing an X11 Window Manager and Applications
To be able to test out X11, we'll need to install a window manager, and a few X11 applications.

Keeping things simple here, we'll use the (minimalist) Tab Window Manager (TWM), and the following apps:
 * : a background ('root') window parameter setting utility for X;
 * : a simple clock display for X; and
 * : the standard terminal emulator for X.

Issue:

These are small programs, and shouldn't take long to download, compile or install.

Enabling the Kernel DRM Driver for your Graphics Card
Next, since requires you to have an appropriate Direct Rendering Manager ('DRM') kernel driver for your PC's graphics card installed, in this section we'll reconfigure your kernel accordingly, rebuild it, and then reboot.

Two commonly used DRM/DRI KMS drivers are:
 * the driver; this is needed for the integrated "HD Graphics" on many Ultrabooks (such as the Panasonic CF-AX3); you'll need to activate it if you have an "", "" or "" ../Installing_the_Gentoo_Stage_3_Files setting in ;
 * the driver; this is an open-source driver that supports many nVidia graphics cards (which are popular on desktop machines); you'll need to activate it if you have a "" ../Installing_the_Gentoo_Stage_3_Files setting in.

(There are others too, of course, these are simply the most frequently encountered.)

To kick off the kernel reconfiguration process, first ensure that the USB boot key is inserted into the target machine, and then issue (from the / virtual terminal):

Because you have not specified  here, but you have specified , the process will run through by itself (assuming no errors) to the point where you can modify the kernel configuration using the standard -based editor GUI.

The configuration changes you need to make will vary depending on the driver(s) you need to enable. The following is a step-by-step guide for modern laptops (and other PCs) with Intel integrated HD graphics (following this wiki page). If you require a different driver, modify these instructions accordingly.

First, some background. The system is a simple tool used to modify Linux kernel configurations (aka "" files) in a coherent manner. The tool will not let you make inconsistent choices, and has a useful search facility.

When starts up, it will present you with a display similar to the below (your version may vary depending on currently selected options and kernel version):

You can navigate the interface as follows:
 * Use the up and down arrow keys to move your selection (highlighted in blue) in the top pane;
 * Use the left and right arrow keys to traverse the bottom (horizontal) menu, which defines what happens when you press, viz.:
 *  enters a sub-menu, for items (in the top pane) ending with, or brings up a text entry box for items which start with round brackets "";
 *  exits a sub-menu; if at the top level already, asks you whether to save changes (if you have made any) and exits the program; you can also press then  to perform this action;
 *  shows a help screen that is relevant to the (top pane) selection; you can also press for this;
 *  saves the current configuration; and
 *  allows you to load a new configuration.

Items starting with non-round brackets represent features which can be enabled, as follows:
 * , : Square brackets indicate features that are deactivated (blank) or activated (asterisk). Press  to toggle status, or  to activate,  to deactivate. Activated items are built directly into the kernel; deactivated items are omitted from it entirely.
 * ,, : Angle bracketed items can similarly be deactivated (blank) or activated (asterisk), but can additionally be built as modules ("") (modules are object files designed to be dynamically loaded into a running kernel on an as-needed basis). In addition to ,  and , you can use  with such items to specify that they should be modularized.
 * , : Curly brackets indicate items which cannot be deactivated (due to another item's dependency). However, they may be activated or modularized (using,  or , as before).
 * , : Similarly, hyphens indicate items whose status cannot be changed (their selection having been forced as the result of another item choice).

To search, press and then type your search term. This is a very useful facility when looking for missing drivers etc. For example, since we are here looking for the driver, press  then type in, then press  to see the search results:

You can scroll through the results using the arrow keys. Doing so in this case, we discover that (inter alia):
 * Four items are returned (your results may differ, depending on kernel version), of which the first and third (, and ) are relevant;
 * The output shows that (e.g.) the item (which will appear in the  file as ) is to be found under the  menu, by following down into the  submenu. We also see that its prompt in the upper-pane menu will (as is common with this software!) will be distinct from the  name (it will actually appear as "").
 * The dependencies of this driver are also shown (you can drag the terminal window on your helper machine wider to see any that may have been clipped off). Generally, for an item to be available for selection or modularization, all its dependencies must be satisfied: either selected (, the same as an asterisk) or modularized . In some cases, items whose dependencies are unsatisfied will not be visible other than through a search like this.

This last point bears repeating, since it confuses many first-time users: an item will often not even appear in 's top pane until its dependencies have been satisfied, even when it shows up in the results of a search. It would be nice if would allow us to activate/modularize "an item and all its dependencies, transitively" from the search results screen, but it currently cannot, so we must perform this depth-first recursion manually.

OK, so let's work through the case as a concrete example. From the search just performed we can see that, of the requirements for, only the item is currently deselected. Well then, let's investigate : we hit to exit current search, then  to search again, and type in  and press. The item we want here is the first result term. All its dependencies appear satisfied in the current configuration, and we note also that it appears under "", that its prompt is "", and that it is currently unselected :



Now we know there are no further unsatisfied dependencies for, we can activate , and then itself.

Begin by pressing to exit the current search, then use the arrow keys to navigate to the "" item (if not visible to begin with, the top pane will scroll as you arrow down), then press  to enter the submenu. Next, repeat the process to select the "" item, and press :

Now, move to the "" item. This is the symbol we want (as just mentioned, you can verify using  if you like). Press to enable it (this causes a number of subitems to appear, and also enables this entry itself as a submenu heading (not obvious unless you drag your window wider than the default 80 columns, so you can see the  suffix that appears post-selection):



So, now that we have set, we can proceed to enable itself. Navigate down the menu, through the new items that appeared when you selected, until you reach the  item (if you think this feels rather like a 70's era adventure game, you're not alone!):

You can verify that this is indeed the item, by using  if you like; then, press  to enable it:

And that's it, you're done. Hit then  to come back out to the "" menu. Hit then  again to come back out to the top-level menu. Finally, hit then  again, to exit the program. When prompted, ensure is selected, and press  to save the new configuration and quit :

Once you have exited, will automatically create a kernel with the newly created configuration, sign it, and copy it over to the boot USB key. Wait for the process to complete (you get the message ""). Then issue:

which will close the first terminal, then:

to close the second one. Then, ensure the boot USB key is still inserted in the target machine and restart it, by issuing:

When the machine restarts, as before, you will need to enter your LUKS keyfile passphrase (the one you created earlier), directly at the target machine keyboard.

Once this has been completed successfully, and the target machine is restarted, from the helper PC, log back in again via :

Then, re-establish (enter all commands via the  console from the helper PC, unless otherwise stated). Issue:

to start. Then, press then  to start a new virtual console, and in that new console enter:

Now hit then  to get back to the original console.

Verifying the DRM Driver Is Activated
Next, we'll check that your system now has an active DRM graphics driver (and not just e.g., a fallback framebuffer), as this is a prerequisite for running GNOME 3 over . Issue:

The output you get will obviously depend upon your graphics card, for example, it might be  instead, if you have an nVidia card.

Next, search for messages from the DRM subsystem citing this driver name, in the kernel ring buffer. Issue:

Again, the output you see will differ, but the important thing to verify is that that your DRM driver has been initialized.

If, you see no matching  message output from the  (or if the earlier   produced an error), then you have not installed the correct driver. In this case, you need to go back to the start of the previous section now, and try again.

However, assuming it did work (the more usual case), as a final sanity-check, list the activated components present in the configuration of your running kernel. Issue:

Your output may well differ, depending on the configuration choices made earlier, but check that and at least one specific driver (here, but yours might be , etc.) are either built-in (shown as ) or modularized (shown as ).

If that isn't the case, jump back to the Enabling the Kernel DRM Driver for your Graphics Card section now, install an appropriate DRM driver, and try again.

However, if (as is likely) everything checked out fine, then keep reading!

<span id="testing_x11">Testing X11
Before we can try out X11, we need to instruct it which window manager to use, and what apps to launch, when starting up. The file is used for this purpose. As it's generally not a great idea to run an X server as root, we'll create this in the home directory of the regular user we've just created (and then invoke X as that user). Still via / console, issue:

<span id="setup_xinitrc">Next, edit the file in the regular user's home directory. Issue:

Put the following text in the (replacing the current contents, if any):

Save and exit.

The above shell script simply instructs X to:
 * start the Tab Window Manager as a background process;
 * set the background colour to "CornflowerBlue" (also backgrounded, but will exit quickly);
 * show an analogue clock, of size 100x100 pixels, offset 1 pixel from the right side of the screen and 1 pixel from the top (as a background process);
 * show a terminal, of size 80x50 characters, offset 494 pixels from the left side of the screen and 51 pixels from the top (as a background process);
 * show a second terminal, of size 80x20 characters, offset 494 pixels from the left side of the screen and 0 pixels from the bottom; and
 * then execute a third terminal, of size 80x66 characters, offset 0 pixels from the left, top corner of the screen (replacing the calling process). This terminal has name 'login' and, when terminated, the X session will close.

<span id="first_try_startx">Now we are finally ready to try out X11!

Still on the / console, issue:

If all goes well, the screen of your target PC should now be displaying something like the below: (The actual layout will depend upon the geometry of your display.)

If you get an error instead, remember that the most likely problem preventing X11 from starting up, is a missing kernel graphics driver. As such, simply go back to the previous section, and add the appropriate (DRM) driver now &mdash; it may be that you simply chose the wrong one the first time around. For avoidance of doubt, there's no harm (other than the impact on kernel size!) in enabling more than one such DRM driver, if you're not exactly sure which is correct.

Assuming you can see the simple desktop displayed, next check that you can move the cursor around (using the target machine's mouse or touchpad), and try typing some simple commands (e.g. " ") into any of the three terminal windows. When done, move your cursor into the longest (leftmost) terminal, so that it receives the focus (its cursor will switch to a filled rectangle), and type (directly at the target machine's keyboard):

On the / console (at your helper PC), you should now see that the program has exited (and a lot of status output will have been written to the console too).

If everything has checked out so far, then congratulations, GNOME 3 should be able to work fine over both X11 and Wayland on your system.

<span id="install_gnome3">Installing GNOME 3
The validation of prerequisites behind us, we will next perform some clean up, then proceed to the GNOME installation itself.

Let's begin by removing the temporary X window manager and applications (which we installed, for testing purposes only, earlier).

Issue (from the helper PC / terminal):

to get back to the user, then:

Now for GNOME itself. One important decision here is which applications (web browser etc.) to build as part of the 'baseline' set.

Make your own choices, and then add any default USE flag overrides to the file.

For example, since it is generally useful to have a web browser and document scanning utility available, per the above recommendations you could elect to add and  to the default set. To do so, issue:

and then place the following text in the file:

Save, and exit.

Next, if you are installing the GNOME games (this is the default), you will need to allow the license for, a back-end engine used by. You can review the license at, then, if happy to proceed (it isn't particularly egregious ^-^), issue:

<span id="tracker_disable">Next, decide whether you wish to disable GNOME's "Wikipedia:Tracker_(search_software)" file and search indexing framework (it is enabled in GNOME by default). Two reasons you may wish to do so are:
 * 1) it runs content-based indexing on your filesystem, which can create high CPU loading for densely-populated media;  and
 * 2) there is a self-evident privacy (and attack surface) issue presented by using such software.

If you decide you'd rather retain, click here to skip the following optional step.

Otherwise, to disable it, issue:

and then append the following lines to that file:

Leave the rest of the file as-is. Save, and exit.

<span id="ready_to_install_gnome">Now we are ready to install GNOME!

Issue:

The will take quite some time to complete! Note that the  option instructs  to build as much as possible, even if some errors are encountered. This is a useful approach in general with large builds (it can be omitted during the subsequent 'clean up' runs, should any be necessary, as we shall see).

If the above concluded with the output   then congratulations, you have successfully installed GNOME, and should now click here to skip to the next step.

If however, it concluded with, most likely accompanied by a message near the end of the output that:

(or similar) then you have encountered a build issue, so read on.

Most often, any failures will be caused by the high level of parallelism we are using. These glitches are often non-deterministic in nature and accordingly, as a first step it is worth simply retrying the build. Issue :

For avoidance of doubt, any package dependencies that did build successfully first time will not be unnecessarily rebuilt by the above command.

You may need to repeat this step multiple times to get GNOME emerged successfully (I have found three or four iterations may be necessary). As long as the 'packages to be installed' count keeps falling, keep trying ^-^

If, after working through this process, you are finally rewarded with the output  then congratulations, you have successfully installed GNOME &mdash; click here to skip to the next step.

If, on the other hand, you find yourself 'stuck' with one or more packages that seem to fail every time (and the build finishes by outputting ), reissue the, but this time without  parallelism:

Again, you may need to repeat this step multiple times (and should do so as long as the 'packages to be installed' count keeps falling).

If the restricted parallelism finishes with the output   then congratulations, you have successfully installed GNOME &mdash; click here to skip to the next step.

However, if, after all this, you still experience build errors emerging (the restricted parallelism  finishes by outputting  ), you may find it useful to refer to these earlier notes. It is also possible to the smaller package  (instead of ), and then add applications later. You can also post a question to Dantrell's "official", sticky support thread on the Gentoo forums, if you like. Take the necessary steps and then rejoin the tutorial here when ready: in what follows, I am going to assume that you have successfully installed GNOME.

<span id="gnome_built_ok">Once the build process has completed successfully, ensure you are back in the virtual terminal from where you issued the command (i.e., not the  virtual terminal / console), and then issue the following to ensure your environment is up-to-date post-install:

Hit then  to go to the second  console, and do the same there. Issue:

Then press then  to switch back to the original console again.

You should also ensure that the message bus system, and the  daemon (which mimics the  project's ) are added to the appropriate runlevel (and are also started now, if not already running). To do so, issue:

Make sure any regular users are members of the group (if it exists on your target machine; it now should). Issue:

If you wish your regular user to be able to play the GNOME games (assuming you have chosen to install them), then issue (this is optional):

Next, we need to log back in as our regular user, and try out our new desktop! Issue:

Next, edit the file in the regular user's home directory. Issue:

Delete the current contents of (you can use  inside  to delete a line at a time), and replace with the following text:

Save and exit.

OK, time to try it out! To begin with, we'll start GNOME running under X11, with no login manager. Issue:

And hopefully you should be greeted with a (rather startlingly empty!) GNOME 3 desktop, somewhat similar to the below, on the target machine:

You can try playing around with it briefly if you like (some simple instructions may be found here - or just get started by moving your mouse pointer up to the top left corner of the screen (and optionally, clicking on 'Activities'), or by pressing ), using the target machine keyboard and mouse / touchpad directly. Note, however, that this isn't a properly logged-in instance, so certain of the standard features will not function as you expect.

You should be able to start a terminal etc. however. When you're done, kill the test instance, by issuing at the helper PC / terminal (the one where you just issued ).

<span id="testing_gnome3">Testing GNOME 3 on Wayland (and Refining Settings)
Congratulations, GNOME 3 is now basically functional; we only need a few more steps to get it fully operational on your machine! So, let's continue. Come back out to be again:

Next, we must enable the Wikipedia:NetworkManager service (which will handle all network interaction under GNOME), and disable the service, which we started earlier (and whose functionality  supplants). First, issue:

Next, if you are using WiFi for the install, you'll also have explicitly set up a configuration file earlier in the tutorial, and so you need to remove this again now (however, skip this step if installing over a wired Ethernet connection):

<span id="start_nm">Now we can ensure comes up on boot (however, do not start it yet, since you may lose network connectivity when you do). Issue:

That having being done, we need to edit the  value in the  file, so that the GNOME Display Manager  is used. Issue:

and edit the  stanza, so that it reads: {{FileBox|filename=/etc/conf.d/xdm|title=Specify the GNOME display manager, as follows|1= DISPLAYMANAGER="gdm" }} Leave the rest of the file as is. Save, and exit.
 * 1) What display manager do you use ?  [ xdm | gdm {{!} kdm | gpe | entrance ]
 * 2) NOTE: If this is set in /etc/rc.conf, that setting will override this one.

Now we configure to run on boot, and also start up an instance now (the  invocation will also bring up ). Issue:

Assuming that worked, <span id="login_to_gnome">you should now be able to see a GNOME login screen on the target machine, similar to the below:

Next, directly at the target machine, click on the (regular) user name tile, then click on the 'cogwheel' icon, and select from the drop-down menu, as shown:

Next, type in the (regular user) password you set up earlier, and click (or just press ).

You should arrive back at the GNOME desktop (only this time, with a little more functionality, since this is a normal login session).

<span id="verify_xdg_session_type">Once logged in, you should verify that you are indeed running a session. Directly at the target machine's keyboard, press the and type 'terminal', then press. A standard GNOME terminal window should open. Click in it, and then type (inside it):

Assuming you see, as above, all is well. Close out the terminal window now, then click here to proceed with the next step in the install.

However, if instead you saw returned, you have been launched into a legacy X11 GNOME session, not. Given that you have an appropriate DRM kernel driver installed, this indicates an error with your system's userland configuration.

First, check that you have set the correct VIDEO_CARDS  entry to match your kernel driver (this is important, because it e.g., sets up the driver-specific USE flags for the userspace  library). Modify this variable (in ) if necessary, then (if you needed to make changes), issue (via your / connection): and try logging in again.

{{Note|If you are performing an install over WiFi, and have temporarily lost your connection when was started up (above), you can issue the above two commands at a root terminal opened directly on the machine from within GNOME.}}

Second, if that was not the problem, and if you have multiple graphics cards (or a 'hybrid graphics' system) installed in your target PC, then note that the time of writing, does not officially support this configuration (and so GNOME will fall back to X11 mode if it is detected). You can override this default, by appending  to the file. Do so now, then reboot, and try logging in again. (Warning: this setting may cause system instability, so don't set it unless you know you have a problem.)

If neither of those suggestions solved your startup problem, then unfortunately it appears that (for some currently unknown reason) you cannot use GNOME with  on your machine. You can try posting a question in the Gentoo forums for help (including in Dantrell's official support thread). In the meantime, proceed with the rest of the tutorial, using GNOME under X11 rather than (your desktop will still be fully functional, just somewhat less secure).

<span id="gnome_wayland_running_ok">Now, and before our final reboot (at which point, we will no longer require the helper PC, but will be using the target machine natively), there are three additional tasks we need to carry out:
 * 1) ensuring that network settings are correct;
 * 2) setting up keyboard settings are correct within GNOME (if required); and
 * 3) ensuring that our the system remembers our volume preferences between reboots.

<span id="gnome_network_settings">GNOME Network Settings
You should now make sure that your network settings are correct under GNOME. Any wired connection will most likely have been picked up fine, but if you have been installing using WiFi, you'll need to select an access point, and enter your wireless passphrase, to regain network connectivity.

To do that, simply click on the 'downwards pointing triangle' in very top right of the screen. This will show a drop-down menu, from which you can turn on WiFi, and select an access point (you'll be prompted for the passphrase). (Alternatively, you can press the, then type "" (and press ), then click on the item titled 'Network' in the panel that appears.) It's a fairly self-explanatory interface, but if you need assistance, simply press.

Once you have the network set up, you should be able to browse the web etc. Try this now: directly at the target machine's keyboard, press the and type 'Web', then press  to start the first item shown. GNOME's default web browser will start up (if it initially opens full-screen, you can drag it down by the top bar to make it a normal-sized window). You can then type in a URL etc.:

<span id="gnome_keyboard_settings">GNOME Keyboard Settings
If you have a non-US keyboard (as in the case of the Panasonic CF-AX3), you will need to set this in GNOME. Press the, then type "" (and press ) and click on the item in the list. This opens a control panel. Make sure the 'Language' and 'Formats' in the top pane are correct for your locale. Then, add the appropriate 'input source' in the bottom pane. Click on the 'plus' sign icon, and an "Add an Input Source" panel will appear. Click on the tile showing three stacked dots, and drag the panel slightly larger vertically (as otherwise the output will be hidden). You should now be able to click on the 'Other' tile that appears, and then select the required source from the full list, and then click on 'Add' (in my case, I actually added three: "English (UK)" (for my plug-in keyboard), "Japanese" for the machine's built-in keyboard, and "Japanese (Anthy)" for kanji and kana input - obviously, your requirements will probably differ). When done, close out the "" dialog.

Once an item <span id="input_source_menu">has been added, it can be activated via a drop down in the top bar of the screen. In the case of the CF-AX3, you'd want to select 'Japanese' from this list, so that the keyboard mapping is correct (even if you are typing everything in English!) Be sure to check this, if you have problems having your password accepted at the GNOME login screen.

<span id="gnome_volume_control">GNOME Volume Control
You may find that although you can set sound levels using the 'speaker icon' menu in the GNOME top bar, these settings are lost on a reboot (and sound is muted each time). If this occurs on your system (it affects the CF-AX3), take the following steps. First, emerge (you can do this via the / terminal on the helper PC):

Once that completes, set the volume levels as you like them, then issue:

The settings should now be preserved across a reboot.

<span id="restart_to_gnome">Restarting into GNOME!
We are now ready to bid farewell to the services of the helper PC, as all further steps can now be done on the target machine directly. Close out the / terminal. Issue:

which will close the first terminal, then:

to close the second one, then:

which will close out the session itself.

Now, ensure that the USB boot key is inserted in the target PC, and reboot it, by clicking on GNOME's 'power' icon (in the top right of the screen), clicking on the 'power' button in the dropdown menu that then appears, and then clicking on the 'Restart' button in the dialog.

The machine should then power cycle (you will be cleanly logged out of GNOME first). When the machine restarts, as before, you will need to enter your LUKS keyfile passphrase (the one you created earlier), directly at the target machine keyboard to unlock the LUKS partition. You should then be presented directly with a GNOME login page (as above). Directly at the target machine, click on your (regular) user name then, when prompted, type in the (regular user) password you set up earlier (ensure you have the correct keyboard settings, if relevant, as discussed above). GNOME should remember the session type you selected last time (e.g., ), and default to using that.

Once logged in to GNOME, bring up a web browser: directly at the target machine's keyboard, press the and type 'Web', then press  to start the first item shown. GNOME's default web browser will start up, (if it initially opens full-screen, you can drag it down by the top bar to make it a normal-sized window). You can then type in the URL for this tutorial ( https://wiki.gentoo.org/wiki/Sakaki%27s_EFI_Install_Guide/Setting_up_the_GNOME_3_Desktop_under_OpenRC#rejoin ), so that you can continue to follow it there.

Now, <span id="open_gnome_terminal">bring up a terminal window in GNOME. Press the again, and type 'terminal', then press. A standard-issue terminal window should open. As we have some final installation work to do, become root:

The password required here is the one you set up earlier in the tutorial (and have used when -ing in).

<span id="next_steps">Next Steps
Congratulations - if you have followed through to this stage, you have a basically functioning system! There is some final driver configuration left still to do, so let's address that now. Click here to go to the next chapter, "Final Configuration Steps under OpenRC".