Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 264

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Framebuffer HOWTO: Utilizzare i device framebuffer sulle piattaforme Intel</TITLE>
 <LINK HREF="Framebuffer-HOWTO-6.html" REL=next>
 <LINK HREF="Framebuffer-HOWTO-4.html" REL=previous>
 <LINK HREF="Framebuffer-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="Framebuffer-HOWTO-6.html">Avanti</A>
<A HREF="Framebuffer-HOWTO-4.html">Indietro</A>
<A HREF="Framebuffer-HOWTO.html#toc5">Indice</A>
<HR>
<H2><A NAME="s5">5. Utilizzare i device framebuffer sulle piattaforme Intel</A></H2>

<H2><A NAME="ss5.1">5.1 Cos'&egrave; vesafb?</A>
</H2>

<P>
<P>Vesafb &egrave; un driver framebuffer per l'architettura Intel funzionante con
schede grafiche compatibili VESA 2.0, in stretta relazione coi device 
driver del kernel per il framebuffer.
<P>Vesafb &egrave; un driver per schermi che attiva l'utilizzo delle modalit&agrave;
grafiche sulla tua piattaforma Intel per console testuali bitmapped. Pu&ograve;
inoltre visualizzare un logo, che &egrave; probabilmente la principale ragione 
per cui vorresti usare il vesafb :o)
<P>Sfortunatamente, non puoi utilizzare con successo il vesafb con schede
VESA 1.2. Questo perch&eacute; queste schede 1.2 non utilizzano un frame
buffering <EM>lineare</EM>. Frame buffering lineare significa semplicemente
che la CPU del sistema &egrave; in grado di accedere ogni bit dello schermo.
Storicamente, vecchi adattatori grafici permettevano alla CPU di
accedere solo a 64K per volta, di qui le limitazioni delle spaventose
modalit&agrave; grafiche CGA/EGA! Pu&ograve; darsi che qualcuno scriva un device
driver vesafb12 per queste schede, ma ci&ograve; consumer&agrave; preziosa memoria del
kernel e comporter&agrave; uno smanettamento osceno.
<P>Potenzialmente, esiste comunque una soluzione per aggiungere alla tua 
scheda "legacy" VESA 1.2 le estensioni VESA 2.0. Dovresti scaricare un
programma per caratteri TSR che eseguirai da DOS che, usato assieme a
loadlin, pu&ograve; aiutare a configurare la scheda per l'appropriata modalit&agrave;
grafica su console. Da notare che questo non sempre funziona, per
esempio alcune schede Cirrus Logic come le serie VLB 54xx sono associate
ad un intervallo di indirizzi di memoria (ad esempio, nell'intervallo
15MB-16MB) per il frame buffering che preclude a questo d'essere
utilizzato con successo con sistemi con pi&ugrave; di 32MB di memoria. C'&egrave; un
modo per far funzionare il tutto, cio&egrave;, se hai un'opzione nel BIOS
per lasciare un memory hole nell'intervallo 15MB-16MB, potrebbe
funzionare, ma Linux non supporta l'utilizzo dei memory hole. Comunque
penso ci siano patch per questa opzione [Chi le ha e dove le si possono
trovare?]. Se vuoi sperimentare quest'opzione, son disponibili in
abbondanza programmi di stile TSR, un primo esempio &egrave; UNIVBE, che pu&ograve;
essere trovato su Internet.
<P>Alternativamente, dovresti scaricare patch del kernel per permettere
alla tua scheda VESA 1.2 di funzionare con i driver per il framebuffer
VESA. Per esempio, ci sono patch per l'uso con vecchie schede S3 (come
l'S3 Trio o l'S3 Virge) che supportano il VESA 1.2. Per queste schede,
poi prelevare le patch da 
<PRE>
ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz
</PRE>
<P>
<H2><A NAME="ss5.2">5.2 Come attivo i driver vesafb?</A>
</H2>

