Dato che il chipset NeoMagic della serie NM20xx è uno dei chip grafici più usati sui laptop dei nostri giorni, ci spenderò sopra alcune parole. Per quanto per lungo tempo questo chip fosse supportato solo da server X commerciali, a partire dalla metà del 1998 RedHat ha fornito un server X binario prodotto da PrecisionInsight. A partire dalla versione 3.3.3 questo server X è disponibile anche per XFree86.
Questo capitolo è dovuto alla cortesia di Cedric Adjih < cedric.adjih@inria.fr >. Ho modificato solo alcune parti.
Un fatto apparentemente poco noto riguardo al chipset Neomagic NM20xx, è che lo si può lanciare in modalità testuale 100x37 (cioé 800x600). Questa modalità è molto piacevole (in confronto allo sgradevole 80x25). L'ho provato con un HP OmniBook 800 e suppongo possa funzionare anche con altri laptop che utilizzino il chip NeoMagic. Ciò che ho scritto sotto risulta più prolisso di quanto avessi preventivato, ovvero ho redatto una specie di mini-howto :-) :
Il problema principale è che la configurazione risulta un po' difficoltosa, e se ci si sbaglia con SVGATextMode/restoretextmode alcuni esisti sull'LCD possono essere terrorizzanti. Per quanto non sia arrivato a distruggere il mio LCD, neppure dopo veramente molti tentativi falliti, faccio questa LIBERATORIA: QUESTO PROCEDIMENTO POTREBBE DANNEGGIARE L'HARDWARE. SIETE STATI AVVERTITI. SEGUITE LE ISTRUZIONI SUCCESSIVE A VOSTRO RISCHIO E PERICOLO, IO NON SARÒ RESPONSABILE NEL CASO CAPITI QUALCOSA DI MALE.
È necessario effettuare tre passi principali:
restoretextmode
deve eseguirsi in automatico con i dati di registro
corretti.SVGATextMode
deve eseguirsi in automatico.Tutti i file che ho modificato sono da ora disponibili su http://starship.python.net/crew/adjih/data/cda-omni-trick.tar.gz
I kernel recenti (2.2.x) devono essere compilati definendo CONFIG_VIDEO_GFX_HACK, che per impostazione predefinita è disattivato. (si guardi in /usr/src/linux-2.2.x/arch/i386/boot/video.S)
Ciò si ottiene passando il parametro vga=770
ai kernel più
vecchi o vga=7
ai kernel 2.2.x. Esempio con lilo.conf:
image=/boot/bzImage-modif label=22 append="svgatextmode=100x37x8_SVGA" #spiegato più avanti vga=7 read-only
restoretextmode
e SVGATextMode
vengano lanciati all'avvioBisogna fare in modo che restoretextmode <nome di qualche file
textreg.dat>
e SVGATextMode 100x37x8_SVGA
vengano
lanciati all'avvio.
Un textreg.dat di esempio per restoretextmode (ottenuto usando
savetextmode
) si trova nel mio archivio tar in tmp/,
oltre ad un /etc/TextConfig di esempio.
Dato che sono pigro, ho semplicemente inserito SVGATextMode
e restoretextmode
nel file /etc/rc.boot/kbd del mio
Debian/GNU Linux, un file che viene eseguito all'avvio (anch'esso disponibile
nell'archivio tar).
A video appariranno immagini fastidiose se non si usa SVGATextMode nella giusta
modalità video testuale: per questo passo anche la variabile ambientale
"svgatextmode=100x37x8_SVGA"
(nome arbitrario)
al kernel (usando append=xxx in lilo.conf) laddove imposto vga=7
:
lo script /etc/rc.boot/kbd verifica questa variabile e invoca
restoretextmode
e SVGATextMode
SE E SOLO SE la trova
impostata.
vga=7
(lilo.conf),
dovreste vedere ad un certo punto uno sfondo bianco, ma i caratteri
saranno nero su nero. È tutto a posto, sarà ora necessario riavviare
alla cieca.vga=7
(lilo.conf)