web-dev-qa-db-fra.com

Comment définir la résolution dans les consoles de texte (dépannage en cas d'échec de `vga = ...`)

Il s'agit d'un moyen courant de définir la résolution d'une console texte (qui est généralement disponible par Ctrl-Alt-F1 à Ctrl-Alt-F6) en utilisant un vga=... paramètre du noyau. J'utilise Ubuntu 10.04 Lucid, sortie de uname -a est:

Linux  2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux

Pour identifier les modes disponibles, j'utilise le Sudo hwinfo --framebuffer qui rapporte:

02: None 00.0: 11001 VESA Framebuffer                            
  [Created at bios.464]  
  Unique ID: rdCR.R1b4duaxSqA  
  Hardware Class: framebuffer  
  Model: "NVIDIA G73 Board - p456h1  "  
  Vendor: "NVIDIA Corporation"  
  Device: "G73 Board - p456h1  "  
  SubVendor: "NVIDIA"  
  SubDevice:   
  Revision: "Chip Rev"  
  Memory Size: 256 MB  
  Memory Range: 0xc0000000-0xcfffffff (rw)  
  Mode 0x0300: 640x400 (+640), 8 bits  
  Mode 0x0301: 640x480 (+640), 8 bits  
  Mode 0x0303: 800x600 (+800), 8 bits  
  Mode 0x0305: 1024x768 (+1024), 8 bits  
  Mode 0x0307: 1280x1024 (+1280), 8 bits  
  Mode 0x030e: 320x200 (+640), 16 bits  
  Mode 0x030f: 320x200 (+1280), 24 bits  
  Mode 0x0311: 640x480 (+1280), 16 bits  
  Mode 0x0312: 640x480 (+2560), 24 bits  
  Mode 0x0314: 800x600 (+1600), 16 bits  
  Mode 0x0315: 800x600 (+3200), 24 bits  
  Mode 0x0317: 1024x768 (+2048), 16 bits  
  Mode 0x0318: 1024x768 (+4096), 24 bits  
  Mode 0x031a: 1280x1024 (+2560), 16 bits  
  Mode 0x031b: 1280x1024 (+5120), 24 bits  
  Mode 0x0330: 320x200 (+320), 8 bits  
  Mode 0x0331: 320x400 (+320), 8 bits  
  Mode 0x0332: 320x400 (+640), 16 bits  
  Mode 0x0333: 320x400 (+1280), 24 bits  
  Mode 0x0334: 320x240 (+320), 8 bits  
  Mode 0x0335: 320x240 (+640), 16 bits  
  Mode 0x0336: 320x240 (+1280), 24 bits  
  Mode 0x033d: 640x400 (+1280), 16 bits  
  Mode 0x033e: 640x400 (+2560), 24 bits  
  Config Status: cfg=new, avail=yes, need=no, active=unknown  

Il semble que de nombreux modes haute résolution soient disponibles, comme 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (au fait, que signifie le nombre plus dans la liste des modes?). Cependant, en définissant l'un de ces modes dans la chaîne d'options du noyau, la ligne vga=0x305, entraîne soit une console de texte noir, soit un écran rempli de points de couleur/noir clignotants.

Quelle est la manière "moderne" et "robuste" de configurer la haute résolution dans les consoles de texte?

29
mbaitoff

Les noyaux plus récents utilisent KMS par défaut, vous devez donc vous éloigner de l'ajout de vga= à votre ligne grub car elle sera en conflit avec la résolution native de KMS. Cependant, cela dépend du pilote vidéo que vous utilisez: le pilote Nvidia propriétaire ne prend pas en charge KMS , mais vous pouvez le contourner.

Vous devriez pouvoir obtenir la pleine résolution dans le tampon d'images en modifiant votre /etc/default/grub et en vous assurant que GFXMODE est correctement défini, puis en ajoutant une entrée GFXPAYLOAD comme ceci:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

N'oubliez pas d'exécuter Sudo update-grub ensuite.

27
jasonwryan

Pour les distributions Debian et Ubuntu plus récentes utilisant nvidia, je devais faire ce qui suit:

Tout d'abord, modifiez/etc/default/grub. Modifiez la ligne suivante:

#GRUB_GFXMODE=640x480 

pour ça:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

remplacer 1280x800 avec la résolution souhaitée.

Alors:

echo "echo FRAMEBUFFER=y" | Sudo tee /etc/initramfs-tools/conf.d/splash
Sudo update-initramfs -u
Sudo update-grub

Pour simplement changer la taille de la police, vous pouvez le faire en utilisant la commande suivante:

Sudo dpkg-reconfigure console-setup
14
mchid

Voici votre meilleure option:

Utilisation Sudo hwinfo --framebuffer comme décrit, choisissez le mode vidéo que vous souhaitez voir lors du démarrage dans la console, puis ajoutez l'option vga=nnn aux paramètres de démarrage du noyau.

La seule astuce est que nnn est le mode vidéo que vous avez sélectionné dans la liste produite par hwinfo - CONVERTED TO DECIMAL !!!

Si tu essayes vga=0xwhatever ça ne va pas marcher.

Par exemple, j'ai choisi le mode vidéo 0x307 (1280x1024 (+1280), 8 bits), j'ai converti 0x307 en décimal qui est 775, puis j'ai utilisé vga=775 dans les paramètres de démarrage d'isolinux/extlinux.

Vous pouvez utiliser printf pour convertir hexadécimal en décimal: $ printf "%d\n" 0x307 775

Et j'ai reçu un joli texte fin dans toutes les consoles dès le départ.

Succès!

9
chris_startx