Xrandr transform

Tags: #<Tag:0x00007f63f4056428> #<Tag:0x00007f63f4056040> #<Tag:0x00007f63f40557a8> #<Tag:0x00007f63f40551e0>

Salut,

J’aurais aimé corriger l’affichage trapézoïdale d’un videoprojecteur pas en face de l’écran, et j’ai lu sur le web que ça pouvait se faire avec xrandr:

xrandr --output <output> --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>

J’ai trouvé un outil pour calculer la matrice de transformation etc, mais mon problème est que la commande xrandr ne semble pas fonctionner sur ma machine, même dans le cas simple de mon écran principale :

$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
XWAYLAND2 connected 1366x768+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1366x768      59.80*+

Je teste avec la matrice identité (pas de transformation):

$ xrandr --output XWAYLAND2 --transform 1,0,0,0,1,0,0,0,1
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  26 (RRSetCrtcTransform)
  Value in failed request:  0x3c8
  Serial number of failed request:  21
  Current serial number in output stream:  22

Des idées sur ce problème ?

Pour info:

$ uname -a
Linux guri 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux

$ lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)

$ apt search xserver-xorg-video-intel 
xserver-xorg-video-intel/stable,now 2:2.99.917+git20180925-2 amd64  [installé]
  serveur X pour X.org – pilote d'affichage Intel i8xx et i9xx

Merci d’avance pour vos retours !!!

Bonjour,

Je ne suis pas calé du tout à ce sujet.
J’ai trouvé :

### 3.4.2. L’option transform
https://troumad.developpez.com/linux/serveurx/xrandr/#L3.4.2

C’est expliqué progressivement et avec des exemples de transformations en étirement à la fin.
Et en bonus : « 4. Une petite aide pour vidéo projecteur, un cas pratique »

BadValue (integer parameter out of range for operation)

Indique clairement une valeur hors limite (ou un bug)

Que donne :

$ xrandr --output XWAYLAND2 --transform none

suivi de ton essai avec la matrice identité ?

https://packages.debian.org/fr/buster/xserver-xorg-video-intel mentionne :

L’utilisation de ce pilote est déconseillée si la version de hw est récente (à partir de 2007, environ). Il est possible de désinstaller ce pilote et laisser le serveur utiliser à la place son pilote intégré modesetting.

Pour mes petites idées…

Test sur mon poste de travail (Gentoo / OpenRC / Xorg) :

rem@n73sm ~ $ uname -a
Linux n73sm 4.19.27-gentoo-r1 #2 SMP Mon Aug 19 00:38:41 CEST 2019 x86_64 Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz GenuineIntel GNU/Linux
rem@n73sm ~ $ xrandr --version
xrandr program version       1.5.1
Server reports RandR version 1.6
rem@n73sm ~ $ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
LVDS1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 380mm x 210mm
   1920x1080     60.02*+  59.93  
   1680x1050     59.88  
   1400x1050     59.98  
   1600x900      60.00    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1368x768      60.00    59.88    59.85  
   1280x800      59.81    59.91  
   1280x720      59.86    60.00    59.74  
   1024x768      60.00  
   1024x576      60.00    59.90    59.82  
   960x540       60.00    59.63    59.82  
   800x600       60.32    56.25  
   864x486       60.00    59.92    59.57  
   640x480       59.94  
   720x405       59.51    60.00    58.99  
   640x360       59.84    59.32    60.00  
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 1280mm x 720mm
   1920x1080     60.00*+  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1280x1024     60.02  
   1360x768      59.95  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       60.00    59.94  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
rem@n73sm ~ $ xrandr --output HDMI1 --transform 1,0,0,0,1,0,0,0,1
rem@n73sm ~ $

J’ai installé un environnement graphique Xfce sur mon micro-serveur sous Debian buster pour refaire la manipulation.

Je n’ai ni clavier ni souris de relié alors je procède avec une session ssh (d’où le DISPLAY=:0.0)

Je ne constate aucun problème avec la commande xrandr utilisant la matrice identité.

rem@n40l:~$ uname -a
Linux n40l 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
rem@n40l:~$ DISPLAY=:0.0 xrandr --version
xrandr program version       1.5.0
Server reports RandR version 1.5
rem@n40l:~$ DISPLAY=:0.0 xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024     60.02*+  75.02  
   1280x960      60.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
rem@n40l:~$ DISPLAY=:0.0 xrandr --output VGA-0 --transform 1,0,0,0,1,0,0,0,1
rem@n40l:~$ apt policy x11-xserver-utils
x11-xserver-utils:
  Installé : 7.7+8
  Candidat : 7.7+8
 Table de version :
 *** 7.7+8 800
        800 http://ftp2.fr.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
rem@n40l:~$ 

Conclusion :

xrandr ne fonctionnera PAS avec Wayland !
L’extension RandR est évidemment liée à X.Org
Exécutez l’environnement de bureau sur xorg, puis utilisez simplement xrandr.

Merci beaucoup pour ta réponse. Je n’avais pas du tout fait gaffe au fait que depuis Debian 10 j’avais Wayland par défaut sur ma machine… je regarde ce soir chez moi si je suis capable de faire tourner Gnome ou un autre environnement avec Xorg à la place. Encore merci !

1 J'aime

Bien en retard, mais j’ai effectivement pu vérifier que sous Xorg tout se passe mieux :wink:
Merci r2mi pour ton aide en tout cas.