Home
Repository 32bit  Forum
Repository 64bit  Wiki

Modifiche

Framebuffer Console HOWTO

7 byte aggiunti, 16:50, 9 nov 2007
Parametri per la selezione della modalità
Il secondo parametro è "vga". Passato dal bootloader, esso permette di determinare che tipo di risoluzione dev'essere utilizzata ''per i driver vesafb e vgacon''. Impostandolo per una risoluzione VGA (normal od extended in genere), permette di inibire il caricamento del driver vesafb, se presente. Non esiste altro modo per bloccare il caricamento di vesafb. Se vga verrà impostato per una modalità grafica superiore a VGA, verrà utilizzato per settare la risoluzione di vesafb se presente ed inibirà automaticamente il caricamento di vgacon in favore di dummycon.
Il terzo parametro è "video", il quale passato dal bootloader permette di impostare tutti i driver di fbdev, incluso quello vesa (con l'eccezione della risoluzione), nonchè nonché di disattivarli se è il caso. E' possibile passare più di un parametro video, uno per ogni driver che si deridera desidera impostare.
Per forzare il caricamento di un driver piuttosto che di un altro, è possibile utilizzare una combinazione dei parametri '''vga''' e '''video'''.
Il primo valore è il numero progressivo della modalità all'interno del menù (è possibile usarlo per selezionare la modalità video), il secondo valore è l'ID della modalità video in esadecimale (è il valore che è possibile passare tramite "vga" per selezionare quella precisa modalità in fase di avvio), il terzo valore rappresenta il numero di caratteri per riga e per colonna che verranno visualizzati in ognuna modalità.
I modi visualizzati saranno parzialmente ordinati: innanzitutto verranno visualizzate le due modalità VGA standard corrispondenti ai valori "normal" ed "extended" di vga, per poi proseguire con qualche modalità speciale (sempre fra le modalità VGA), le modalità locali (un altra opzione da attivare in fase di compilazione del kernel), le modalità VESA rilevate e le modalità SVGA specifiche, queste ultime nel caso sia stato attivato l'autorilevamento auto rilevamento del chipset.
La lista visualizzata sarà però abbastanza incompleta. E' possibile immettere il valore "scan" invece del numero progressivo della modalità video per ottenere un elenco più nutrito. Se si immetterà come valore "scan", lo schermo inizierà a lampeggiare selvaggiamente, poichè poiché Linux tenterà di rilevare tutte le modalità VESA supportate con interrogazioni BIOS. Una volta finiti i test, verrà riproposto lo stesso menù ma leggermente cambiato: le modalità SVGA se presenti non saranno più mostrate e tutte le modalità rilevate da "scan" saranno poste prima delle modalità VESA presentate precedentemente.
Nel caso si desideri passare a "vga" direttamente l'id numerico (vegono vengono accettati anche valori decimali, non solo esadecimali) della modalità desiderata (come quelli visualizzati dal menù di "ask"), è bene conoscerne il formato (soprattutto considerato che rappresenta la scelta più comune).
I vari ID che è possibile assegnare sono divisibili in 3 categorie pricipaliprincipali:
* '''0x0000 - 0x00ff''' : le modalità del menù "ask" in base all'ordine progressivo. Non è consigliabile usarle al di fuori del menù stesso in quanto potrebbero cambiare da boot a boot.
* '''0x0100 - 0x017f''' : le modalità BIOS standard. Corrispondono alla tabella delle modalità BIOS incrementate tutte di 0x0100 (vedi sotto)
* '''0x0200 - 0x08ff''' : le modalità VESA BIOS standard. Corrispondono alla tabella delle modalità VESA BIOS incrementate tutte di 0x0200 (vedi sotto)
* '''0x0900 - 0x09ff''' : le modalità Video7 BIOS (uno standard per alcune modalità propietarieproprietarie)
* '''0x0f00 - 0x0fff''' : modalità speciali varie, tra cui le più importanti sono
** '''0x0f00''' : standard 80x25, non resetta la modalità se è precedentemente settata (=FFFF)
** '''0x0f04''' : conserva la modalità corrente
* '''0x1000 - 0x7fff''' : modalità impostate in base alla risoluzione. In pratica, si tratta di un codice composto dalla traduzione esadecimale della risoluzione orizzontale e di quella verticale in caratteri, secondo lo schema: 0xVVHH (V sta per verticale ed H per orizzontale). Ad esempio, supponendo di voler rappresentare in questo modo la risoluzione 132x43, considerato che in esadecimale 132 vale 0x84 e che 43 vale 0x2B, il codice sarà 0x2B84. Di fatto, questo è l'unico modo per rappresentare in modo univoco risoluzioni non standard.
* '''0xff00 - 0xffff''' : alias per conservare la retrocompatibilitàretro compatibilità. Nella fattispecie:
** '''0xffff''' : alias di 0x0f00 (standard 80x25)
** '''0xfffe''' : alias di 0x0f01 (VGA 80x50)
make install
L'operazione richiederà molto tempo, poichè poiché durante la compilazione verrà anche costruito il database con le specifiche dell'hardware.
Una volta completato il tutto, sarà possibile ottenere le specifiche della scheda video digitando il comando:
[...]
A questo punto, una volta individuato il modo desiderato, sarà possibile utilizzarlo per l'opzione "vga" come già visto. Non è necessario addizionare alcunchè alcunché al valore restituito da hwinfo, in quanto è già in formato linux.
==Il parametro "video" nel dettaglio==
[resx]x[resy]-[bpp]@[freq]
Con l'eccezione di vesafb, tutti i driver supportano il parametro "off" e molti supportano il parametro "risoluzione" (vesafb usa "vga", come descritto precentementeprecedentemente), per cui se vogliamo ad esempio inibire il caricamento di radeonfb (nel caso l'abbiamo compilato) sarà sufficiente usare la stringa:
video=radeonfb:off
789
contributi