<P>Assumendo che tu stia usando menuconfig, avrai bisogno di fare i
seguenti passi:
<P>Se il tuo processore (su piattaforme Intel) supporta i MTRR, attivali.
Ci&ograve; velocizzer&agrave; le copie della memoria tra il processore e la scheda
grafica, ma non &egrave; strettamente necessario. Puoi naturalmente far questo
dopo aver fatto funzionare il dispositivo console.
<P><EM>IMPORTANTE: Per i kernel 2.1.x, vai nel menu Code Maturity Level ed
attiva il prompt per develpoment and</EM><EM>or incomplete drivers. Questo
non &egrave; pi&ugrave; necessario per il kernel 2.2.x.</EM>
<P>Vai nel menu Console Drivers, ed attiva i seguenti:
<P>
<UL>
<LI>VGA Text Console</LI>
<LI>Video Selection Support</LI>
<LI>Support for frame buffer devices (experimental)</LI>
<LI>VESA VGA Graphic console</LI>
<LI>Advanced Low Level Drivers</LI>
<LI>Seleziona Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed
pixel drivers</LI>
</UL>
<P>VGA Chipset Support (text only) - vgafb - &egrave; solitamente parte della
lista precedente, ma &egrave; stato rimosso in quanto &egrave; ora sconsigliato e non
pi&ugrave; supportato. Verr&agrave; presto rimosso. Usa invece VGA Text Console
(fbcon). VGA Character/Attributes &egrave; usato solo con il VGA Chipset
Support e non ha bisogno d'essere selezionato.
<P>Assicurati che Mac variable bpp packed pixel support non sia attivato.
Il kernel di Linux release 2.1.111 (e 112) sembra attivare quest'opzione
automaticamente se si seleziona Advanced Low Level Drivers per la prima
volta. Questo non succede pi&ugrave; col 2.1.113.
<P>C'&egrave; inoltre l'opzione di compilare i caratteri nella memoria, ma questo
non &egrave; realmente necessario e puoi sempre usare l'utility setfont di 
kbd-0.99 (vedere la sezione sui caratteri) per modificare i caratteri
caricandone nel device console.
<P>Assicurati che questi non diventino moduli. [Non son sicuro che sia 
comunque possibile crearli come moduli - per favore correggetemi su
questo punto]
<P>Dovrai creare il device framebuffer in /dev. Ne hai bisogno di uno per
ogni device ramebuffer, quindi tutto quel che dovrai fare sar&agrave; di 
scrivere mknod /dev/fd0 c 29 0 per il primo. I successivi saranno in
multipli di 32, quindi, ad esempio, per creare /dev/fb1 dovrai scrivere
mknod /dev/fb1 c 29 32 e cos&igrave; via fino all'ottavo device framebuffer
(mknod /dev/fb7 c 29 224).
<P>Quindi ricompila il kernel, modifica /etc/lilo.conf per includere il
parametro VGA=ASK, ed esegui lilo, il che &egrave; richiesto per permetterti di
selezionare la modalit&agrave; che preferisci usare.
<P>Questo &egrave; un esempio di configurazione LILO (presa dalla mia macchina)
<P>
<PRE>
# File di configurazione del LILO
boot = /dev/hda3
delay = 30 
prompt
vga = ASK # Permette all'utente di entrare nelle modalit&agrave; desiderate
image = /vmlinuz
  root = /dev/hda3
  label = Linux
  read-only # I filesystem Non-UMSDOS filesystems devono essere 
            # montati in sola lettura per il controllo
