Xorg supporte les cartes graphiques, les claviers et les périphériques de pointage les plus courants.
Les cartes graphiques, moniteurs et périphériques
d'entrée sont détectés automatiquement. Ne créez pas de
fichier xorg.conf
ou n'utilisez pas
l'option -configure
en dehors d'un échec de
la configuration automatique.
Si Xorg a déjà été utilisé sur cet ordinateur avant, déplacez ou supprimez les fichiers existants:
#
mv /etc/X11/xorg.conf ~/xorg.conf.etc
#
mv /usr/local/etc/X11/xorg.conf ~/xorg.conf.localetc
Ajouter au groupe video
ou
wheel
l'utilisateur qui exécutera
Xorg pour activer
l'accélération 3D quand elle est disponible. Pour ajouter
l'utilisateur jru
aux groupes
disponibles:
#
pw groupmod video -m
jru
|| pw groupmod wheel -mjru
Le gestionnaire de fenêtres twm est inclu par défaut. Il est lancé quand Xorg démarre:
%
startx
Sur certaines anciennes versions de FreeBSD, la console système doit être configurée en vt(4) avant que le retour à la console texte puisse correctement fonctionner. Consultez Section 5.4.3, « Kernel Mode Setting (KMS) ».
L'accès à /dev/dri
est nécessaire
pour autoriser l'accélération 3D sur les cartes graphiques.
Il est en général plus simple d'ajouter l'utilisateur qui
exécutera X soit au groupe video
soit au
groupe wheel
. Ici, pw(8) est utilisé
pour ajouter l'utilisateur slurms
au groupe video
, ou au groupe
wheel
s'il n'y a pas de groupe
video
:
#
pw groupmod video -m
slurms
|| pw groupmod wheel -mslurms
Quand l'ordinateur bascule de l'affichage sur la console vers une définition d'écran plus haute pour X, il doit fixer le mode de sortie graphique. Les versions récentes de Xorg utilisent un système présent dans le noyau pour effectuer ces changements de manière la plus efficace. Les anciennes versions de FreeBSD utilisent sc(4) qui n'a pas connaissance du système KMS. La conséquence est qu'après avoir fermé X, l'affichage de la console système sera vide même si elle reste fonctionnelle. La nouvelle console vt(4) évite ce problème.
Ajoutez la ligne suivante au fichier
/boot/loader.conf
pour activer
vt(4):
kern.vty=vt
Une configuration manuelle n'est généralement pas nécessaire. Ne créez pas de fichiers de configuration à la main à moins que la configuration automatique ne fonctionne pas.
Xorg recherche ses fichiers
de configuration dans plusieurs répertoires.
/usr/local/etc/X11/
est le répertoire
recommandé pour ces fichiers sous FreeBSD. L'utilisation de ce
répertoire permet de conserver une séparation entre les
fichiers des applications et ceux du système
d'exploitation.
Stocker les fichiers de configuration dans le répertoire
/etc/X11/
originel fonctionne toujours.
Cependant, cela a pour conséquence de mélanger des fichiers
concernant des applications avec ceux du système de base
FreeBSD et n'est pas recommandé.
Il est plus simple d'utiliser plusieurs fichiers qui
chacun individuellement s'occupe de la configuration d'un
paramètre précis plutôt qu'un seul fichier
xorg.conf
traditionnel. Ces fichiers
sont stockés dans le sous-répertoire
xorg.conf.d/
du répertoire principal de
configuration. Son chemin d'accès complet est en général
/usr/local/etc/X11/xorg.conf.d/
.
Des exemples de ces fichiers sont présentés plus bas dans cette section.
Le fichier unique traditionnel
xorg.conf
fonctionne toujours mais
n'est ni clair ni aussi flexible que plusieurs fichiers dans
le sous-répertoire xorg.conf.d/
.
En raison de changements effectués dans les versions récentes de FreeBSD, il est désormais possible d'utiliser les pilotes de périphériques graphiques proposés dans le catalogue des logiciels portés ou sous forme pré-compilé. Par conséquent, les utilisateurs peuvent utiliser un des pilotes disponibles à partir du logiciel graphics/drm-kmod.
L'accélération 2D et 3D sont supportées par la plupart des cartes graphiques Intel KMS driver en provenance d'Intel.
Nom du pilote: i915kms
L'accélération 2D et 3D sont supportées par la plupart des anciennes cartes graphiques Radeon KMS driver en provenance d'AMD.
Nom du pilote: radeonkms
L'accélération 2D et 3D sont supportées par la plupart des nouvelles cartes graphiques AMD KMS driver en provenance d'AMD.
Nom du pilote: amdgpu
Pour information, veuillez consulter https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units ou https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units pour une liste des GPUs supportés.
L'accélération 3D est supportée sur la plupart des cartes graphiques Intel® jusqu'au Ivy Bridge (HD Graphics 2500, 4000, et P4000), y compris Iron Lake (HD Graphics) et Sandy Bridge (HD Graphics 2000).
Nom du pilote: intel
Pour information, consultez https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units.
L'accélération 2D et 3D sont supportées par les cartes Radeon jusqu'à la série HD6000 comprise.
Nom du pilote: radeon
Pour information, consultez https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units.
Plusieurs pilotes NVIDIA sont disponibles dans la
catégorie x11
du catalogue des
logiciels portés. Installez le pilote correspondant à
la carte graphique.
Pour information, consultez https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units.
Certains ordinateurs portables ont un processeur graphique supplémentaire en plus de celui intégré dans le chipset ou le microprocesseur. Le système Optimus combine du matériel Intel® et NVIDIA. Les systèmes graphiques sélectionnables ou systèmes graphiques hybrides sont la combinaison d'un processeur Intel® ou AMD® et d'un GPU AMD® Radeon.
L'implémentation de ces systèmes graphiques hybrides varie, et Xorg sous FreeBSD n'est pas en mesure de faire fonctionner toutes les versions.
Certains ordinateurs fournissent une option du BIOS pour désactiver une de ces cartes graphiques ou pour sélectionner un mode discret qui peut être utilisé avec un des pilotes graphiques standard. Par exemple, il est parfois possible de désactiver le GPU NVIDIA dans un système Optimus. La partie graphique Intel® peut alors être utilisée avec un pilote Intel®.
Les paramètres du BIOS dépendent
du modèle d'ordinateur. Dans certaines situations, les
deux GPU peuvent être laissés actifs,
mais la création d'un fichier de configuration utilisant
seulement le GPU principal dans la
partie Device
est suffisant pour
qu'un tel système fonctionne.
Les pilotes pour les cartes graphiques moins
courantes peuvent être trouvés dans la catégorie
x11-drivers
du catalogue des
logiciels portés.
Les cartes qui ne sont pas supportées par un pilote précis pourront toujours être utilisables avec le pilote x11-drivers/xf86-video-vesa. Ce pilote est installé par x11/xorg. Il peut également être installé manuellement en tant que x11-drivers/xf86-video-vesa. Xorg tente d'utiliser ce pilote quand un pilote spécifique à la carte graphique n'est pas trouvé.
x11-drivers/xf86-video-scfb est un pilote graphique non-spécifique qui fonctionne sur de nombreux ordinateurs UEFI et ARM®.
Pour configurer le pilote Intel® dans un fichier de configuration:
/usr/local/etc/X11/xorg.conf.d/driver-intel.conf
Section "Device" Identifier "Card0" Driver "intel" # BusID "PCI:1:0:0" EndSection
Si plus d'une carte graphique est présente,
l'identifant BusID
peut être
décommenté et paramétré pour sélectionné la carte
désirée. Une liste des IDs des
cartes graphiques peut être obtenu avec
pciconf -lv | grep -B3
display
.
Pour configurer le pilote Radeon dans un fichier de configuration:
/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf
Section "Device" Identifier "Card0" Driver "radeon" EndSection
Pour configurer le pilote VESA dans un fichier de configuration:
/usr/local/etc/X11/xorg.conf.d/driver-vesa.conf
Section "Device" Identifier "Card0" Driver "vesa" EndSection
Pour configurer le pilote scfb
pour une utilisation avec un ordinateur
UEFI ou ARM®:
scfb
à l'aide d'un fichier/usr/local/etc/X11/xorg.conf.d/driver-scfb.conf
Section "Device" Identifier "Card0" Driver "scfb" EndSection
Presque tous les moniteus supportent la norme Extended Display Identification Data (EDID). Xorg utilise EDID pour communiquer avec le moniteur et détecter les définitions et les taux de rafraichissement supportés. Ensuite, il sélectionne la combinaison de paramètres la plus adaptée pour le moniteur.
Les autres définitions supportées par le moniteur peuvent être sélectionnées en indiquant celle désirée dans les fichiers de configuration, ou à l'aide de xrandr(1) après avoir lancé le serveur X.
Exécutez xrandr(1) sans aucun paramètre pour voir la liste des sorties vidéos et des modes détectés du moniteur:
%
xrandr
Screen 0: minimum 320 x 200, current 3000 x 1920, maximum 8192 x 8192 DVI-0 connected primary 1920x1200+1080+0 (normal left inverted right x axis y axis) 495mm x 310mm 1920x1200 59.95*+ 1600x1200 60.00 1280x1024 85.02 75.02 60.02 1280x960 60.00 1152x864 75.00 1024x768 85.00 75.08 70.07 60.00 832x624 74.55 800x600 75.00 60.32 640x480 75.00 60.00 720x400 70.08 DisplayPort-0 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis)
Ceci montre que la sortie DVI-0
est utilisée actuellement pour afficher une définition
d'écran de 1920x1200 pixels à une fréquence de
rafraichissement d'environ 60 Hz. Il n'y a pas de
moniteur branché aux connecteurs
DisplayPort-0
et
HDMI-0
.
N'importe quel autre mode d'affichage peut être choisi avec xrandr(1). Par exemple, pour basculer sur 1280x1024 à 60 Hz:
%
xrandr --mode 1280x1024 --rate 60
Une opération courante est d'utiliser une sortie vidéo externe sur un ordinateur portable pour un vidéo-projecteur.
Le type et le nombre de connecteurs de sortie
varient en fonction des systèmes, et le nom donné à
chaque sortie varie d'un pilote graphique à l'autre. Ce
qu'un pilote appelle HDMI-1
, un autre
l'appellera HDMI1
. Aussi la première
chose à faire est de lancer xrandr(1) pour lister
toutes les sorties disponibles.
%
xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm 1366x768 60.04*+ 1024x768 60.00 800x600 60.32 56.25 640x480 59.94 VGA1 connected (normal left inverted right x axis y axis) 1280x1024 60.02 + 75.02 1280x960 60.00 1152x864 75.00 1024x768 75.08 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 640x480 75.00 72.81 66.67 60.00 720x400 70.08 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis)
Quatre sorties ont été trouvées: l'écran intégré
LVDS1
, et les connecteurs externes
VGA1
, HDMI1
, et
DP1
.
Le projecteur a été connecté à la sortie
VGA1
. xrandr(1) est maintenant
utilisé pour régler cette sortie sur la définition
native de ce vidéo-projecteur et pour ajouter l'espace
d'affichage supplémentaire à droite du bureau:
%
xrandr --output VGA1 --auto --right-of LVDS1
Le paramètre --auto
sélectionne la
définition et le taux de rafraichissement détecté par
EDID. Si la définition n'est pas
correctement détectée, une valeur définie peut être donnée
avec le paramètre --mode
à la place
de --auto
. Par exemple, la plupart
des vidéo-projecteurs acceptent une définition de
1024x768 qui est réglée avec --mode
1024x768
.
xrandr(1) est souvent exécuté à partir de
.xinitrc
pour régler le mode adapté quand X est lancé.
Pour configurer la définition de l'écran à 1024x768 dans un fichier de configuration:
/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf
Section "Screen" Identifier "Screen0" Device "Card0" SubSection "Display" Modes "1024x768" EndSubSection EndSection
Les quelques moniteurs ne supportant pas
l'EDID peuvent être configurés en
paramétrant HorizSync
et
VertRefresh
avec les plages de
fréquences supportées par le moniteur.
/usr/local/etc/X11/xorg.conf.d/monitor0-freq.conf
Section "Monitor" Identifier "Monitor0" HorizSync 30-83 # kHz VertRefresh 50-76 # Hz EndSection
L'emplacement normalisé des touches d'un clavier est appelé disposition (layout). Les dispositions et d'autres paramètres réglables sont listés dans la page de manuel xkeyboard-config(7).
Une disposition des touches américaine est celle
utilisée par défaut. Pour sélectionner une
disposition différente, configurez les options
XkbLayout
et
XkbVariant
dans une section
InputClass
. Cette configuration
sera appliquée à tous les périphériques d'entrée qui
correspondent à cette classe.
Cet exemple sélectionne une disposition de touches française.
/usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
Section "InputClass" Identifier "KeyboardDefaults" MatchIsKeyboard "on" Option "XkbLayout" "fr" EndSection
Configuration des dispositions américaine, espagnole et ukrainienne. Le passage de l'une à l'autre de ces dispositions se fait en appuyant sur Alt+Shift. x11/xxkb ou x11/sbxkb peuvent être utilisés pour un contrôle de la sélection de la disposition des touches amélioré et pour avoir des indicateurs de la disposition en cours d'utilisation.
/usr/local/etc/X11/xorg.conf.d/kbd-layout-multi.conf
Section "InputClass" Identifier "All Keyboards" MatchIsKeyboard "yes" Option "XkbLayout" "us, es, ua" EndSection
X peut être fermé à partir d'une combinaison de
touches. Par défaut, cette combinaison n'est pas
définie car elle entre en conflit avec les commandes
passées au clavier pour certaines applications.
L'activation de cette option nécessite d'effectuer des
modifications à la section
InputDevice
du clavier:
/usr/local/etc/X11/xorg.conf.d/keyboard-zap.conf
Section "InputClass" Identifier "KeyboardDefaults" MatchIsKeyboard "on" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
Si vous utilisez xorg-server 1.20.8
ou les versions suivantes sous FreeBSD 12.1
et que vous n'utilisez pas moused(8), ajoutez la
ligne kern.evdev.rcpt_mask=12
au
fichier /etc/sysctl.conf
.
Plusieurs paramètres de la souris peuvent être réglés avec les options de configuration. Consultez la page de manuel mousedrv(4) pour une liste complète.
Le nombre de boutons d'une souris peut être
configuré dans la section
InputDevice
du fichier
xorg.conf
. Pour fixer le nombre
de boutons à 7:
/usr/local/etc/X11/xorg.conf.d/mouse0-buttons.conf
Section "InputDevice" Identifier "Mouse0" Option "Buttons" "7" EndSection
Dans certains cas, la configuration automatique d'Xorg ne fonctionne pas avec un matériel spécifique, ou une configuration différente est recherchée. Pour ces cas, un fichier de configuration personnalisé peut être créé.
Ne créez pas de fichiers de configuration à la main à moins que cela ne soit nécessaire. Une configuration inadaptée peut empêcher un fonctionnement correct.
Un fichier de configuration basé sur le matériel détecté peut être généré par Xorg. Ce fichier est un point de départ utile pour une configuration personnalisée.
Génération d'un fichier
xorg.conf
:
#
Xorg -configure
Le fichier de configuration est enregistré sous
/root/xorg.conf.new
.
Effectuez les modifications désirées, puis tester ce fichier
(avec l'option -retro
de manière à avoir un
fond d'écran visible) avec:
#
Xorg -retro -config /root/xorg.conf.new
Une fois que la nouvelle configuration a été ajustée et testée,
elle peut être divisée en plus petits fichiers dans les
emplacements habituels,
/usr/local/etc/X11/xorg.conf.d/
.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.