Gentoo - Installation

Installer Gentoo facilement - Environnement de bureau (OpenRC)

Table des matières

logo_gentoo



Introduction




Vous aimez Gentoo et vous voulez installer une interface graphique ?

Voila, les manipulations à réaliser pour installer Xfce, MATE ou GNOME.

Mettre à jour d'abord Gentoo : mise-a-jour-de-gentoo

Cet article concerne une Gentoo avec OpenRC et non systemd. Pour Systemd https://www.linuxtricks.fr/wiki/installer-gentoo-facilement-environnement-de-bureau-systemd


Prérequis de l'environnement de bureau



Dans un premier temps, installer sur votre ordinateur Gentoo.

Pour l'installation, se référer à ce tuto : https://www.linuxtricks.fr/wiki/installer-gentoo-facilement-openrc


Sélection du "profile"



Pour éviter de remplir sans cesse le fichier /etc/portage/package.use on va basculer sur le profile desktop/

Pour afficher les profiles dispo :

Code BASH :
eselect profile list


Puis choisir le profile adéquat via :

Code BASH :
eselect profile set X


où X correspond au numéro de profil nommé :

default/linux/$ARCH/$VERSION/desktop


Pour GNOME en 2023 avec OpenRC, on sélectionnera :
Code TEXT :
  [6]   default/linux/amd64/17.1/desktop/gnome (stable)



Mise à jour du world



Une fois le profil sélectionné et le make.conf personnalisé, on peut faire une mise à jour du world avant de continuer :

Code BASH :
emerge -avuDN --with-bdeps=y @world


Cela permettra d'installer en plus d'autres logiciels grâce au profile précédemment sélectionné !

Il est possible d'avoir une erreur de dépendance circulaires de ce type :
Code TEXT :
 * Error: circular dependencies:
(media-libs/libsndfile-1.2.0:0/0::gentoo, ebuild scheduled for merge) depends on
 (media-sound/mpg123-1.31.3:0/0::gentoo, ebuild scheduled for merge) (buildtime_slot_op)
  (media-sound/pulseaudio-16.1:0/0::gentoo, ebuild scheduled for merge) (buildtime)
   (media-libs/libpulse-16.1-r2:0/0::gentoo, ebuild scheduled for merge) (buildtime)
    (media-libs/libsndfile-1.2.0:0/0::gentoo, ebuild scheduled for merge) (buildtime)
It might be possible to break this cycle
by applying any of the following changes:
- media-libs/libsndfile-1.2.0 (Change USE: +minimal)
- media-sound/mpg123-1.31.3 (Change USE: -pulseaudio)


Dans ce cas, il suffit d'émerger media-libs/libsndfile avec le USE minimal juste avant (sans l'ajouter au world) :
Code BASH :
USE=minimal emerge -1 media-libs/libsndfile


Puis de relancer la mise à jour.



Vérifier les pilotes vidéo / clavier



Dans le fichier make.conf on vérifie que les infos sur les cartes vidéo et entrées sont bien là :

Code BASH :
nano -w /etc/portage/make.conf


Code BASH :
VIDEO_CARDS="fbdev vesa intel i915 nvidia nouveau radeon amdgpu radeonsi virtualbox vmware" #Cartes graphiques, choisir les cartes adéquats. Garder fbdev (framebuffer) et vesa (générique)
INPUT_DEVICES="libinput synaptics keyboard mouse evdev joystick wacom" # Périphériques d'entrées utilisés (clavier souris + si affinités)


Pour la vidéo dans le noyau, vérifier que le support est actif (exemple nvidia ou AMD GPU) :

Code BASH :
Device Drivers --->
   Graphics support --->
      <*>  Nouveau (nVidia) cards
      <*> AMD GPU


Et pareil pour le clavier :

Code BASH :
Device Drivers --->
  Input device support --->
  <*>  Event interface


Accélération vidéo VAAPI



Il est possible d'activer l'accélération vidéo avec VAAPI.

Il suffit d'activer le USE global vaapi :

Code BASH :
euse -E vaapi



Installer le serveur X



Dans un premier temps, on installe le serveur X :

Code BASH :
emerge -av x11-base/xorg-server x11-base/xorg-drivers