</PRE>
<P>Riavvia la macchina e, come primo test, prova ad inserire 0301 al prompt
VGA (questo ti dar&agrave; 640x480 @ 256) e dovresti essere in grado di vedere
un piccolo logo molto carino col Pinguino.
<P>Da notare che al prompt VGA ti sar&agrave; richiesto di scrivere il numero nel
formato di "0" pi&ugrave; la cifra di 3 numeri, tralasciando la 'x'. Questo non
&egrave; necessario se stai usando LILO.
<P>Una volta che hai visto che tutto funziona correttamente, potrai
esplorare le varie modalit&agrave; VESA (vedi oltre) e decidere quale di queste
tu preferisci ed includerla nel parametro "VGA=x" in lilo.conf.
Quand'hai deciso quale preferisci, controlla l'equivalente numero
esadecimale nella tabella sottostante ed usalo (cio&egrave;, per 1280x1024 @
256, userai esattamente "VGA=0x307"), e riesegui lilo. Questo &egrave; tutto
quel che c'&egrave; da fare.
Per ulteriori indicazioni, leggere gli HOWTO LoadLin/LILO.
<P><EM>NOTA!</EM> il vesafb non attiva lo scorrimento all'indietro nel buffer
come predefinito. Dovrai passare al kernel l'opzione per attivarlo. Usa
video=vesa:ypan oppure video=vesa:ywrap per farlo. Ambedue fanno la
stessa cosa, ma in modi differenti. ywrap &egrave; molto pi&ugrave; veloce di ypan ma
potrebbe non funzionare su schede grafiche VESA 2.0 lievemente
scorrette. ypan &egrave; pi&ugrave; lento di ywrap, ma &egrave; molto pi&ugrave; compatibile. Questa
opzione &egrave; presente solo nei kernel 2.1.116 e successivi. I kernel
precedenti non erano in grado di permettere lo scorrimento all'indietro
nel buffer in vesafb.
<P>
<H2><A NAME="ss5.3">5.3 Che modalit&agrave; VESA sono disponibili?</A>
</H2>

<P>Questo dipende effettivamente dal tipo di scheda grafica compatibile
VESA 2.0 che hai nel tuo sistema e dall'ammontare di memoria video
disponibile. Quindi &egrave; solo questione di provare quali modalit&agrave;
funzionano meglio con la tua scheda grafica.
<P>La tabella seguente mostra i numeri di modalit&agrave; che puoi immettere al
prompt VGA o da usare col programma LILO. (Effettivamente questi numeri
sono addizionati con 0x200 per rendere pi&ugrave; semplice il riferirsi alla
tabella)
<P>
<PRE>
Colori   640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
-------+--------------------------------------------------------------
 4 bit |    ?       ?     0x302      ?        ?        ?         ?
 8 bit |  0x300   0x301   0x303    0x305    0x161    0x307     0x31C
15 bit |    ?     0x310   0x313    0x316    0x162    0x319     0x31D
16 bit |    ?     0x311   0x314    0x317    0x163    0x31A     0x31E
24 bit |    ?     0x312   0x315    0x318      ?      0x31B     0x31F
32 bit |    ?       ?       ?        ?      0x164      ?
</PRE>
<P>Spiegazione: 8 bit = 256 colori, 15 bit = 32.768 colori, 16 bit = 65.536
colori, 24 bit = 16,8 milioni di colori, 32 bit - lo stesso di 24 bit,
ma con ulteriori 8 bit che possono essere usati per altre cose, e
combacia perfettamente con i bus a 32 bit PCI/VLB/EISA.
<P>Ci sono modalit&agrave; addizionali a discrezione del fabbricante poich&egrave; il
documento VESA 2.0 definisce solamente modalit&agrave; fino a 0x31F. Potrai
aver bisogno di giocherellare un po' per scovare queste ulteriori
modalit&agrave;.
<P>
<H2><A NAME="ss5.4">5.4 Hai una scheda Matrox?</A>
</H2>

