Restreindre l'affichage à la moitié de l'écran

Bonjour,
La moitié droite de l’écran de mon portable (un VAIO VGN SR21M) rend l’âme. Les rayures verticales s’accentuent, la luminosité baisse. Cela fait plusieurs mois qu’il y a des problèmes d’affichage dans cette moitié d’écran, mais là cela devient inutilisable.
D’où l’idée de n’utiliser que la moitié gauche de l’écran. Y aurait-il un moyen pour, dès le boot ou après le démarrage, restreindre l’affichage à la moitié gauche de l’écran, c’est-à-dire que le bureau dans son intégralité n’utilise que cette moitié-là ?
C’est un peu original mais cela me suffira amplement.
En vous remerciant si vous avez des solutions.
vbonneau4.

Debian squeeze ; Sony Vaio VGN-SR21M.

Je sais que c’est possible sous KDE / Config / taille et orientation.

Ou alors avec l’outil xrandr. Je suis parvenu à réduire l’affiche à la moitié de mon écran, mais pas à le décaler sur un côté. Quelqu’un pourra peut-être compléter.

Lister les sorties et résolutions actuelles :

Pour ajouter la nouvelle résolution plus petite (remplacer 683 768 59.6 par largeur hauteur fréquence):

Ajout du mode pour la sortie LVDS1 (ça peut être VGA1 aussi)

Puis on met cet affichage en marche :

J’essaie xrandr (d’ici une semaine) et vous tiens au courant. Si quelqu’un à une solution pour n’utiliser que la moitié gauche (je n’ai pour l’instant pas pris le temps de lire le man de xrandr), merci de me l’indiquer.
Merci pour ces premières infos.
vbonneau4

[quote=“thuban”]Ou alors avec l’outil xrandr. Je suis parvenu à réduire l’affiche à la moitié de mon écran, mais pas à le décaler sur un côté. Quelqu’un pourra peut-être compléter.
[/quote]

Il y a une option de sortie qui peut peut-être le faire dans le man de xrandr : --pos xxy Positionne la sortie dans l'écran en utilisant des coordonnées de pixels. Dans le cas où une symétrie ou une rotation est appliquée, la translation est appliquée après cet effet.

oui je l’ai bien vue, mais n’ai pas réussi à en faire quoi que ce soit :confused:

J’ai plus simple :

$ xrandr --output DVI-0 --scale "0.5x1.0"

Cette commande affiche dans la moitié gauche de l’écran naturellement. S’il faut afficher sur la moitié droite je n’y arrive pas… (merci ce post !)

NB : le « DVI-0 » ne sort pas du chapeau, mais peut être trouvé en éxaminant la sortie de la commande xrandr sans argument. Voilà ce que ça donne chez moi.

$ xrandr Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 HDMI-0 disconnected (normal left inverted right x axis y axis) DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0*+ 50.0 1600x1200 60.0 1680x1050 60.0 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1152x864 75.0 1280x720 50.0 60.0 1024x768 75.1 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 72.8 75.0 66.7 60.0 720x400 70.1 960x1080_60.00 60.0 VGA-0 disconnected (normal left inverted right x axis y axis)

Infiniment mieux! :041

Moi non plus… Le résultat des dernières investigations en utilisant la matrice de transformation pour retrouver le même résultat que le --scale :

Avec les formules du man ça se comprend, alors vient l’idée de translater le tout de 960 pixels à droite en jouant sur le paramètre c :

[code]$ man xrand

–transform a,b,c,d,e,f,g,h,i

x’ = (ax + by + c) / w’ et
y’ = (dx + ey + f) / w’,
avec w’ = (gx + hy + i).

$ xrandr --output DVI-0 --transform 0.5,0,960,0,1,0,0,0,1[/code]
Mes observations :
— Avec 960 (1920÷2 pour un affichage 1920x1080), ça ne fonctionne pas.
— En remplaçant 960 par 10, 100 je n’observe pas de changement significatif en comparaison de 0.
— Avec 500 le bord droit se décale vers la droite sans bouger le bord gauche.

Mes conclusions :
Les formules de transfert ne semblent pas respectées… (dans les limites de mon activité cérébrale) c’est peut-être en lien avec le problème de --pos, qui doit jouer sur ces paramètres c et f. Après c’est possible qu’il y ait un truc que j’ai loupé.

$ xrandr --output DVI-0 --transform 0.5,0,0,0,1,0,0,0,1 --verbose crtc 0: disable screen 0: 960x1080 253x285 mm 96.25dpi crtc 0: 1920x1080 60.0 +0+0 "DVI-0" $ xrandr --output DVI-0 --transform 0.5,0,600,0,1,0,0,0,1 --verbose crtc 0: disable screen 0: 1560x1080 411x285 mm 96.25dpi crtc 0: 1920x1080 60.0 +0+0 "DVI-0"

Avec « --verbose », le paramètre c semble bien additionné à la résolution en sortie, plus qu’utilisé pour une translation.

@thuban : --pos ne fonctionnerait-il pas parce qu’il serait spécifique à la version 1.2 ? Peut-être que l’option --q12 pourrait le faire fonctionner…

J’abandonne là, ce rxrandr ça reste du vaudoo pour moi :
— ce n’est pas une simple transformation, sinon les caractères seraient écrasés horizontalement… Ça doit certainement mentir à X au sujet de la résolution de l’écran
— le code source est en C++ (http://eldalin.com/xrandr-source/) et semble utiliser des fonctions mathématiques de matrices…