Table des matières

Créer une résolution personnalisée

Avec Xrandr

Xrandr est un outil qui permet de gérer qu'est ce qui sort, sur quoi, à quelle résolution et par rapport à qui. C'est un configurateur d'affichage en ligne de commande. Il se peut que votre linux ne vous propose pas de résolution adaptée à votre écran. Probablement à cause d'un problème de pilote, ou de détection (matériel non/mal reconnu ?). Il existe donc une solution : créer une résolution personnalisée. Cette solution m'a déjà servi sur une vieille TV LCD branchée sur mon pc linux de salon… :)

Voici la méthode :

xrandr

Vous devriez voir un Screen 0, la sortie sur laquelle il est branché (probablement LVDS-1 s'il s'agit d'un pc portable), ainsi que toutes les autres disponibles (DP-1 DP-2 HDMI-1 et VGA-1 dans mon cas).

# On trouve les infos pour la création du mode correspondant à 1920x1080 60Hz (résolution supposée être la bonne donc)
cvt 1920 1080 60
 
# Ensuite on copie toute la ligne sans "Modeline" et on créer le mode avec :
xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
 
# On ajoute notre mode à la sortie qui nous intéresse (par exemple VGA-1 si l'écran en question est branché dessus)
xrandr --addmode VGA-1 1920x1080_60.00
 
# On active ensuite le mode crée sur la sortie
xrandr --output VGA-1 --mode 1920x1080_60.00
 
# On active ensuite le mode créé sur la sortie, comme ceci s'il s'agit de votre second écran, qui est à droite du 1er qui est branché sur HDMI-1
xrandr --output VGA-1 --mode 1920x1080_60.00 --right-of HDMI-1

Rendre la modification définitive

Cette technique a pour inconvénient de ne pas être persistente. Une fois redémarré, c'est comme avant. L'astuce pour la rendre définitive consiste à tout betement créer un script qui sera lancé au démarrage.

xrandr –newmode “1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync xrandr –addmode VGA-1 1920x1080_60.00 # Pour 1 seul écran xrandr –output VGA-1 –mode 1920x1080_60.00 # Pour le 2 eme écran (commenter la précédente ligne, et décommenter celle ci dessous) #xrandr –output VGA-1 –mode 1920x1080_60.00 –right-of HDMI-1 Attention : le script ci dessus contient tout bêtement les lignes de l'article précédent, prenez soin de les adapter en fonction de votre configuration.

Utiliser l'écran d'une autre machine comme un second écran, c'est possible :)

Sur linux, on a la possibilité d'utiliser l'écran d'une autre machine (ou plusieurs autres) en tant que second écran d'une autre. Sur la machine principale, normalement déjà doté de l'outil xrandr, on a juste besoin d'avoir un serveur vnc d'installé.

Machine principale

Installation du serveur VNC

Archlinux / Manjaro

yay -Sy x11vnc
sudo pacman -Sy x11vnc # si vous n'avez pas d'AUR Helper

Debian / Ubuntu / Mint

sudo apt install x11vnc

Création du 2nd écran virtuel

On admet que notre écran principal, et celui qu'on souhaite utiliser comme second écran, ont une résolution de 1920×1080.

xrandr

Vous devriez voir un Screen 0, la sortie sur laquelle il est branché (probablement LVDS-1 s'il s'agit d'un pc portable), ainsi que toutes les autres disponibles (DP-1 DP-2 HDMI-1 et VGA-1 dans mon cas).

# On trouve les infos pour la création du mode correspondant à 1920x1080 60Hz
cvt 1920 1080 60
 
# Ensuite on copie toute la ligne sans "Modeline" et on créer le mode avec :
xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
 
# On ajoute notre mode à la sortie qui nous intéresse (VGA-1 dans mon cas, car non utilisée)
xrandr --addmode VGA-1 1920x1080_60.00
 
# On active ensuite le mode créé sur la sortie, en précisant la position par rapport à l'écran principal
xrandr --output VGA-1 --mode 1920x1080_60.00 --right-of LVDS-1

Partage du 2nd écran avec VNC

x11vnc -clip ${X}x${Y}+${X_offset}+${Y_offset}
x11vnc -clip 1920x1080+1920+0

IP

Le client VNC de la seconde machine se connectera sur la machine principale grâce à son IP, il faut alors la récupérer.

ip -4 a

Machine secondaire

La seconde machine peut être n'importe quel type de machine. Une tablette, un smartphone, un PC. Pourvu qu'elle puisse exécuter un client VNC.

A partir de là, il suffit de se connecter à l'IP de la machine principale depuis la seconde.

Android

Je conseille l'utilisation de l'application androidVNC qui est disponible sur F-Droid.

Saisir l'ip dans “Adresse”, laisser le port par défaut (5900), choisir un format de couleur aussi (si le réseau est bon on peut utiliser le 24-bit, sinon baisser un peu) et appuyer sur Connecter.

Windows

Je conseille l'utilisation du client UltraVNC (libre et gratuit) disponible ici. On peut également utiliser le client non-libre et propriétaire, mais gratuit aussi, disponible ici.

Linux

Je conseille l'utilisation de tigervnc. La commande ci-dessous se connecte directement en plein écran sur l'écran partagé. On y voit que du feu :p

vncviewer -encodings "tight copyrect" -FullScreen=1 -QualityLevel=9 192.168.5.38

Il y a aussi Remmina qui dispose d'une interface graphique complète.

MacOS

[à compléter]

Résolution de problèmes

Configure crtc 0 failed

Je n'ai pas réussi à démêler ce problème. J'ai trouvé des infos ici, mais sans succès sur ma Manjaro live de test…

Source

BBS Archlinux