dimanche 20 avril 2008
Multi écran avec Ubuntu Hardy
Par Puyb, dimanche 20 avril 2008 à 15:44 :: General
J'ai essayé de faire fonctionner le multi-écran sur mon portable IBM T30 et sur un autre PC. J'ai eu quelques difficultés sur les deux. Voici mes observations :
Ces deux machines sont toutes les deux équipées d'une puce graphique un peu ancienne. Le T30 à une vénérable radeon 7500 généreusement dotée de 16Mo de RAM. L'autre PC était équipé d'une radeon 9200. Ces deux machines utilisent le driver 'ati' de Xorg.
De nos jours, pour faire du multi-écran avec une seule carte vidéo, on n'utilise plus Xinerama (tant mieux, c'était un calvaire à configurer), mais l'extension XRandR (pour X Rotation and Resolution), qui était déjà utilisée pour changer la résolution de X11 sans devoir redémarrer le serveur. Normalement avec Ubuntu Hardy, un joli utilitaire (Système > Préférences > Résolution de l'écran) permet de configurer le double écrans facilement.
Parfait... Sauf que pour moi, il n'a pas fonctionné... Il détecté correctement mes deux écrans, je pouvais changer leur résolutions, les positionner l'un par rapport à l'autre, mais dès que je cliquait sur "appliquer", mes deux écrans semblaient comme superposés... Si je fermais, puis revenais dans l'utilitaire, il me montrait mes deux écrans superposés (donc cohérent avec mon affichage). Impossible de les séparer...
Après avoir cherché un peu du coté de XRandR, je me suis rendu compte, en tapant xrandr dans un terminal, que la résolution virtuelle de ma carte était bien trop faible... Mais qu'est ce que la résolution virtuelle ? Et bien, il faut considérer que les écrans sont une partie d'un grand écran virtuel. Pour que le double écran fonctionne, il faut que mes deux écran "entre" dans cet écran virtuel. Mes deux écrans, un 15" et et 17 " ont des résolutions de respectivement 1024x768 et 1280x1024. Ma résolution virtuelle était réglée à 2048x2048 (1024x1024 sur mon T30). Cette résolution virtuelle, sur sa largeur ne peut pas contenir mes deux écrans (2048 < 1024 + 1280)... Voilà pourquoi mes écrans restaient superposés...
Mais ce qui est bien avec Linux, c'est qu'un problème n'est bien souvent pas une fatalité. Il suffit de dire à Xorg quelle résolution virtuelle l'on souhaite utiliser. Pour cela, malheureusement, il faut mettre les mains dans le cambouis en éditant son fichier /etc/X11/xorg.conf (qui au passage, s'est dramatiquement vidé depuis le passage à Xorg 7.3) :
Alors, on est en droit de se demander pourquoi le réglage de Xorg est si faible par défaut. En fait, il semble que cette valeur par défaut soit laissée à la discrétion du pilote ('ati' dans mon cas). Si le driver met une valeur faible c'est qu'il semble par exemple que certaine cartes ne puissent plus afficher de 3D si une résolution virtuelle supérieure à 2048x2048 est utilisée. Il semble que j'ai effectivement perdu les fonctions d'accélération 3D sur mon T30... En même temps, la 3D sur une radeon 7500...
Voilà, amusez vous bien avec vos écrans multiples sous Linux ;-)
Ces deux machines sont toutes les deux équipées d'une puce graphique un peu ancienne. Le T30 à une vénérable radeon 7500 généreusement dotée de 16Mo de RAM. L'autre PC était équipé d'une radeon 9200. Ces deux machines utilisent le driver 'ati' de Xorg.
De nos jours, pour faire du multi-écran avec une seule carte vidéo, on n'utilise plus Xinerama (tant mieux, c'était un calvaire à configurer), mais l'extension XRandR (pour X Rotation and Resolution), qui était déjà utilisée pour changer la résolution de X11 sans devoir redémarrer le serveur. Normalement avec Ubuntu Hardy, un joli utilitaire (Système > Préférences > Résolution de l'écran) permet de configurer le double écrans facilement.Parfait... Sauf que pour moi, il n'a pas fonctionné... Il détecté correctement mes deux écrans, je pouvais changer leur résolutions, les positionner l'un par rapport à l'autre, mais dès que je cliquait sur "appliquer", mes deux écrans semblaient comme superposés... Si je fermais, puis revenais dans l'utilitaire, il me montrait mes deux écrans superposés (donc cohérent avec mon affichage). Impossible de les séparer...
Après avoir cherché un peu du coté de XRandR, je me suis rendu compte, en tapant xrandr dans un terminal, que la résolution virtuelle de ma carte était bien trop faible... Mais qu'est ce que la résolution virtuelle ? Et bien, il faut considérer que les écrans sont une partie d'un grand écran virtuel. Pour que le double écran fonctionne, il faut que mes deux écran "entre" dans cet écran virtuel. Mes deux écrans, un 15" et et 17 " ont des résolutions de respectivement 1024x768 et 1280x1024. Ma résolution virtuelle était réglée à 2048x2048 (1024x1024 sur mon T30). Cette résolution virtuelle, sur sa largeur ne peut pas contenir mes deux écrans (2048 < 1024 + 1280)... Voilà pourquoi mes écrans restaient superposés...
Mais ce qui est bien avec Linux, c'est qu'un problème n'est bien souvent pas une fatalité. Il suffit de dire à Xorg quelle résolution virtuelle l'on souhaite utiliser. Pour cela, malheureusement, il faut mettre les mains dans le cambouis en éditant son fichier /etc/X11/xorg.conf (qui au passage, s'est dramatiquement vidé depuis le passage à Xorg 7.3) :
... Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" Virtual 2304 1024 EndSubSection EndSection ...Je me suis limité à l'exact résolution dont j'avais besoin, car ma carte disposant de peu de RAM, je n'ai pas pu mettre beaucoup plus. Il m'a suffit de me déconnecter, puis de me reconnecter, et j'ai pu régler facilement mes résolutions via l'interface graphique...
Alors, on est en droit de se demander pourquoi le réglage de Xorg est si faible par défaut. En fait, il semble que cette valeur par défaut soit laissée à la discrétion du pilote ('ati' dans mon cas). Si le driver met une valeur faible c'est qu'il semble par exemple que certaine cartes ne puissent plus afficher de 3D si une résolution virtuelle supérieure à 2048x2048 est utilisée. Il semble que j'ai effectivement perdu les fonctions d'accélération 3D sur mon T30... En même temps, la 3D sur une radeon 7500...
Voilà, amusez vous bien avec vos écrans multiples sous Linux ;-)