Ubuntu : après une grosse mise à jour du système l'affichage repasse en 1280 !
Le problème est décrit dans le titre (màj vers 3.8.0-28-generic). Le problème est aussi connu qu'il est mal documenté: il y a une pléthore de forums, de blogs, mais ça n'est jamais la bonne version de l'OS, jamais exactemetn le même problème, on ne sait pas le niveau de ceux qui répondent...
Même le site officiel en anglais est confus : attention seuls les pilotes propriétaires utilisent encore /etc/X11/xorg.conf, le pilote par défaut ne l'utilise plus depuis 12.04 Precise pangolin. Il utilise quoi... mystère. Impossible de trouver l'info.
Le problème semble être qu'avec le pilote OpenSource l'écran n'est pas correctement détecté, du coup xrandr (voir ci-dessous) refuse d'appliquer une résolution supérieure.
La solution que j'ai trouvée est d'installer provisoirement le pilote propriétaire qui lui détecte bien l'écran et affiche automatiquement une résolution maximale. L'ennui c'est que ce pilote (qui fournit bien le son en HDMI lui ! voir autre billet) est pénible car il au démarrage il repasse sans arret en 30Hz avec pour conséquence un scintillement notamment dans le définlement du texte sous Firefox.
Edit du 13/08/2013 :
Problème du 30Hz résolu en ajoutant un entrée dans les programmes au démarrage : ajout de la commande xrandr -r 60 (via l'interface système).
En fait depuis l'installation des derniers pilotes (sur le site AMD installation automatique) tout est super fluide ;)
Quelques commandes utiles :
xrandr, c'est l'outil qui gère les paramètres d'affichage. Avec le pilote propriétaire et lancé sans aucun paramètre ça renvoie :
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 1920 x 1920
DFP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 708mm x 398mm
1920x1080 60.0*+ 50.0 59.9 30.0 25.0 30.0 24.0 30.0 30.0 24.0
1776x1000 50.0 59.9 25.0 24.0 30.0 30.0
1680x1050 60.0 50.0 59.9 30.0 24.0 30.0 24.0
1400x1050 60.0 50.0 59.9 30.0 24.0 30.0 24.0
1600x900 50.0 59.9 24.0 30.0
1280x1024 50.0 60.0 30.0 24.0
1440x900 50.0 59.9 24.0 30.0
1280x960 50.0 60.0 30.0 24.0
1280x768 50.0 60.0 30.0 24.0
1280x720 60.0 50.0 30.0 59.9 30.0 24.0
1024x768 50.0 30.0 24.0 60.0
1152x648 50.0 59.9
800x600 50.0 30.0 24.0 60.3
720x480 50.0 30.0 24.0 30.0 60.0 30.0 59.9
640x480 50.0 30.0 24.0 60.0 59.9
DFP2 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)
Avec le pilote par défaut qui marchait très bien avant la mise à jour ça donne désormais :
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
1280x1024 0.0*
1024x768 0.0
800x600 0.0
640x480 0.0
En clair il n'a pas l'air content, et impose une résolution max de 1280x1024 !
Ensuite xrandr permet de gérer tous ces modes (supprimer ajouter...). J'ai cherché à ajouter le mode que ne n'avais pas et en bref :
- on crée un mode en utilisant les infos fournies par l'une des commandes (cvt, gtf voir ci-dessous) :
xrandr --newmode $(gtf 1920 1080 60 | sed -ne 's/"//g;s/ Modeline //p')
à quoi il répond
xrandr: Failed to get size of gamma for output default
puis un xrandr donne :
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
1280x1024 0.0*
1024x768 0.0
800x600 0.0
640x480 0.0
1920x1080_60.00 (0x1a9) 172.8MHz
h: width 1920 start 2040 end 2248 total 2576 skew 0 clock 67.1KHz
v: height 1080 start 1081 end 1084 total 1118 clock 60.0Hz - puis on autorise ce mode pour une sortie (ici default puisqu'il n'en détecte pas d'autre) :
xrandr --addmode default 1920x1080_60.00
à quoi il répond invariablement:
xrandr: Failed to get size of gamma for output default
puis un xrandr donne:
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
1280x1024 0.0*
1024x768 0.0
800x600 0.0
640x480 0.0
1920x1080_60.00 60.0 - enfin on applique ce mode à la sortie : xrandr -s 1920x1080_60.00 et là misère on écope d'un Failed to change the screen configuration!
A priori inutile d'etre root pour faire tout ça (en root ça ne marche pas mieux).
cvt:
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
gtf:
$ gtf 1920 1080 60
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
On remarque au passage que ça ne donne pas exactement les mêmes valeurs... Dans l'aide de xrandr (xrandr -h) les drapeaux valides portent des majuscules : HSync etc. Il faudrait préférer gtf ?