<P>
<P>Se hai una scheda grafica Matrox, non hai realmente bisogno del vesafb,
ma invece del driver matroxfb. Questo incrementa notevolmente le
possibilit&agrave; della tua scheda. Matroxfb funzioner&agrave; con le Matrox
Mystique, Millennium I &amp; II, G100 e G200. Inoltre supporta sistemi
"multi-headed" (ossia, se hai due schede Matrox nella tua macchina,
puoi usare due schermi sulla stessa macchina!). Per configurare per la
Matrox, dovrai fare quanto segue:
<P>Penso che dovresti aggiornare il BIOS della Matrox, puoi scaricare
l'aggiornamento del BIOS da 
<PRE>
http://www.matrox.com/mgaweb/drivers/ftp_bios.htm
</PRE>
.
Attenzione che per far questo hai bisogno del DOS.
<P>Vai nel menu Code Maturity Level ed attiva il prompt for development
and/or incomplete drivers [da notare che questo potrebbe cambiare per
kernel futuri - quando questo accadr&agrave;, quest'HOWTO verr&agrave; rivisto]
<P>Vai nel menu Console Drivers ed attiva i seguenti:
<P>
<UL>
<LI>VGA Text Console</LI>
<LI>Video Selection Support</LI>
<LI>Support for frame buffer devices (experimental)</LI>
<LI>Matrox Acceleration</LI>
<LI>Seleziona quanto segue a seconda della scheda in tuo possesso
<UL>
<LI>Millennium I/II support</LI>
<LI>Mystique support</LI>
<LI>G100/G200 support</LI>
</UL>
</LI>
<LI>Attiva Multihead Support se vuoi usare pi&ugrave; di una scheda Matrox</LI>
<LI>Advanced Low Level Drivers</LI>
<LI>Seleziona Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed 
pixel drivers</LI>
</UL>
<P>Ricompila il tuo kernel, Quindi dovrai modificare il tuo file lilo.conf
per attivare il device Matroxfb. Il modo pi&ugrave; rapido e semplice &egrave; di
riutilizzare il mio.
<P>
<PRE>
# File di configurazione del LILO
boot = /dev/hda3
delay = 30 
prompt
vga = 792    # Ne hai bisogno affinch&eacute; parta in una modalit&agrave; sicura
# Inizio delle partizioni Linux avviabili
image = /vmlinuz
  append = "video=matrox:vesa:440" # Quindi passa a Matroxfb
  root = /dev/hda3
  label = Linux
  read-only # I filesystem Non-UMSDOS filesystems devono essere 
            # montati in sola lettura per il controllo
</PRE>
<P>Alla fine, dovrai creare il device framebuffer in /dev. Te ne serve uno
per device framebuffer, cio&egrave; tutto ci&ograve; che dovrai fare sar&agrave; di
scrivere mknod /dev/fb0 c 29 0 per il primo. I successivi saranno in
multipli di 32, cio&egrave; per esempio per creare /dev/fb1 dovrai scrivere
mknod /dev/fb1 c 29 32 e cos&igrave; via fino all'ottavo device framebuffer 
(mknod /dev/fb7 c 29 224).
<P>E questo &egrave; quanto! [NOTA: Se qualcuno usa questo supporto per pi&ugrave;
uscite video, per favore mi contatti ASAP - Ho bisogno di parlare con
lui a proposito di questo per documentarlo!
<P>
<H2><A NAME="ss5.5">5.5 Hai una scheda Permedia?</A>
</H2>

<P>
<P>Le schede Permedia non possono essere utilizzate con il driver vesafb,
ma fortunatamente c'&egrave; il driver framebuffer per Permedia da utilizzare.
Assumendo che tu stia usando menuconfig, fai quanto segue:
<P>Vai nel menu Code Maturity Level ed attiva il prompt for development
and/or incomplete drivers [da notare che questo potrebbe cambiare per
kernel futuri - quando questo accadr&agrave;, questo HOWTO sar&agrave; rivisto]
<P>Vai nel menu Console Drivers e seleziona quanto segue:
<P>
<UL>
<LI>VGA Text Console </LI>
<LI>Video Selection Support </LI>
<LI>Support for frame buffer devices (experimental) </LI>
<LI>Permedia2 support (experimental)</LI>
<LI>Generic Permedia2 PCI board support</LI>
<LI>Advanced Low Level Drivers </LI>
<LI>Seleziona Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed
pixel drivers </LI>
<LI>Opzionalmente, seleziona i seguenti, se desideri usare i caratteri
inclusi
<UL>
<LI>Select compiled-in fonts</LI>
<LI>Seleziona Sparc console 12x22 font</LI>
</UL>
</LI>
</UL>
<P>Ricompila il kernel. Quindi dovrai modificare il tuo file lilo.conf per
attivare il device pm2fb. Il modo pi&ugrave; rapido e semplice &egrave; di
riutilizzare il seguente
<P>
<PRE>
# File di configurazione per LILO
boot = /dev/hda3
delay = 30 
prompt
vga = 792    # Ne hai bisogno affinch&eacute; parta in una modalit&agrave; sicura
# Inizio delle partizioni Linux avviabili
image = /vmlinuz
  append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # Quindi passa a pm2fb
  root = /dev/hda3
  label = Linux
  read-only # I filesystem Non-UMSDOS filesystems devono essere
            # montati in sola lettura per il controllo
</PRE>
<P>La riga "pm2fb:mode:1024x768-75,font:SUN12x22,ypan" indica che stai
selezionando una modalit&agrave; a 1024x768 e 75Hz, con il carattere SUN12x22
selezionato (se l'avevi selezionato), includendo ypan per il supporto
dello scorrimento all'indietro. Puoi selezionare altre modalit&agrave; se
desideri.
<P>Alla fine, dovrai creare il device framebuffer in /dev. Te ne serve uno
per device framebuffer, cio&egrave; tutto ci&ograve; che dovrai fare sar&agrave; di
scrivere mknod /dev/fb0 c 29 0 per il primo. I successivi saranno in
multipli di 32, cio&egrave; per esempio per creare /dev/fb1 dovrai scrivere
mknod /dev/fb1 c 29 32 e cos&igrave; via fino all'ottavo device framebuffer 
(mknod /dev/fb7 c 29 224).
<P>Per informazioni aggiuntive sulle altre caratteristiche del driver per
framebuffer Permedia, punta il tuo browser su: 
<PRE>
http://www.cs.unibo.it/~nardinoc/pm2fb/index.html
</PRE>
<P>video=pm2fb:[opzione[,opzione[,opzione...]]]
<P>dove l'opzione &egrave; una delle seguenti
<P>
<UL>
<LI>off per disabilitare il driver.</LI>
<LI>mode:risoluzione per impostare la risoluzione della console. Le
modalit&agrave; son state prese dal file fb.modes.ATI nel pacchetto fbset di
Geert. La profondit&agrave; per tutte le modalit&agrave; &egrave; 8bpp. Questa &egrave; la lista
delle modalit&agrave; disponibili:
<UL>
<LI>640x480-(60,72,75,90,100)</LI>
<LI>800x600-(56,60,70,72,75,90,100) </LI>
<LI>1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz </LI>
<LI>1152x864-(60,70,75,80) </LI>
<LI>1280x1024-(60,70,74,75)</LI>
<LI>1600x1200-(60,66,76)</LI>
</UL>
</LI>
<LI>La risoluzione predefinita &egrave; 640x480-60. </LI>
<LI>font:nome del carattere per definire il carattere della console. 
Esempio: font:SUN12x22</LI>
<LI>ypan imposta la corrente altezza virtuale tanto grande quanto 
concesso dalle dimensioni della memoria video</LI>
<LI>oldmem quest'opzione &egrave; solo per gli utilizzatori di CybervisionPPC. 
Specificala se la tua scheda monta SGRAM Fujitsu (tutte le CVisionePPC
prima del 30-dic-1998).</LI>
<LI>virtual (temporaneo) specificala se il kernel riassocia le regioni
PCI sulla tua piattaforma.</LI>
</UL>
<P>
<H2><A NAME="ss5.6">5.6 Hai una scheda ATI?</A>
</H2>

<P>
<P>[Nota: Quest'informazione &egrave;, nel migliore dei casi, solo di seconda o
terza mano in quanto non possiedo una scheda ATI su cui testarla.
Sentiti libero di correggermi se mi son sbagliato o massacrami! ] 8)
<P>Le schede ATI possono essere utilizzate con il driver vesafb, ma
potresti, come no, avere problemi, a seconda di quanto orrendamente
scorretta sia la scheda. Fortunatamente, esiste il driver per
framebuffer atyfb disponibile per essere usato. Assumendo che tu stia
usando menuconfig, fai quanto segue:
<P>Vai nel menu Code Maturity Level ed attiva il prompt for development
and/or incomplete drivers [da notare che questo potrebbe cambiare per
kernel futuri - quando questo accadr&agrave;, questo HOWTO sar&agrave; rivisto]
<P>Via nel menu Console Drivers e seleziona quanto segue:
<P>
<UL>
<LI>VGA Text Console</LI>
<LI>Video Selection Support</LI>
<LI>Support for frame buffer devices (experimental)</LI>
<LI>ATI Mach64 display support      </LI>
<LI>Advanced Low Level Drivers</LI>
<LI>Seleziona Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed
pixel drivers</LI>
<LI>Opzionalmente, seleziona i seguenti, se desideri usare i caratteri
inclusi
<UL>
<LI>Select compiled-in fonts</LI>
<LI>Seleziona Sparc console 12x22 font</LI>
</UL>
</LI>
</UL>
<P>Ricompila il kernel. Quindi dovrai modificare il tuo file lilo.conf per
attivare il device atyfb. Il modo pi&ugrave; rapido e semplice &egrave; di 
riutilizzare il seguente
<P>
<PRE>
# File di configurazione del LILO
boot = /dev/hda3
delay = 30
prompt
vga = 792    # Ne hai bisogno affinch&eacute; parta in una modalit&agrave; sicura
# Inizio delle partizioni Linux avviabili
image = /vmlinuz
  append = "video=atyfb:mode:1024x768,font:SUN12x22"
  root = /dev/hda3
  label = Linux
  read-only # I filesystem Non-UMSDOS filesystems devono essere
            # montati in sola lettura per il controllo
</PRE>
<P>La riga "atyfb:mode:1024x768,font:SUN12x22" indica che stai usando la
modalit&agrave; a 1024x768.
<P>Alla fine, dovrai creare il device framebuffer in /dev. Te ne serve uno
per device framebuffer, cio&egrave; tutto ci&ograve; che dovrai fare sar&agrave; di
scrivere mknod /dev/fb0 c 29 0 per il primo. I successivi saranno in
multipli di 32, cio&egrave; per esempio per creare /dev/fb1 dovrai scrivere
mknod /dev/fb1 c 29 32 e cos&igrave; via fino all'ottavo device framebuffer
(mknod /dev/fb7 c 29 224).
<P>video=atyfb:[opzione[,opzione[,opzione...]]]
<P>dove l'opzione &egrave; una delle seguenti
<P>
<UL>
<LI>font:STRINGA seleziona il carattere incluso (compilato nel kernel)</LI>
<LI>noblink Disattiva il lampeggiamento</LI>
<LI>noaccel Disattiva l'accelerazione</LI>
<LI>vram:ULONG Informa il driver atyfb di quanta memoria sei a
disposizione</LI>
<LI>pll:ULONG Sconosciuta</LI>
<LI>mclk:ULONG Sconosciuta</LI>
<LI>vmode:ULONG Sconosciuta</LI>
<LI>cmode:ULONG - imposta la profondit&agrave; - 0, 8, 15, 16, 24 e 32</LI>
</UL>
<P>
<H2><A NAME="ss5.7">5.7 Che schede grafiche sono compatibili VESA 2.0?</A>
</H2>

<P>Questa lista include tutte le schede grafiche di cui sia certo il
funzionamento con il device vesafb:
<P>
<UL>
<LI>ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit)</LI>
<LI>ATI PCI All-in-Wonder</LI>
<LI>Matrox Millennium PCI - BIOS v3.0</LI>
<LI>Matrox Millennium II PCI - BIOS v1.5</LI>
<LI>Matrox Millennium II AGP - BIOS v1.4</LI>
<LI>Matrox Millennium G200 AGP - BIOS v1.3</LI>
<LI>Matrox Mystique &amp; Mystique 220 PCI - BIOS v1.8</LI>
<LI>Matrox Mystique G200 AGP - BIOS v1.3</LI>
<LI>Matrox Productiva G100 AGP - BIOS v1.4</LI>
<LI>Tutte le schede basate su Riva 128</LI>
<LI>Diamond Viper V330 PCI 4MB</LI>
<LI>Genoa Phantom 3D/S3 ViRGE/DX</LI>
<LI>Hercules Stingray 128/3D con l'uscita TV</LI>
<LI>Hercules Stingray 128/3D senza uscita TV - serve aggiornamento del
BIOS (gratuito da support@hercules.com)</LI>
<LI>SiS 6326 PCI/AGP 4MB </LI>
<LI>STB Lightspeed 128 (basata su Nvida Riva 128) PCI </LI>
<LI>STB Velocity 128 (basata su Nvida Riva 128) PCI</LI>
<LI>Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit)</LI>
<LI>Voodoo2 2000</LI>
</UL>
<P>Questa lista &egrave; composta da chipset integrati sulle schede madri dei
sistemi:
<P>
<UL>
<LI>Trident Cyber9397</LI>
<LI>SiS 5598</LI>
</UL>
<P>La lista successiva mette nella "lista nera" le schede grafiche che non
funzionano col device vesafb:
<P>
<UL>
<LI>TBA</LI>
</UL>
<P>
<H2><A NAME="ss5.8">5.8 Posso creare il vesafb come modulo?</A>
</H2>

