![]() |
Welcome 216.73.216.210 - Suggested View 1024x768 - Last Update 03/03/2003 | ![]() ![]() |
I. Introduzione
Perché questa pagina?
A dispetto del grazioso logo Linux sulla pagina dei driver, sfortunatamente SiS
è una di quelle compagnie che non supporta Linux. Non produce (né
produrrà) documentazione dei suoi prodotti (con poche eccezioni) e scrive driver
solo per Windows. Sebbene abbiano realizzato in passato dei driver per Linux e
recentemente una versione (binaria) di driver per il 650, questi sono e saranno
pesantemente buggati e non più sviluppati da un certo punto in poi. Specialmente a
riguardo del supporto 3D (DRM/DRI), SiS non coopera affatto. Ho ottenuto alcune
informazioni dopo un paio di mesi di insistenze e non solo queste erano incomplete, ma
alle volte persino inesatte. Sebbene alcuni impiegati SiS siano coinvolti in Linux, la
posizione ufficiale dell'azienda sembra essere "Spiacente, niente Linux" (di
nuovo: con eccezioni). Questa politica va tanto lontano quanto più il dipartimento
VGA manterrà segrete le informazioni agli altri dipendenti. Conosco un ragazzo in
SiS (molto simpatico) che sviluppa per Linux e che è nella stessa posizione mia:
sta ipotizzando come funziona l'hardware. Così il progetto che vedete su questa
pagina è in parte il risultato dell'analisi dei dump dei registri di circa 20
versioni di BIOS video. Naturalmente ciò non mostra realmente come il dispositivo
è controllato, ma è sufficiente per scrivere un driver di base. Dopo
settimane di sperimentazioni, il supporto per i chipset più recenti era abbastanza
stabile e utilizzabile. Comunque i limiti di uno sviluppo di questo tipo sono ovvi. Il
BIOS non si occupa dell'accelerazione video, del 3D, della decodifica MPEG, del
cursore del mouse e via dicendo. Nonostante ciò, il mio progetto SiS è
arrivato abbastanza lontano. Quanto? Leggete oltre ...
[..]
Gli attuali programmi di auto-configurazione di XFree non sono in grado di creare un
XF86Config-4 funzionante poichè non informati delle nuove opzioni introdotte.
Sarà perciò necessario configurare manualmente tale file per avere le
migliori prestazioni.
[..]
I comuni drivers del kernel (fino al 2.4.16) e di XFree86 4.1 supportano
diversi dispositivi VGA SiS, sebbene non quelli usati insieme a bridge video (in particolare
LVDS e 301B). Avviando quindi X con il driver 4.1, si verifica un "LCD bug" in cui
lo schermo passa da nero a bianco lasciando il computer inutilizzabile fino al reboot. Il
framebuffer driver del kernel (sisfb) causa un kernel oops su macchine LVDS poichè si
ha perdita di dati in tabelle importanti. Il driver di XFree86 4.1 non supportava la serie
310/325 e la Xabre.
Il driver contenuto in XFree86 4.2 e 4.2.1 è identico ad una vecchia versione di un
mio driver. Funziona bene ma ha un bug nell'Xv (accelerazione video hardware). Inoltre
non supporta ancora del tutto la serie 310/325 e Xabre.
In questa pagina potete scaricare i
driver Xfree86 e il kernel framebuffer che funzionano su praticamente tutte le attuali
macchine con dispositivi VGA SiS, anche se presentano un bridge video.
Mi occupo solo del driver framebuffer del kernel (sisfb) e di quello di XFree86. Non
sto sviluppando nessun materiale legato a DRI/DRM. Potete trovare alcuni suggerimenti su DRI
per la serie 300 su questa pagina.
Quali chipset sono supportati e da quali driver?
Per un'approsimativa visione dello stato attuale (30/12/02), si veda la seguente tabella:
sisfb | X driver | |
old series (CRT1 output) | ![]() |
![]() |
old series (TV output) | ![]() |
![]() |
old series (LCD output) | ![]() |
![]() |
300 series (CRT1 output) | ![]() |
![]() |
300 series (LCD via LVDS) | ![]() |
![]() |
300 series (TV via Chrontel) | ![]() |
![]() |
300 series (LCD via 301) | ![]() |
![]() |
300 series (TV via 301) | ![]() |
![]() |
300 series (LCD via 301B-DH) | ![]() |
![]() |
300 series (TV via 301B) | ![]() |
![]() |
300 series (LCD via 301LV) | ![]() |
![]() |
300 series (TV via 301LV) | ? | ? |
300 series (VGA2 via 301) | ? | ? |
300 series (VGA2 via 301B) | ![]() |
![]() |
315PRO (CRT1 output) | ![]() |
![]() |
315PRO (TV via 301) | ![]() |
![]() |
315PRO (TV via 301B) | ? | ? |
550 (CRT1 output) | ![]() |
![]() |
550 (DSTN/FSTN 320x480 LCD) | ? | ? |
550 (DSTN/FSTN 320x240 LCD) | ![]() |
![]() |
550 (output via bridge) | ? | ? |
650/651/M650/740 (CRT1 output) | ![]() |
![]() |
650/651/M650/740 (LCD via LVDS) | ![]() |
![]() |
650/651/M650/740 (TV via Chrontel) | ![]() |
![]() |
650/651/M650/740 (LCD via 30xB/LV) | ![]() |
![]() |
650/651/M650/740 (TV via 30xB) | ![]() |
![]() |
650/651/M650/740 (TV via 30xLV) | ![]() |
![]() |
650/651/M650/740 (VGA2 via 301/301B) | ? | ? |
Xabre series | ? | ? |
* Gli schermi LCD con risoluzione 1280x960 potrebbero non essere pienamente supportati.
Probabilmente possono essere utilizzati solo con risoluzione 1024x768.
** ECS A901 continua ad avere problemi. E' in fase di sviluppo.
Il driver X disponibile in questo sito è in grado di usare il modo
dual-head sulle serie SiS 300, 310/325 e Xabre se un bridge video è presente.
[..] XFree86 supporta due modi differenti: "Normal", in cui si possono avere due
schermi indipendenti (e quindi due sessioni X) e "Xinerama" in cui questi due
schermi sono virtualmente uno. Si veda la documentazione disponibile su Xfree86.org per maggiori informazioni.
C'é un HOW-TO disponibile su Xinerama. [..] Un esempio di Xf86Config-4 per il
dual-head si trova nella sezione download.
II. Questioni, nuove opzioni e alcune osservazioni
1. Generale
Visto che SiS non rilascia (ha rilasciato o rilascerà) informazioni e/o
documentazione dei suoi dispositivi, in special modo dei bridge video, scrivere un driver
significa essere uno o due passi indietro rispetto allo sviluppo hardware. SiS viene avanti
con nuovi dispositivi ogni anno e non ho tempo per supportarli tutti.
A Dicembre 2002, i driver supportano tutti i dispositivi SiS attuali. Il supporto a Xabre
è tuttavia completamente privo di test. A riguardo dei bridge video, si consulti la
tabella sopra riportata.
Se qualcuno dei driver causa problemi su una macchina tra quelle supportate, scaricate uno
dei programmi "savebios" ed eseguitelo in DOS o Windows 9x/ME mandandomi il file
(vidbios.bin) prodotto, eventualmente seguito dal log di X (impiegando l'ultimo driver
disponibile qui) e l'output di lspci -vv
. L'immagine del BIOS è
richiesta soltanto in caso di problemi di commutazione di modo sui chipset della serie 300,
310/325 e Xabre.
2. Il driver framebuffer SiS (sisfb)
Il driver framebuffer del kernel linux - noto come sisfb - supporta soltanto la serie 300 e
310/325. Il supporto a Xabre è incluso ma completamente non testato.
Perchè dovrei avere bisogno del framebuffer? [..] Ad esempio per ottenere una consolo
grafica ad alta risoluzione [..] inoltre sisfb svolge un importante ruolo [..] : gestisce la
memoria usata da DRI per le texture. Questa gestione della memoria è richiesta
se si usa DRI [..]
Se condividete l'atteggiamento di Linus [N.d.T. antipatia] riguardo i driver
framebuffer, sisfb offre la possibilità di gestire la memoria per DRI lasciando la
console così com'é. Vedere il capitolo opzioni per maggiori informazioni e questa pagina riguardo DRI. [..]
Questo sembra essere un errore fatto comunemente: sisfb e il framebuffer VESA del kernel
non possono essere attivati allo stesso tempo!
Importante: l'archivio
sisfb contiene un file chiamato "sisfb.h" che va copiato in
[kernel-tree]/include/linux
altrimenti si presenteranno errori di compilazione.
Al 30/08/02, il Makefile è stato modificato allo scopo di includere il codice per
l'accelerazione.
Sisfb e kernels 2.5
Sisfb è stato portato sulla nuova interfaccia di programmazione 2.5 come il kernel 2.5.63. Tuttavia non è ancora incluso nel kernel principale, ma lo sarà presto.
Le seguenti informazioni sono basate sull'attuale implementazione del 2.5.64. Ci sono ancora discussioni in atto e al momento sembra che ci si dovranno aspettare dei cambiamenti.
[..] Il più importante cambiamento consiste nella completa separazione tra il driver framebuffer (sisfb nel nostro caso) e il driver della console (chiamato fbcon). Oggi il driver framebuffer tratta solo la programmazione hardware di basso livello mentre lo strato della console si prende cura del resto. Le intenzioni erano di unificare e semplificare i driver framebuffer spostando tutto il codice della console al di fuori di esso.
Tuttavia se gli sviluppatori siano riusciti o meno nella loro intenzione è ancora da decidersi.
[..] Uno dei fattori importanti da conoscere è che avviando da solo sisfb (se
compilato come modulo), non succede niente. Per essere più precisi: non ci
sono effetti visibili. La modalità di visualizzazione (che come per il 2.4 è
stabilita da mode=XxYxD
o vesa=xxx
) non cambia
finché non si lega il framebuffer alla console mediante l'uso di un tool chiamato
con2fb
(se il driver fbcon è compilato staticamente nel kernel) o
caricando il driver fbcon (se compilato come modulo). A questo punto può interessarti
sapere che sisfb non accetta più mode=none
, semplicemente
perchè non più è necessario. Deciderai da solo su usare una console
grafica invocando con2fb
successivamente. Nota: se sisfb, così
come il driver di console, è compilato staticamente nel kernel il driver di console
partirà automaticamente all'avvio. Al momento non c'è modo di aggirare
la cosa.
Suona complicato?
modprobe
sisfb non cambierà il modo video fino a quando non
legherai il framebuffer alla console con con2fb
.modprobe
sisfb non
cambierà il modo video fino a quando non eseguirai modprobe
fbcon
. Se non viene dato un modo, verrà usato pre default
800x600x8.modprobe fbcon
[..]Un'altra importante differenza dalla serie 2.4 sta nel fatto che l'impiego di
fbset
(il tool che cambia la risoluzione della console nel 2.4) non
è più deprecato [..] gli sviluppatori non hanno ancora deciso se usarlo per
rimpiazzare (a mio avviso è inopportuno) stty
[..] che modifica
il modo video usando le righe e le colonne in rapporto ai caratteri del testo
[..] Se chiamate fbset
per cambiare il modo video sotto il kernel 2.5,
la dimensione della console (la somma delle colonne e delle righe) non cambierà,
portando ad alterazioni video. Usate fbset
solo per cambiare il refresh
rate e/o la profondità.
3. Il driver X
Se il driver X - in accordo con la tabella sopra riportata - funziona sulla vostra macchina, riferitevi alla seguente tabella per le caratteristiche attualmente (27/09/02) disponibili (quelle non menzionate, sono supportate):
Xv | 8bpp Modes | 2D accel. | DRI | |||||||||||||
old | 300 | 310 | Xabre | old | 300 | 310 | Xabre | old | 300 | 310 | Xabre | old | 300 | 310 | Xabre | |
in single head mode | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
![]() |
in dual head mode | ![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
![]() |
X: possono essere soggetti a sviluppo strada facendo.
-: non sono supportati da progetto.
?: non si hanno informazioni sul funzionamento.
Osservazioni importanti: Xv (Hardware video
acceleration): è supportato su tutti i chipsets (per Xabre lo stato è
sconosciuto). Le serie 300, 550, M650 e 651 supportano due coperture (overlay) video, tutti
gli altri invece ne supportano uno solo. Sulle vecchie serie, alle volte Xv fallisce nella
corretta visualizzazione dei colori.
[..]
La massima dimensione del frame video è 720x576, sul 5597/5598 384x288.
Le seguenti informazioni si applicano solo alla serie 300, 310/325 (e probabilmente a
Xabre):
Screen
è configurata), i chipset con due overlay mostreranno il video sia su CRT1 che su
CRT2. Su macchine con chipset che supportano solo un overlay, l'opzione XvOnCRT2
permette di scegliere se
l'overlay deve essere mostrato su CRT1 o CRT2. Altri display mostreranno solo il
colorkey (blu per default). Questa è una limitazione hardware.XvOnCRT2
.DHM (Dual head mode):
Option "ForceCRT1"
).DefaultDepth
e le risoluzioni dei due schermi possono essere
differenti. Comunque nel modo Xinerama, DefaultDepth
deve essere
identico per i due schermi.256 colori (8bpp):
DRI:
Sulle vecchie serie, il driver usa i modi di default di XFree86 ed eventualmente modi addizionali aggiunti tramite Modelines.
Sulle serie 300, 310/325 e Xabre le cose sono un po' più complicate. L'uscita del bridge video richiede un modo speciale di programmazione che non può essere fatto fornendo Modelines [..] perciò il driver rimuoverà tutti i modi di default sostituendoli con quelli suoi incorporati [..]
Più sotto trovate una tabella che mostra, per ogni chipset delle serie 300-310/325-Xabre, i relativi modi video incorporati nei driver. Modi addizionali, forniti attraverso Modelines, [..] saranno ignorati per CRT2.
[..] Non dovete preoccuparvi di tutto ciò. Il driver se ne occuperà automaticamente. Mette semplicemente tutti i modi desiderati nella lista dei modi di XF86Config-4; se qualcuno di essi non dovesse essere supportato da uno dispositivo specifico, sarà scartato.
A seconda della risoluzione del pannello LCD e del tipo di bridge usato, i driver supportano differenti risoluzioni. I pannelli LCD non funzionano al di sopra della risoluzione massima per cui sono stati costruiti. Se avete un pannello 1024x768, non tentate mai di usare risoluzioni maggiori della 1024x768.
La configurazione del monitor viene fatta impostando VertRefresh
e
HorizSync
nella sezione(i) Monitor
del suddetto file
di configurazione. Queste impostazioni sono usate solo per CRT1 (uscita VGA) e CRT2
se questa è una uscita VGA secondaria. Non preoccupatevi per il pannello LCD o la TV;
le temporizzazioni saranno eseguite automaticamente.
Se avete un monitor aderente a DDC2, il driver ne impiegerà i valori. In questo
caso VertRefresh
e HorizSync
non sono più
necessari.
Note importanti su SiS730: a differenza del 630, ci sono alle volte dei problemi
se viene usata una profondità di colorore di 24bit alla risoluzione di 1024x768 (o
maggiori) usando contemporaneamente CTR1 e CTR2. Notere ciò dal fatto che lo schermo
LCD mostrerà delle linee lampeggianti o dei semplici tremolii. In questo caso,
modificate il refresh rate di CRT1 riducendo o aumentando il range di
VertRefresh
e/o HorizSync
nella sezione
Monitor
del file XF86Config-4. Un altro modo può consistere nel
passare ad una profondità di 16bpp.
CRT1 | LCD | TV | VGA2 | |||||||
LVDS | 301 | 30xB | 30xLV | Chrontel | 301 | 30xB | 30xLV | 30x/B only | ||
512x384 | ![]() (60Hz only) |
![]() |
? | ? | ? | ![]() |
? | ? | ? | ? |
640x400 | ![]() |
![]() |
![]() |
![]() |
? | ![]() |
![]() |
![]() |
? | ? |
640x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
720x480 | ![]() (60Hz only) |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ? | ? | ![]() |
720x576 | ![]() (56Hz only) |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ? | ? | ![]() |
800x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
848x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
856x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
800x600 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
1024x600 | ![]() (60Hz only) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1024x576 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
1024x768 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? | ![]() |
1152x768 | ![]() (60Hz only) |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
1152x864 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
1280x720 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
? |
1280x960 | ![]() |
![]() |
? | ? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
1280x1024 | ![]() |
? | ? | ? | ? | ![]() |
![]() |
![]() |
![]() |
? |
1360x768 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1600x1200 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1920x1440 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Modalità disponibili sulla serie 310/325 e Xabre:
CRT1 | LCD | TV | VGA2 | |||||||
LVDS | 301 | 30xB | 30xLV | Chrontel | 301 | 30xB | 30xLV | 30x/B only | ||
512x384 | ![]() (60Hz only) |
? | ? | ? | ? | ![]() |
? | ? | ? | ![]() (60Hz only) |
640x400 | ![]() |
![]() |
![]() |
![]() |
? | ? | ? | ? | ? | ![]() |
640x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
720x480 | ![]() (60Hz only) |
![]() |
? | ? | ? | ![]() |
? | ? | ? | ? |
720x576 | ![]() (56Hz only) |
![]() |
? | ? | ? | ![]() |
? | ? | ? | ? |
800x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
800x600 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
848x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
856x480 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1024x576 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1024x768 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1152x864 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1280x720 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1280x768 | ![]() (60Hz only) |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() (60Hz only) |
1280x960 | ![]() |
![]() |
? | ? | ? | ![]() |
![]() |
![]() |
![]() |
![]() |
1280x1024 | ![]() |
![]() |
? | ![]() |
? | ![]() |
![]() |
![]() |
![]() |
![]() |
1360x768 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1400x1050 | ![]() |
![]() |
![]() |
![]() (302B only) |
![]() (302LV only) |
![]() |
![]() |
![]() |
![]() |
![]() (60Hz only) |
1600x1200 | ![]() |
![]() |
![]() |
![]() (302B only) |
![]() (302LV only) |
![]() |
![]() |
![]() |
![]() |
![]() |
1920x1440 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2048x1536 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
X: modi possibili, ma mancano le conoscenze sui dati di timing.
-: non supportato a causa di limitazioni hardware.
?: funzionamento sconosciuto
Nota importante su 512x384 e 640x400: questa non è una modalità CRT2 reale e non è disponibile per CRT2 in modalità dual head. Tuttavia può essere impiegata per CRT1.
I bridges 302B/LV possono avere come risoluzione massima dell'LCD 1600x1200, i
301/B/LV al massimo 1280x1024.
5. Modalità alta risoluzione e uscita TV su SiS6326
Il SiS6326 supporta solo 7 modalità per l'uscita TV [..] il driver X le aggiungerà alla lista dei modi di default [..] Queste sono:
Le modalità che terminano con la lettera "U" sono di tipo "underscan"; si suppone che riempino meglio lo schermo TV [..] ma potrebbero creare un effetto miscuglio (come se mancassero delle line orizzontali).
E' sufficiente inserire queste modalità nella sezione "Screen" del vostro XF86Config-4, come nell'esempio seguente:
Section "Screen"
...
SubSection "Display"
Modes ... "PAL800x600"
"PAL720x540" ...
...
Nel SiS6326 [..] i modi 1280x1024 e 1600x1200 non funzionano correttamente con le
modalità standard. Ho implementato due modi incorporati, 1280x1024 e 1600x1200,
chiamati SIS1280x1024-75
(1280x1024, 75Hz, lavora a 8, 15 e 16bpp) e
SIS1600x1200-60
(1600x1200, 60Hz, 8bpp) che risolvono il problema. Usate
queste modalità allo stesso modo di quelle TV, ad esempio aggiungendole alla lista
nella sottesezione "Display".
Durante lo sviluppo del driver X, ho implementato alcune nuove opzioni che vanno inserite
nella sezione Device
del file di configurazione (in genere
/etc/X11/XF86Config-4
). Inoltre il driver sisfb riconosce alcuni nuovi
parametri e/o opzioni. [..]
Per favore notate che questo documento copre le opzioni che sono nuove o differenti nel funzionamento rispetto al consueto driver; potete avere maggiori informazioni sulle precedenti opzioni usando le pagine di manuale, man sis.
X driver:
sisfb:
Nome: |
|
||||||||||
Chipsets: | Serie 300 (non ha senso sulle altre - N.d.T. DRI è supportato solo sulla 300) | ||||||||||
Descrizione: |
Questa nuova opzione/parametro è usata per impedire che si verifichi un
conflitto tra sisfb e il driver X, causata da tentativi di sovrascrittura reciproca
della memoria video [..] Dal 27/06/02, il driver X è in grado di rivelare
sisfb e la sua mappa di memoria, evitando conflitti [..] Nota: funziona
solamente se sisfb gira in una modalità grafica! Se state usando sisfb con
l'opzione no mode perché non vi
piacciono le console grafiche o per qualsiasi altra ragione, il driver X avrà
bisogno di conoscere la mappa di memoria di sisfb. Fatelo con
MaxXFBMem che specifica quanta memoria userà X lasciando
inalterata la rimanente a disposizione delle texture di DRI. Senza l'opzione
MaxXFBMem , X userà invece tutta la RAM video
disponibile.Se non viene specificato il parametro mem , sisfb partirà
per default:con RAM video > 16MB, da 12MB (12288KB) con 8MB < RAM video < 16MB, da 8MB (8192KB) con RAM video < 8MB, da 4MB (4096KB)Se intendete usare DRI e Xv o risoluzioni maggiori di 1024x768, raccomando di impostare a 12288 sia MaxXFBmem (X driver) che mem (sisfb). Se
non usate DRI e non caricate sisfb, l'opzione MaxXFBmem dovrebbe
essere lasciata fuori [..] In modalità dualhead questa opzione viene ignorata. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: |
Permette di selezionare il dispositivo CRT2 per il driver X e sisfb. I parametri
validi sono
|
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 310/325, Xabre con un bridge video SiSe | ||||||||||
Descrizione: | Le nuove macchine con il 650 o schede con Xabre contengono un connettore DVI per il collegamento a dispositivi analogici o digitali su CRT2 [..] se però connettete un dispositivo dopo il boot, questo non sarà rivelato Il driver X, se non rivela un pannello LCD o una VGA secondaria leggendo i risulati del rivelamento dal BIOS, proverà a trovarli impiegando DDC. Tuttavia, ciò non è sicuro al 100%. Per disabilitare il rivelamento attraverso DDC, settate a "true" quest'opzione [..] DDC per CRT2 è ancora in fase di test. Apprezzerò comunicazioni sui vostri risultati (per favore includete il log di X). | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | L'impostazione a true di quest'opzione forzerà
il driver a passare ad una modalità più bassa di quella della
risoluzione nativa del pannello [..] l'uscita LCD riempirà sempre
l'intero schermo, indifferentemente dalla modalità del display.
Impostandola a "false" verrà disabilitato l'adattamento [..]
Molti panneli dei laptop mostreranno semplicemente una linea nera attorno
all'immagine [..]Attenzione: Alcuni pannelli potrebbero non supportarne la disabilitazione. Perciò se il vostro pannello mostra solo spazzatura, uscite dal server X e rimuovete l'opzione dal file di configurazione di XFree. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Tutti (la seconda solo su 300, 310/325, Xabre con un bridge video SiS - eccetto SIS30B-DH se usando LCD) | ||||||||||
Descrizione: | Il driver SiS supporta la correzione gamma per CRT1 su tutti i chipset. Per CRT2 questa è supportata solo sui bridge video SiS (quindi non sui LVDS e Chrontel 70xx). Il 301B-DH (che si trova sui laptop ECS A90x) non la supporta per l'uscita LCD. Per default la correzione gamma è "on" sia per CRT1 che per CRT2. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | SiS315, 650, 740 | ||||||||||
Descrizione: | [..] Se CRT1 e CRT2 sono rivelati e utilizzati (in modalità dual head o
mirror), quest'opzione seleziona se l'overlay deve essere mostrato sia su CRT1
(se l'opzione è settata su "false" o lasciata
fuori) sia su CRT2 (se settata su "true" ).Nota: Quest'opzione seleziona solo l'head di default. Dal 21/02/03 il driver X fornisce un proprietà Xv chiamata XV_SWITCHCRT che permette di selezionare su quale CRT l'overlay dovrà essere mostrato. Poichè non molte applicazioni Xv sono abbastanza intelligenti per rivelarla correttamente, ho scritto anche un tool chiamato sisswitchxvcrt
che può essere scaricato da questo sito ed è alquanto esplicativo.Quest'opzione è ignorata su chipset che supportano due overlay. Il 6326, 530 e 620 non conoscono CRT2, perciò l'overlay è sempre usato su CRT1. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Tutti | ||||||||||
Descrizione: | Queste opzioni permettono di definire i settagi di default per le proprietà
Contrasto, Luminosità, Colore e Saturazione di Xv. Tutte le opzioni accettano solo valori numerici, i cui range sono: XvDefaultContrast 0 - 7, XvDefaultBrightness -128 - 127, XvDefaultHue -8 - 7, XvDefaultSaturation -7 - 7. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | SiS5597/5598, 6326, 530, 620 | ||||||||||
Descrizione: | Ovviamente l'hardware ha problemi con overlay video YV12 più larghi di
384x288 [..] Impostate quest'opzione a "true" per
disabilitare il supporto YV12, in modo tale da forzare le applicazioni ad usare YUY2 o
XShm per i materiali YV12. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre series | ||||||||||
Descrizione: | Questa opzione può essere usata per forzare il driver ad attivare CRT1
("true" ) o a spegnerlo
("false" ). Se omessa, il driver rivelerà
automaticamente se un monitor è collegato (deve esserlo sin dal boot) o
meno.Attenzione: questa opzione può creare problemi su alcune macchine [..] Usarla solo se assolutamente necessaria, per esempio se il vostro monitor VGA non viene rivelato [..] Sisfb accetta come parametro 0 (per OFF) o 1 (per ON). |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | Se sisfb viene avviato con mode=none (o
mode:none se compilato nel kernel) [..] sarà possibile
usare DRI in X lasciando la console in modo testo. Se non viene specificato un modo,
sisfb userà mode=none per default se avviato come modulo,
800x600x8 se compilato nel kernel [..] ma nel primo caso dovrà essere
specificata l'opzione MaxXFBmem altrimenti il driver X non
sarà in grado di rivelare la presenza di sisfb (a causa di
mode=none appunto). Si veda quanto sopra esposto in proposito.Questa caratteristica non è più supportata nel kernel 2.5. Per favore si veda sopra. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Serie 300 con LVDS o bridge video 301B e pannello LCD | ||||||||||
Descrizione: | Questa opzione/parametro serve solo su macchine con chipset serie 300, bridge
video LVDS o 301B e un display LCD [..] Se il vostro pannello presenta "piccole
onde" (non sono come definirle altrimenti) dopo l'avvio di X, provate a
settare questa opzione a "4", "32" o "24". Se non
funzionasse, provate altri valori compresi tra 4 e 60 a passi di 4. Molto probabilmente non ne avrete bisogno. Conosco solo due macchine (MITAC 7521T e Asus A1xxx) che necessitano di un valore pari a "32". Aggiornamento: Al 20/09, il driver X contiene una "black-list" di macchine note per richiedere valori non di default. Consultate il log di X per vedere se la vostra macchina è rivelata come tale. I laptop Asus non sono in questa lista perché il loro PCI ID non è unico per sistemi che richiedono un settaggio speciale. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | [..] Non è impossibile che SiS decida un giorno o l'altro di cambiare locazione per i dati all'interno della ROM. Nel caso accadesse, impostate questa opzione a "false" o "0" in modo tale da prevenire l'impiego di dati non corretti. Molto probabilmente non avrete mai bisogno di fare ciò. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | Se la TV o LCD mostrano strani effetti come punti lampeggianti o mancanza di colore, potete provare a disabilitare l'uso di questi dati usando quest'opzione. Molto probabilmente non ne avrete mai bisogno. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | [..] Se il bridge video deve essere usato, non è necessario
impiegare Modelines. Per disabilitare questo comportamento, usare questa opzione.
Nota: il driver X è comunque limitato ai modi che conosce per CRT2. Le
Modelines non avranno nessun effetto su CRT2. [..] Per favore consulta il Capitolo 4 per maggiori informazioni sui modi video e la
configurazione del monitor. L'uso di questa opzione non è raccomandato. Serve principalmente per il debugging. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | [..] Sisfb esegue l'accelerazione 2D di default. Se per qualche ragione volete disabilitare questa caratteristica, usate la presente opzione [..] nel qual caso y-panning sarà disabilitato automaticamente (vedi prossima opzione). | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | Sisfb conosce due modi per far scorrere il testo: ridisegnando lo schermo o attraverso il panning [..] Y-panning è molto più veloce del redrawing, ma richiede l'accelerazione 2D [..] Se per qualche ragione volete disabilitare y-panning, usate quest'opzione. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | Il parametro vesa di Sisfb permette di scegliere il modo
desiderato utilizzando numeri di modo VESA (decimali o esadecimali) [..] |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 5597/5598 | ||||||||||
Descrizione: | [..] Il bus host CPU-VGA accelera l'accesso della CPU alla memoria video. Normalmente non dovreste settare questa opzione; solamente nel caso usiate un SiS5597/5598 con una CPU non Pentium, il bus host potrebbe causare problemi e quindi andrebbe disabilitato. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325 and Xabre | ||||||||||
Descrizione: | Questa opzione può essere impiegata per superare problemi che potrebbero presentarsi sui pannelli LCD di alcune macchine quando si passa a una console virtuale o uscendo da X [..] Nota: questo comportamento è, a prescindere dall'opzione, utilizzato sempre (N.d.T cioè l'opzione è attiva) su macchine con bridge SiS30x/B/LV e su macchine con un SiS730 e un trasmettitore LDS [..] | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre; 6326 con TV (solo driver X) | ||||||||||
Descrizione: | Il driver rivela automaticamente il settaggio del BIOS per PAL o NTSC (o PAL-M o
PAL-N) nel 99% dei casi. Se fallisse sulla vostra macchina, [..] usate
quest'opzione per correggere il problema. Valori validi sono
PAL o NTSC , mentre sulla serie 630/730 e
310/325/Xabre con un bridge SiS oppure un Chrontel 7019 (non 7005!) anche
PALM (per l'Argentina) e PALN (per il
Brasile). PALM e PALN sono disponibili solo nel driver X [..] Se l'hardware non
supporta PAL-M o PAL-N, verrà usato PAL. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 310/325, Xabre con Encoder TV Chrontel 7019/7020 | ||||||||||
Descrizione: | Questa opzione è valida solo per sistemi con un Chrontel 7019 (o 7020) [..]
usatela per selezionare "SCART" o
"HDTV" in accordo alla vostra configurazione
hardware. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel | ||||||||||
Descrizione: | [..] Usatela per scegliere se volete overscan o underscan. Nota: per qualche
ragione, SiS non si preoccupa di implementare un modo TV a pieno schermo per PAL.
Così, sebbene il nome "overscan" dovrebbe indicare un'immagine TV
senza bande nere attorno, queste continueranno ad esserci anche nel modo
overscan. Saranno però più piccole che nel modo underscan.
L'overscan NTSC è realmente a pieno schermo. Valori validi sono
true (overscan) o false (per underscan). |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Serie 300 con Encoder TV Chrontel 700x in modalità PAL | ||||||||||
Descrizione: | [..] Impiegando quest'opzione lo schermo apparirà un po' più
grande della vostra TV. Naturalemente per il normale impiego non è la cosa
ideale. Per la visione di video invece lo sarà. Questa opzione revoca
l'opzione CHTVOverScan e ha effetto solo in modalità
PAL alle risoluzioni 640x480 e 800x600. I valori validi sono true
(super overscan) o false (default; usa l'overscan normale o
underscan a seconda dell'impostazione nel BIOS e dell'opzione
CHTVOverscan ). |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel | ||||||||||
Descrizione: | [..] Consente l'impostazione fine dei filtri luma sul chip Chrontel. Tuttavia ha un piccolo effetto. Le varianti CVBS e SVIDEO si applicano soltanto se la vostra macchina ha il corrispettivo connettore. Tutte queste opzioni accettano valori compresi fra 0 e 15 [..] | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel | ||||||||||
Descrizione: | Consente l'impostazione fine dei filtri chroma sul chip Chrontel. Come per Luma, ha un piccolo effetto. Queste opzioni accettano valori compresi fra 0 e 15 [..] | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel | ||||||||||
Descrizione: | [..] Impostando l'opzione su valori più alti, viene incrementata la leggibilità del testo. I valori possibili sono compresi tra 0 e 15. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel | ||||||||||
Descrizione: | [..] Impostando quest'opzione su valori alti si aumenta il contrasto. I valori possibili sono compresi tra 0 e 15. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con Encoder TV Chrontel e connettore CVBS | ||||||||||
Descrizione: | Questa opzione permette di disabilitare il colore in modalità CVBS [..] ciò è utile principalmente trattando il testo, dove il colore non è necessario. I valori possibili sono "true" (usa il colore = default) o "false" (disabilita colore). | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con SiS 301 | ||||||||||
Descrizione: | Consente di settare l'Edge Enhacemente Engine del SiS 301 che si dice incrementi la qualità dell'uscita TV. I valori possibili sono compresi tra 0 e 15. Nota: questa opzione è valida solo per il 301, non per i suoi successori, dal 30xB in poi. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con SiS 30x/30xB/30xLV | ||||||||||
Descrizione: | Quest'opzione consente di settare il motore anti-flicker (tremolio). Si dice
incrementi la qualità dell'uscita TV. I parametri validi sono
OFF , LOW , MED ,
HIGH o ADAPTIVE . |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre con SiS 30x/30xB/30xLV | ||||||||||
Descrizione: | Consente di regolare la saturazione del colore TV. I valori possibili sono compresi tra 0 e 15. | ||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 6326 con uscita TV | ||||||||||
Descrizione: | Quest'opzione consente di settare le capacità hardware anti-flicker
(tremolio). I parametri validi sono OFF , LOW ,
MED , HIGH o ADAPTIVE . |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 6326 con uscita TV | ||||||||||
Descrizione: | La prima di queste opzioni consente di abilitare/disabilitare il filtro hardware
Y; la seconda determina se il filtro deve essere forte o debole [..] accettano come
parametro TRUE o FALSE . |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre; 6326 con uscita TV | ||||||||||
Descrizione: | Consente di settare la posizione dello schermo sulla TV [..] Entrambe le opzioni
accettano valori compresi tra -32 e 32 (sul 6326 da -16 a 16). Un valore negativo
sposta lo schermo in alto a sinistra, uno positivo in basso a destra. Solo per il
Chrontel 700x: l'unità sembra essere tra 8 e 16 pixel [..] i valori
negativi non sono consentiti [..] può accadere che la posizione non cambi della
quantità specificata [..] Questa opzione non è supportata dal Chrontel 701x. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | 300, 310/325, Xabre | ||||||||||
Descrizione: | In XFree 4.3, il server X supporta l'alpha blended multicolore per il cursore.
Questa opzione consente di abilitarlo ("true" ) o
disabilitarlo ("false" ) in hardware [..] (Nota: XFree
continuerà a mostrare cursori colorati anche se l'opzione e settata su
"false"; tuttavia non sarà impiegata l'accelerazione hardware per
disegnare il cursore).La serie 300 non supporta l'alpha blending in hardware. Perciò ho implementato una emulazione [..] si vedano le due opzioni successive per controllarne il funzionamento. Il tema di cursore RedGlass, che XFree 4.3 usa di default, non appare un granché bene impiegando l'emulazione. Tuttavia è possibile creare temi per il cursore senza l'alpha blending forse anche avantaggiandosi delle restrizioni dell'emulazione [..] se avete creato un tema per il cursore per la serie 300, sarò felice di pubblicarlo su questo sito. Tutte queste informazioni sull'emulazione alpha blending non si applicano alla serie 310/315 o 330 (N.d.T.è supportato in hardware). Le serie vecchie non supportano cursori colorati Per default, il supporto HW è disabilitato sulla serie 300 e abilitato sulla 310/325 e 330. |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Solo serie 300 | ||||||||||
Descrizione: | [..] La serire 300 non supporta il cursore alpha blending. Il driver X
eseguirà un'emulazione dell'alpha blending per questi chipsets. Per
disabilitare l'emulazione, impostare a "false" . |
||||||||||
Sinossi/Esempio: |
|
||||||||||
|
|||||||||||
Nome: |
|
||||||||||
Chipsets: | Solo serie 300 | ||||||||||
Descrizione: | Questa opzione, che prende come parametro un intero compreso tra 0 a 255, consente di selezionare un livello di trasparenza che funziona da soglia fra pixel che devono essere visualizzati come solidi e in tal modo può essere usato per "distorcere" lo sfondo [..] Il default è 55 che è, a mio modesto avviso, la migliore soglia possibile per il tema RedGlass (che continua comunque a non essere un granchè). | ||||||||||
Sinossi/Esempio: |
|
III. Links
Per maggiori informazioni, vedere i seguenti link:
[Voglio segnalare un link su questo
argomento]
[..]
V. Risoluzione problemi e FAQ
In questa sezione ho elencato alcuni problemi incontrati da persone che usano il driver. La sezione è ancora in costruzione.
libGL.so*, libGLU.so*
esistenti come pure tutti i
files in /usr/X11R6/lib/modules/dri/
prima di installare XFree 4.3. Dopo di
ciò, copiarli semplicemente nelle loro vecchie locazioni.Prima di scaricare i driver, per favore considerate ciò:
Ho speso di gran lunga oltre 2000 ore nello sviluppo di questi driver dal 2001, senza
considerare il numero di ore speso a rispondere alle vostre mail. SiS non mi supporta in
nessuna maniera (con pochissime eccezioni) e di fatto fanno soldi grazie al mio lavoro
(vendono un sacco di chip a compagnie come ECS che a loro volta distribuiscono macchine che
in molti casi hanno preinstallato Linux/XFree86). Inutile dire che nemmeno ECS e le altre
compagnie che utilizzano chipset SiS nelle loro macchine mi forniscono supporto.
Considerando ciò, penso che sia onesto aspettarsi da te un piccolo contributo, dalle
persone che usano questo driver e che forse ci fanno anche dei soldi utilizzandolo. Dato che
il mio appartamento è già stipato di hardware, non ho necessità diretta
di altro hardware. Dalle compagnie che vendono macchine basate su Linux/XFree86 utilizzando
i miei driver, penso che un contributo finanziario una-tantum che ammonti a 100 EUR/ 100 US$
non è irragionevole. Per uso privato, sono benvenute donazioni una-tantum che
ammontino a 11 EUR/ 11 US$. Nel caso tu convenissi su queste considerazioni, per favore
trasferisci il tuo contributo sul mio conto bancario "BANK AUSTRIA CREDITANSTALT
AG", intestato a "Thomas Winischhofer, numero IBAN AT181200000706360542 (numero di
conto 706360542, codice SWIFT/BIC BKAUATWW, Bankleitzahl 12000).
Oppure usa PayPal: e-mail:
thomas@winischhofer.net, tipo "Service", valuta: EC paesi EUR, fuori da EC US$. Se
usate PayPal, per favore trasferite la somma che volete donare più 2 EUR / 2 US$ (che
saranno trattenute da PayPal come tassa). Grazie.
[ N.d.T. ] Verificate se sono disponibili nuove versioni qui |
Modulo SiS DRI (richiesto se si usano i binari sopra)
Altro materiale
Materiale di supporto allo sviluppo
dd if=/dev/mem of=/tmp/vidbios.bin bs=1 count=65535 skip=786432
(ringraziamenti alla gente ThizLinux ..)