Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/09/2015, à 12:21

Graselsukr

Comment écrire script pour deux sorties écran avec xrandr

Bonjour,

J'ai un portable Asus équipé de la technologie Optimus avec une carte graphique intégrée Intel et une carte graphique dédiée Nvidia GeForce 850M.

Pour passer d'une carte graphique Intel à la carte graphique Nvidia j'ai installé Prime qui fonctionne bien. Par ailleurs le pilote propriétaire donne de bons résultats.

Voilà le problème : lorsque je suis sur la carte Intel, pour ajuster les réglages couleurs écran  j'ai crée un petit scripts bash à l'aide des commandes [bold]xgamma[/bold] et [bold]xbacklight[/bold], exécutable au démarrage. Ce script s'exécute correctement.

Or quand je switche sur la carte graphique Nvidia ce script n'opère plus et impossible d'effectuer des réglages couleurs via le panneau [boldNvidia Settings][/bold] qui ne comporte aucune rubrique [bold]Xserver color correction[/bold] permettant notamment de régler luminosité, contraste et gamma.

Après des recherches sur le Web, le site de Nvidia indique qu'en l'absence de réglages colorimétriques dans le panneau Nvidia Settings il faut faire ces réglages par le biai de [bold]xrandr[/bold].

Mais selon que je suis connecté à Intel ou Nvidia la sortie écran n'est pas la même :

- Pour la carte Intel la commande xrandr me renvoie :

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm

- Pour la carte Nvidia j'obtiens ceci :

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
eDP-1-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm

Je n'ai relevé de ces commandes que ces informations, les autres n'ayant pas d'importance.  Donc pour résoudre ce problème et retrouver des réglages de couleurs je souhaite intégrer un nouveau script-bash qui devra s'appliquer au démarrage en tenant compte de l'écran connecté selon la carte graphique en action. Voici le script que j'ai écrit en m'inspirant d'un autre :

#!/bin/bash

cgi="eDP1"       # ecran avec carte Intel
cgn="eDP-1-0"  # ecran avec carte Nvidia

if [ "cgi" = "" ]
then
	xrandr --output $cgi --gamma 0.6:0.6:0.6 --xbacklight -dec 50

elif [ "cgn" = "" ]
then
	xrandr --output $cgn --gamma 0.6:0.6:0.6 --xbacklight -dec 50
fi

N'ayant pas de connaissances poussées en programmation bash, sauf pour faire des petits scrips, est-ce que quelqu'un pourrait me donner son avis et éventuellement corriger mes erreurs. Merci d'avance pour votre aide.

Hors ligne