In caso di problemi vi invito a consultare il
documento originale,
contenente alcune informazioni in più che potrebbero esservi utili e qui
tralasciate perché improntate per lo più ad una maggiore comprensione
teorica del progetto. Inoltre non garantisco un aggiornamento continuo della presente
traduzione; tenetene conto e riferitevi alla data di ultimo aggiornamento in cima alla
pagina.
Nel caso abbiate
difficoltà nella compilazione del kernel potete vedere in
proposito la mia
guida o consultare la
documentazione contenuta nella vostra distribuzione. Se invece il problema consiste
nell'
applicare la patch al kernel, potete prendere spunto da alcune brevi
istruzioni nella
guida alla
configurazione di uno scanner su porta parallela che, guarda caso, richiede di
patchare il kernel.
NOTA: prima di incominciare a leggere, controllate quale versione del chipset è
presente nella vostra macchina, tenendo presente che
le seguenti istruzioni sono valide
solo per i chipset SiS serie 300 (300, 540, 630, 730).
[..]
Vediamo quali sono i driver coinvolti e a cosa servono:
- Il driver per il framebuffer del kernel (sisfb.o): fornisce il modo video
console e gestisce la memoria video. Questo driver non dipende da nessun'altro
driver SiS.
- Il modulo kernel SiS DRM (sis.o): DRM sta per Direct Rendering Manager;
è responsabile della programmazione di basso livello per l'hardware grafico.
Richiede il driver framebuffer per gestire la memoria video.
- Il driver SiS X DRI (sis_dri.so): DRI sta per Direct Rendering
Infrastructure; è usato dal driver X per la programmazione diretta
dell'hardware (ad esempio per l'accelerazione 3D). Questo driver dipende dal
modulo DRM e conseguentemente dal driver sisfb.
- Il driver SiS X (sis_drv.o): Amministra X rendendo disponibile l'hardware
video e l'accelerazione 2D. Non dipende da nessu'altro driver se NON viene
impiegato anche DRI, altrimenti necessita del modulo DRM e quindi del driver sisfb.
A seconda che intendiate impiegare X con o senza DRI, seguite la seguente tabella delle
dipendenze dei driver:
Driver |
dipende da |
richiesto per X con DRI |
richiesto per X senza DRI |
sisfb |
- |
 |
 |
SiS DRM driver |
sisfb |
 |
 |
SiS X DRI driver |
SiS DRM driver |
 |
 |
SiS X driver |
SiS DRI driver |
 |
 |
