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

Prérequis de l'environnement de bureau



Pour ce tutoriel, il est nécessaire d'avoir déjà installé une Gentoo minimale avec OpenRC et non systemd.
Pour Systemd https://www.linuxtricks.fr/wiki/installer-gentoo-facilement-environnement-de-bureau-systemd

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

Sélection du "profile"



On va sélectionner un profil de type desktop pour avoir une préconfiguration d'un certain nombre de paramètres.

Pour afficher les profils disponibles :
Code BASH :
eselect profile list


Puis choisir le profil adéquat via :
Code BASH :
eselect profile set X


où X correspond au numéro de profil nommé :
default/linux/$ARCH/$VERSION/desktop


Pour un profil de base en 2024 avec OpenRC, on sélectionnera :
Code TEXT :
  [23]  default/linux/amd64/23.0/desktop (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 profil 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 :
#Cartes graphiques, choisir les cartes adéquats. Garder fbdev (framebuffer) et vesa (générique)
VIDEO_CARDS="fbdev vesa intel i915 nvidia nouveau radeon amdgpu radeonsi virtualbox vmware"
# Périphériques d'entrées utilisés (clavier souris + si affinités)
INPUT_DEVICES="libinput synaptics keyboard mouse evdev joystick wacom"


Pour la vidéo dans le noyau, vérifier que le support est actif (Exemples à choisir selon matériel) :
Code BASH :
Device Drivers --->
   Graphics support --->
      <*> Nouveau (NVIDIA) cards
      <*> AMD GPU
      <*> Intel 8xx/9xx/G3x/G4x/HD Graphics
      <*> QXL virtual GPU
      <*> Virtual Box Graphics Card
      <*> DRM driver for VMware Virtual 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 (https://wiki.gentoo.org/wiki/VAAPI) br />
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 les 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 :
Code BASH :
euse -E pulseaudio


On active le USE sound-server de Pipewire en ajoutant ceci dans votre package.use :
Code BASH :
echo "media-video/pipewire sound-server" >> /etc/portage/package.use/custom


On met à jour tout le système via :
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

On pourra installer sox, pour jouer en ligne de commande avec la commande play des sons pour tester :
Code BASH :
emerge -av media-sound/sox


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, on installe lightdm, car il est léger avec son "greeter" GTK :
Code BASH :
emerge -av x11-misc/lightdm-gtk-greeter


On va paramétrer lightdm-gtk-greeter comme gestionnaire de connexion.
On édite le fichier /etc/conf.d/display-manager :
Code BASH :
nano -w /etc/conf.d/display-manager


On indique 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


On va paramétrer gdm comme gestionnaire de connexion.

Éditer le fichier /etc/conf.d/display-manager :
Code BASH :
nano -w /etc/conf.d/display-manager


On indique 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 xfce-base/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-base/gnome


Soit on veut une base un peu plus lègère et on installe gnome-light :
Code BASH :
emerge -av gnome-base/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 52851 fois