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?
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.
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
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!