<P> 
<P>Da quel che ne so, il vesafb non pu&ograve; essere modularizzato, a meno che in
un qualche momento gli sviluppatori non decidano di modificare le
sorgenti per la modularizzazione. Da notare che qualora la 
modularizzazione fosse possibile, al momento dell'avvio non si sar&agrave; in
grado di vedere alcunch&eacute; fin quando il vesafb non venga <EM>modprobato</EM>.
Probabilmente &egrave; quindi ben pi&ugrave; saggio lasciarlo nel kernel per i casi in
cui ci fossero problemi all'avvio.
<P>
<H2><A NAME="ss5.9">5.9 Come modifico il cursore?</A>
</H2>

<P>
<P>[Preso da VGA-softcursor.txt - grazie Martin Mares!]
<P>Linux ha ora alcune capacit&agrave; per manipolare l'apparenza del cursore.
Normalmente, puoi impostare le dimensioni del cursore hardware (e pure
aggirare alcuni bug terrificanti in quelle miserrime schede Trident --
vedi #define TRIDENT_GLITCH in drivers/char/vga.c). Qualora tu attivassi
"Software generated cursor" nella configurazione del sistema, potrai
provare un po' di nuovi trucchi: puoi rendere il tuo cursore somigliante
ad un blocco rosso non lampeggiante, renderlo sfondo invertito rispetto
al carattere su cui &egrave; posizionato oppure di evidenziare tal carattere e
pure scegliere quando l'originale cursore hardware debba rimanere
visibile o meno. Ci possono essere anche altre possibilit&agrave; che non ho 
mai nemmeno immaginato.
<P>Le apparenze del cursore sono controllate da una sequenza d'escape 
<PRE>
&lt;ESC>[?1;2;3c
</PRE>

dove 1, 2 e 3 sono parametri descritti in seguito. Se ne ometti uno
qualsiasi, verranno impostati a zero.
<P>Il parametro 1 specifica la dimensione del cursore (0=predefinita,
1=invisibile, 2=sottolineato, ..., 8=blocco pieno) + 16 se vuoi che il
cursore software venga applicato + 32 se vuoi cambiare sempre il colore
di sfondo + 64 se non ti piace avere lo sfondo come il primo piano. Le
evidenziazioni sono ignorate per le due ultime flag.
<P>Il secondo parametro seleziona i bit degli attributi del carattere che
vuoi cambiare (semplicemente XORrandoli con il valore di questo
parametro). Su VGA standard, i quattro bit alti specificano lo sfondo ed
i quattro bassi il primo piano. In ambo i gruppi, tre bit bassi
specificano il colore (come nei normali codici colore usati dalla
console) e quello pi&ugrave; significativo attiva l'evidenziazione (oppure,
qualche volta, il lampeggiamento -- dipende dalla configurazione della
tua VGA).
<P>Il terzo parametro consiste nei bit degli attributi dei carattere che 
vuoi impostare. L'impostazione dei bit ha luogo prima del cambio di stato 
dei bit, per cui puoi semplicemente svuotare un bit includendolo sia 
nella toggle mask che in quella delle impostazioni .
<P>Per avere normale sottolineatura lampeggiante:       echo -e '\033[?2c'
Per avere un blocco lampeggiante:               echo -e '\033[?6c'
Per avere un blocco rosso non lampeggiante:     echo -e '\033[?17;0;64c'
<P>
<HR>
<A HREF="Framebuffer-HOWTO-6.html">Avanti</A>
<A HREF="Framebuffer-HOWTO-4.html">Indietro</A>
<A HREF="Framebuffer-HOWTO.html#toc5">Indice</A>
</BODY>
</HTML>