In definitiva sono necessari TUTTI i driver solo se si intende usare
l'accelerazione 3D.
Nota: Il modulo DRM contenuto nella serie 2.4.17 del kernel linux funziona bene;
dalla 2.4.18-rc1 c'é un problema per cui si verificano errori di "out of
memory". Una patch è disponibile qui. Questa patch non è
richiesta per le versioni 2.4.18-rc2 e successive.
A seconda delle necessità sarà quindi possibile scegliere tra le seguenti
configurazioni:
Caso 1: Voglio sisfb compilato nel kernel utilizzando X con una profondità di
24 bit e con DRI
- Scaricate il
più recente codice sorgente disponibile di sisfb e decomprimete
l'archivio in
/usr/src/linux/drivers/video/sis/
(o dove altro si
trovano i sorgenti del kernel). Copiate il file sisfb.h sovrascrivendolo a quello
vecchio in /usr/src/linux/include/linux
. Configurate quindi il kernel
all'uso del framebuffer SiS, selezionando solo il supporto SiS 300/630 e non
SiS 315 (a meno che la vostra macchina non possieda un chipset 315/550/650/740,
ma in questo caso l'intera operazione non ha più senso dato che DRI non
è supportato sulla serie 310/325).
[N.d.T. per selezionare tale supporto è necessario abilitare nel kernel
l'opzione "Prompt for development and/or incomplete
code/drivers"
nella sezione "Code maturity level
options"
(la seconda mi pare) che permette appunto l'uso di componenti
ancora in fase sperimentale. Infine andare in "Console drivers"
,
attivare "Framebuffer support"
-> "SiS
acceleration"
-> "SiS 630/540/730 support"
=
Y]
- Applicate la patch
DRM per il kernel, impostate DRM come modulo e compilatelo come tale; infine
ri-compilate il kernel (la patch non è richiesta per le versioni kernel
2.4.18-rc2 e successive).
- Aggiungete come parametro del kernel
video=sisfb:mode:none,mem:12288
al lilo.conf (o a qualunque altro
boot manager usiate).
- L'uso di
mode:none
è a vostra discrezione; se
desiderate la console grafica, specificate un modo valido invece di
mode:none
, come ad esempio
mode:1024x768x16
.
- Scaricate il
più recente driver X e copiatelo in
/usr/X11R6/lib/modules/drivers/
(o dove altro si trovano i binari di XFree).
- Settate il file di configurazione di X (di solito
/etc/X11/XF86Config-4
) con una profondità di 24 bit
(DefaultDepth 24
nella sezione Screen
) e
specificate Option "MaxXFBMem" "12288"
nella
sezione Device
.
- Impostate la memoria video ad almeno 32MB nel setup del BIOS.
Caso 2: Voglio sisfb compilato come modulo utilizzando X con una profondità
di 24 bit e con DRI
- Scaricate il
più recente codice sorgente disponibile di sisfb e decomprimete
l'archivio in
/usr/src/linux/drivers/video/sis/
(o dove altro si
trovano i sorgenti del kernel). Copiate il file sisfb.h sovrascrivendolo a quello
vecchio in /usr/src/linux/include/linux
. Configurate quindi il kernel
all'uso del framebuffer SiS come modulo, selezionando solo il supporto SiS
300/630 e non SiS 315 (a meno che la vostra macchina non possieda un chipset
315/550/650/740, ma in questo caso l'intera operazione non ha più senso dato
che DRI non è supportato sulla serie 310/325).
[N.d.T. per selezionare tale supporto è necessario abilitare nel kernel
l'opzione "Prompt for development and/or incomplete
code/drivers"
nella sezione "Code maturity level
options"
(la seconda mi pare) che permette appunto l'uso di componenti
ancora in fase sperimentale. Infine andare in "Console drivers"
,
attivare "Framebuffer support"
-> "SiS
acceleration"
-> "SiS 630/540/730 support"
=
M]
- Applicate la patch
DRM per il kernel, impostate DRM come modulo e compilatelo come tale; infine
ri-compilate il kernel (la patch non è richiesta per le versioni kernel
2.4.18-rc2 e successive).
- Prima di avviare X, eseguite
insmod sisfb mode=none mem=12288
per caricare il driver del framebuffer senza modificare il modo console.
- L'uso di
mode:none
è a vostra discrezione; se
desiderate la console grafica, specificate un modo valido invece di
mode:none
, come ad esempio
mode:1024x768x16
.
- Scaricate il
più recente driver X e copiatelo in
/usr/X11R6/lib/modules/drivers/
(o dove altro si trovano i binari di XFree).
- Settate il file di configurazione di X (di solito
/etc/X11/XF86Config-4
) con una profondità di 24 bit
(DefaultDepth 24
nella sezione Screen
) e
specificate Option "MaxXFBMem" "12288"
nella
sezione Device
.
- Impostate la memoria video ad almeno 32MB nel setup del BIOS.
Caso 3: Voglio usare X con una profondità di 16 bit con DRI
- A seconda che vogliate impiegare sisfb compilato nel kernel o come modulo,
seguite il primo passo dei casi 1 o 2.
- Scaricate il
più recente driver X e copiatelo in
/usr/X11R6/lib/modules/drivers/
(o dove altro si trovano i binari di XFree).
- Settate il file di configurazione di X (di solito
/etc/X11/XF86Config-4
) con una profondità di 16 bit
(DefaultDepth 16
nella sezione Screen
) e
specificate Option "MaxXFBMem" "12288"
nella
sezione Device
.
- Impostate la memoria video ad almeno 32MB nel setup del BIOS.
Caso 4: Voglio utilizzare X senza DRI
- Non è necessario compilare sisfb né come modulo né nel
kernel, poiché non richiesto quando non si usa DRI.
- Per la stessa ragione, la patch DRM per il kernel non è richiesta.
- Scaricate il
più recente driver X e copiatelo in
/usr/X11R6/lib/modules/drivers/
(o dove altro si trovano i binari di XFree).
- Settate il file di configurazione di X (di solito
/etc/X11/XF86Config-4
) con la profondità desiderata.
- NON usate
Option "MaxXFBMem"
nella sezione
Device
.
- Impostate la memoria video ad almeno 8MB nel setup del BIOS.
Caso 5: Voglio usare X nel modo dual-head
- Seguite i passi del caso 4 sopracitato.
- Riferitevi all'XF86Config-4 di esempio per il
setup.
- Per abilitare/disabilitare il modo Xinerama, aggiungete/rimuovete
Option
"Xinerama"
nella sezione Server Layout
.
- Nel modo Xinerama, i due schermi devono avere la stessa profondità di
colore. Nel modo "normal" dual-head, le profondità possono invece
essere differenti.
Applicazioni DRI e trucchi
- Tutte: Se ci sono problemi con DRI, provate a compilare il kernel senza il
supporto AGP "Generic SiS". L'attuale agpgart (2.4.18) non supporta
correttamente l'AGP bridge SiS5591/5592. Ciò può creare problemi ad
alcune applicazioni DRI. Tuttavia alcune di esse richiedono il supporto AGP (ad
esempio Soldier of Fortune, Heretic II).
- Quake III: Usare sempre l'illuminazione "Lightmap" (non
"Vertex") nel "System Setup". C'è un bug noto nel vertex
lighting di Quake. Se usate il supporto AGP, abilitate sempre l'opzione "Sync
Every Frame" in "Game Options", altrimenti ci saranno corruzioni video e
forti ritardi.
- Return To Castle Wolfenstein: Se usate il supporto AGP, abilitate sempre
l'opzione "Sync Every Frame", altrimenti ci saranno corruzioni video e
forti ritardi.
- Soldier Of Fortune: Questo gioco richiede il supporto AGP, altrimenti
non partirà.
- Descent 3: Evitate il menù di configurazione; se dovete modificare la
configurazione fatelo durante il gioco, altrimenti Descent potrebbe segnalare che il
driver OpenGL è troppo lento (il che non è vero).
- Chromium: Funziona, ma per qualche ragione ha problemi con il mouse.
- GLtron: Funziona, ma ha problemi con il mouse.
- TuxRacer: Funziona. Forse dovrete cancellare la directory
~/.tuxracer
dopo aver giocato con una profondità di colore
diversa.
- Half-Life: Funziona.
- Unreal Tournament: Funziona soltanto senza AGP (e con un framerate superiore
a quello sotto Windows).
- Heavy Gear II: Funziona. Dovrete ridefinire la mappa dei tasti di controllo
dato che per default vengono impostati quelli del tastierino numerico (difficoltosi su
un laptop).
- Heretic II: Funziona, sebbene abbia problemi quando l'AGP non è
attivato. Dovete specificare l'intero percorso della libreria
libGL.so.1
(ad esempio /usr/lib/libGL.so.1
) e settare il gioco
per l'uso di OpenGL (e non del rendering software). Questo gioco è un po'
vecchio e non è il massimo per il testing.
- XMMS Plugins: In generale funziona; ho testato "OpenGL LAVA",
"OpenGL Spectrum Analyzer", "OpenGL Fishmatic" senza alcun
problema.
- GlxGears: Funziona. Non preoccupatevi se, anche dopo la chiusura, sullo
schermo rimane visualizzata la sua finestra. Ciò è normale e non crea
alcun problema al sistema.
- Tutte: Alle applicazioni DRI non piace essere interrotte da una commutazione
sull' uscita TV o da suspend/resume. Non crashano, ma lo schermo apparirà
diverso. Cercate di evitarlo.