On peut aussi installer des polices d'écriture supplémentaires. J'aime bien les fonts de Google : noto (avec en bonus le support des emoji) et droid :

Code BASH :
emerge -av media-fonts/droid media-fonts/noto media-fonts/noto-emoji



Installer le son avec ALSA



Avec l'environnement de bureau, il peut être utile d'avoir du son !

Vérifier que le son et le matériel est bien activé dans le noyau :

Code TEXT :
Device Drivers --->
    <*> Sound card support
        <*> Advanced Linux Sound Architecture --->
            [*] PCI sound devices  --->
                Select the driver for your audio controller.
            HD-Audio  --->
                Select a codec or enable all and let the generic parse choose the right one:
                [*] Build Realtek HD-audio codec support
                [*] ...
                [*] Build Silicon Labs 3054 HD-modem codec support
                [*] Enable generic HD-audio codec parser
            [*] Dynamic device file minor numbers
            (32) Max number of sound cards
General setup --->
    [*] System V IPC


Ensuite, on active le USE alsa :

Code BASH :
euse -E alsa


On installe alsa :

Code BASH :
emerge -av media-libs/alsa-lib media-sound/alsa-utils


On ajoute ses utilisateurs au groupe audio :

Code BASH :
gpasswd -a USER audio


Puis on ajoute le service de son au démarrage :

Code BASH :
rc-update add alsasound boot



Utiliser NetworkManager (facultatif)



Si on veut utiliser NetworkManager (pratique pour du Wi-Fi), on va activer de manière globale le USE networkmanager.

Code BASH :
euse -E networkmanager


On verra plus tard comment le paramétrer.


Serveur de son



On va activer de manière globale le USE pulseaudio.

Pour cela, on modifie le fichier make.conf en ajoutant pulseaudio à la ligne USE.

Ou bien on active le USE avec la commande euse (gentoolkit requis)

Code BASH :
euse -E pulseaudio


Nous aurons besoin dans tous les cas d'ALSA Plugins :

Code BASH :
emerge -av media-plugins/alsa-plugins


Il faut ajouter l'utilisateur dans le groupe audio :

Code BASH :
gpasswd -a USER audio


A ce stade, PulseAudio sera installé par défaut et fonctionnel.

Et voilà, plus d'infos sur https://wiki.gentoo.org/wiki/PulseAudio


Utiliser Pipewire (Facultatif)



Si sous Gentoo vous souhaitez utiliser Pipewire, désactivez le USE daemon pour pulseaudio, et activez le USE sound-server de Pipewire en ajoutant ceci dans votre package.use :

Code BASH :
media-video/pipewire sound-server
media-sound/pulseaudio -daemon


Réémergez le world :
Code BASH :
emerge -avuDN @world


Avec OpenRC, celui-ci sera lancé par l'environnement de bureau via /usr/bin/gentoo-pipewire-launcher qui se chargera de :
- Lancer le serveur PipeWire
- Lancer WirePlumber
- Lancer pipewire-pulse pour la compatibilité pulseaudio

Plus d'infos sur https://wiki.gentoo.org/wiki/PipeWire


Clavier Français



Pour bénéficier du clavier français, il faut créer un fichier de configuration pour xorg : keyboard.conf

Code BASH :
mkdir /etc/X11/xorg.conf.d

Code BASH :
nano -w /etc/X11/xorg.conf.d/10-keyboard.conf


Y placer ceci dedans :

Code BASH :
Section "InputClass"
    Identifier "keyboard"
    Option "XkbLayout" "fr"
    Option "XkbVariant" "oss"
    Option "XkbOptions" "compose:menu"
    MatchIsKeyboard "on"
EndSection



Installer le gestionnaire de connexion



Lightdm pour les environnements de bureaux



Pour le gestionnaire de connexion, j'installe lightdm, car il est léger. Il ne faut pas oublier son "greeter" GTK :

Code BASH :
emerge -avq lightdm-gtk-greeter


Une fois tout installé, il faut indiquer qu'on souhaite utiliser lightdm-gtk-greeter comme gestionnaire de connexion.

Éditer le fichier /etc/conf.d/display-manager

Code BASH :
nano -w /etc/conf.d/display-manager


Indiquer lightdm comme DISPLAYMANAGER

Code BASH :
DISPLAYMANAGER="lightdm"


On ajoute le service au démarrage :

Code BASH :
rc-update add display-manager default


On ajoute aussi dbus :

Code BASH :
rc-update add dbus default


Si on démarre lightdm, on aura ça :

Code BASH :
/etc/init.d/display-manager start


gentoo_lxde_1




gdm pour GNOME



Pour le gestionnaire de connexion avec un bureau GNOME, on va utiliser gdm, car il permettra de bénéficier de tous les avantages de GNOME.

Code BASH :
emerge -av gnome-base/gdm


Une fois tout installé, il faut indiquer qu'on souhaite utiliser gdm comme gestionnaire de connexion.

Éditer le fichier /etc/conf.d/display-manager

Code BASH :
nano -w /etc/conf.d/display-manager


Indiquer gdm comme DISPLAYMANAGER

Code BASH :
DISPLAYMANAGER="gdm"


On ajoute le service au démarrage :

Code BASH :
rc-update add display-manager default


On ajoute aussi dbus :

Code BASH :
rc-update add dbus default


Si on utilise OpenRC, la disposition française n'est pas appliquée pour GDM.
L'astuce consiste à simplement renommer le fichier 10-keyboard.conf en 30-keyboard.conf

Code BASH :
mv /etc/X11/xorg.conf.d/10-keyboard.conf /etc/X11/xorg.conf.d/30-keyboard.conf


Installer l'environnement de bureau



MATE



Pour installer MATE, on va installer le paquet mate.

Code BASH :
emerge -av mate


Il se peut qu'il y ait des petits réglages à faire au niveau des USE

Il faut prévoir d'avoir assez de RAM (au moins 3Go en 64bits) pour la compilation des librairies gtk.

Xfce



Pour installer Xfce, on va installer le paquet xfce4-meta.

Code BASH :
emerge -av xfce4-meta


Il faut prévoir d'avoir assez de RAM (au moins 3Go en 64bits) pour la compilation des librairies gtk.

GNOME



Pour installer GNOME, il y a plusieurs solutions :

Soit on veut un environnement complet et on installe le métapaquet gnome

Code BASH :
emerge -av gnome


Soit on veut une base un peu plus lègère et on installe gnome-light :

Code BASH :
emerge -av gnome-light


Et on pourra compléter avec gnome-core-apps (ou chaque logiciel installé manuellement) !

Pour bénéficier des extensions fournies par défaut dans gnome, on pourra aussi installer gnome-extra/gnome-shell-extensions. Les extensions disponibles dans les dépôts sont nommées gnome-extra/gnome-shell-extension-NOMDELEXTENSION.

Il faut prévoir d'avoir assez de RAM (au moins 4Go en 64bits) pour la compilation des librairies gtk.


Finaliser la configuration



NetworkManager



Si on a utilisé le USE networkmanager, installer manuellement NetworkManager :

Code BASH :
emerge -av net-misc/networkmanager


Puis sur les environnements de bureau (MATE, Xfce) il peut être utile d'installer l'applet :

Code BASH :
emerge -a  gnome-extra/nm-applet


Si on veut autoriser l'utilisateur à gérer les connexions réseau on ajoute l'utilisateur au groupe plugdev :

Code BASH :
gpasswd -a USER plugdev


On supprime le service dhcpcd qu'on avait activé :

Code BASH :
rc-update del dhcpcd default


Et on ajoute NetworkManager :

Code BASH :
rc-update add NetworkManager default


Et on le démarre

Code BASH :
/etc/init.d/NetworkManager start


Si NetworkManager est compilé avec le USE dhclient, on peut spécifier dans /etc/dhcp/dhclient.conf le nom d'hôte à envoyer au DHCP :

Code BASH :
nano -w /etc/dhcp/dhclient.conf


Code TEXT :
send host-name "gentoo";


Plus d'infos ici : https://wiki.gentoo.org/wiki/NetworkManager

PulseAudio



On peut installer des logiciels additionnels comme pavucontrol :

Code BASH :
emerge -av pavucontrol



elogind



Ne pas oublier d'activer elogind au boot :

Code BASH :
rc-update add elogind boot


Et voilà c'est terminé !
Cette page a été vue 47431 fois