03/03/2006
Ebbene ancora la solita storia: nuovo kernel, nuovi problemi con il winmodem. Ho
installato Mandriva 2006 (cooker) con kernel 2.6.12-13 e il modem interno ha smesso di
funzionare .. viene rilevato correttamente ma non compone il numero oppure non va oltre la
fase di handshake. Ho quindi rivisto un po' le cose e il tutto è facilmente
risolvibile. Come prima cosa ho sfruttato il supporto nativo di ALSA che da tempo copre
un'alta varietà di winmodem. I moduli necessari per il mio modem sono
snd-intel8x0m
e
snd-page-alloc
mentre il modulo
slmodem
non è più necessario. A questo punto si rende
necessario compilare il demone
slmodemd
con il supporto per ALSA (andate
nella dir
modem
e date
make ALSA_SUPPORT=1
) e copiarlo in
/usr/bin/
; infine ho modificato il vecchio script per poter caricare il tutto
all'avvio del sistema. Fate attenzione a caricare questi moduli PRIMA di quelli ALSA
altrimenti il modem potrebbe non funzionare per conflitti con il sistema audio. Potete
aiutarvi con KsysV per stabilire l'ordine di esecuzione degli script di avvio nei
runlevel 5 e 3.
Il vostro modem sarà ora disponibile sul solito device
/dev/ttySL0
nuovamente funzionante; da alcuni test eseguiti è risultato molto stabile e
veloce.
Questo è lo script. Leggetelo per adattarlo al vostro
sistema, è ampiamente commentato. Per quanto riguarda il software SmartLink, ho
impiegato l'ultimo attualmente disponibile che potete prelevare
qui.
Infine volevo segnalare un utilissimo programma, ScanModem, che può aiutare a
comprendere meglio come configurare e installare correttamente un winmodem; potete
scaricarlo
qui.
29/05/2005
Eccoci ancora una volta a parlare del winmodem e dei driver Smart Link necessari al suo
funzionamento. Nella news precedente avevo menzionato l'errato caricamento di tali
driver con il kernel 2.6.11; ora, finalmente, una patch risolve la cosa restituendoci la
possibilità di usare il modem interno del nostro portatile.
Di seguito le semplici istruzioni su cosa fare:
1) Scaricare
la patch
2) Copiarla nella directory
patches
3) Andare nella directory principale dei driver SmartLink (in questo caso
slmodem-2.9.10
) e applicare la patch con
patch -p0 <
patches/slmodem-2.9.10-abby.diff
Un messaggio simile al seguente vi conferma la corretta esecuzione
dell'operazione:
patching file drivers/amrmo_init.c
Hunk #1 succeeded at 695 (offset 3 lines).
Hunk #2 succeeded at 722 (offset 3 lines).
Hunk #3 succeeded at 737 (offset 3 lines).
In pratica sono state eseguite 3 modifiche al file
amrmo_init.c
, tutto qui.
Ora è possibile compilare al solito modo i driver (
make install
) e
caricarli con
modprobe slamr
. Questa volta, oltre all'assenza di messaggi di
errore, eseguendo
dmesg
si potrà verificare che tutto è andato per
il verso giusto:
slamr: SmartLink AMRMO modem.
slamr: probe 1039:7013 SiS630 card...
ACPI: PCI interrupt 0000:00:01.6[C] -> GSI 5 (level, low) -> IRQ 5
slamr: mc97 codec is SIL26
slamr: slamr0 is SiS630 card.
Se volete potete impiegare il mio script, come spiegato
qui, e
avrete il modem automaticamente pronto all'uso ad ogni avvio del sistema.
Bene, speriamo di non avere più problemi a riguardo ... nel caso cambiaste kernel
non dovrete far altro che ricompilare e installare i driver slmodem; applicare la patch
non sarà più necessario, basta la prima volta.
13/04/2005
Attenzione: ho installato il kernel 2.6.11 della Mandrakelinux 10.2, attualmente in uscita
in versione "downolad", e ho avuto la spiacevole sorpresa di vedere che il
driver del winmodem non veniva più caricato dal kernel. Di conseguenza addio modem.
Non c'é nulla da fare, urge una bella riscrittura del codice del driver!
10/03/2005
Dunque, ho avuto non pochi problemi con il maledetto winmodem SmartLink HAMR5600 e il
kernel 2.6.8 di Mandrakelinux 10.1. Infatti ha smesso di funzionare per riprendere solo
dopo le seguenti operazioni:
- la versione 2.9.7 dei driver che usavo prima non funziona più, passare alla
2.9.10
- lo script
/etc/rc.d/init.d/slmodemd
non funziona più, o meglio,
accade che con il modprobe automatico all'avvio (mediante l'inserimento della
riga slamr
in /etc/modprobe.preload)
il modem non funziona
correttamente, mentre se viene caricato DOPO i principali servizi, miracolosamente tutto
va a posto. Probabilmente c'è qualche conflitto con ALSA ... ho deciso quindi
di demandare ogni necessaria operazione allo script di avvio (perciò rimuovete la
riga suddetta).
Ho preparato un
nuovo scriptone che svolge i seguenti compiti:
1) verifica che il demone binario sia installato
2) verifica che il driver del modem, per il kernel in uso, sia presente e supportato
3) carica il driver suddetto
4) lancia il demone suddetto e crea i necessari link simbolici ai device
Le prime due verifiche sono d'aiuto per identificare comuni errori di installazione
dei driver, ma possono tranquillamente essere escluse; alla riga 77 ho dovuto invece
inserire una pausa di 2 secondi necessari al mio sistema per caricare il driver nel kernel
e creare i device che saranno poi utilizzati dal demone binario
/usr/sbin/slmodemd
. Provate a diminuire tale pausa o eliminarla, se il vostro
sistema lo consente. Per eseguire delle prove, è sufficiente dare il comando
/etc/init.d/slmodemd start
e verificare se il modem funziona; con
/etc/init.d/slmodemd stop
si arresta invece il servizio.
Alla riga 91 creo un symlink
/dev/modem
poiché alcune versioni di Kppp
sembrano non funzionare correttamente se si usano device "strani"; impostatelo
quindi in modo tale che punti a
/dev/modem
.
Che altro aggiungere ... alle righe 34-36 si possono modificare alcune variabili, ad
esempio nel caso in cui si utilizzi un modem USB anzichè AMR, oppure il paese dove
se ne vuole far uso. Tutto lo script è ampiamente commentato, dateci
un'occhiata, è semplice apportarvi qualche utile modifica per il vostro
sistema.
In caso di errori o problemi, ma anche in caso di successo, usate il
Guestbook per informarmi.
Aggiornamento: nonostante le suddette modifiche, il modem sembra funzionare in modo
irregolare.. per ora non c'é molto da fare :-(
27/10/2004
L'unico modo per far tornare a nuova vita l'accelerazione 3D in Mandrakelinux 10.x
è quello di installare X.org e il nuovo driver appositamente compilato dallo
sviluppatore. Ho quindi scaricato la versione
Xorg 6.8.1 (che d'ora in avanti
sostituirà XFree86 per problemi di licenza), copiato il nuovo
driver e
testato il tutto dopo aver verificato che
/var/log/Xorg.0.log
non riportasse
errori. Ecco il risultato (con 32MB di memoria video condivisa):
glxgear ottiene
non meno di 230 fps mentre
Tuxracer ha una media di 20 fps. Non male, quasi in
linea con i vecchi tempi, salvo un maggior dispendio di memoria video se paragonato ai
risultati ottenuti
in passato.
Un'ultima nota: con X.org il nome del file di configurazione dell'X server cambia
in
xorg.conf
e potete trovare
qui il
mio come esempio.
24/06/2004
Provata la nuova Mandrake Linux 10.0 (la Official, non la versione Community estrememente
buggata). Le novità principali sono naturalmente il kernel 2.6.3 e KDE 3.2,
entrambi eccezionali nell'estendere e migliorare le performance del sistema.
Ma vediamo cosa cambia per il notebook Asus serie A1:
Per quanto riguarda il sistema video, c'è da dire che a partire dai kernel
versione 2.6.3,
non si rende piu' necessario l'uso del framebuffer sisfb e
quindi il sistema dovrebbe essere già pronto all'uso (magari aggiornate il
driver X). Purtroppo ho constatato bassissime prestazioni nonostante l'abilitazione di
DRI avvenga correttamente; ciò sembra causato dalla mancanza del driver DRI per
sistemi SiS (sis_dri.so) nella versione 4.3 di XFree86. L'autore dei driver sostiene
che sia sufficiente utilizzare quello di XFree86 4.2.1 ma, nonostante diversi tentativi,
la situazione non è cambiata. Comunque il problema viene risolto con la versione
4.4 e dal futuro server grafico (X.org) che andrà a sostituire il precedente per
problemi di licenze.
Piccola novità anche per il
funzionamento del touchpad e del modem interno:
a fine installazione il touchpad funziona correttamente ma non è possibile eseguire
il click mediante il "tocco" mentre il modem richiede un driver più
recente e qualche correzione per funzionare a dovere.
Come prima cosa è necessario scaricare il software Synaptics e installarlo (potete
usare
questo) quindi modificare il file
/etc/X11/XF86Config-4
aggiungendo
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "Device" "/dev/input/event0"
Option "TouchpadOff" "0"
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.18"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "BottomEdge" "4200"
Option "TopEdge" "2000"
Option "AccelFactor" "0.0015"
Option "VertScrollDelta" "100"
Option "UpDownScrooling" "1"
Option "SHMConfig" "on"
Option "Emulate3Buttons" "On"
Option "ZAxisMapping" "4 5"
EndSection
ricordandovi di modificare anche la sezione
Server Layout
inserendo
InputDevice "Touchpad" "CorePointer"
. Nel caso servisse,
questo è il mio XF86Config-4.
Ora passiamo al modem: il nuovo kernel è compatibile con i driver Smart Link
versione 2.9.x e quindi va disinstallata, se presente, la vecchia versione e sostituita
con una recente. In proposito ho avuto problemi con parecchie versioni e perciò mi
sento di consigliare la
2.9.7. L'installazione
è molto semplice, basta un
make
seguito da
make install
e
il gioco è fatto; se però non si vogliono eseguire manualmente le operazioni
modprobe slamr
e
slmodemd --country=ITALY /dev/slamr0
(da root)
ogni volta che ci si vuole connettere al proprio ISP, allora consiglio di:
1) copiare
questo script in
/etc/rc.d/init.d/
e abilitarlo al boot con il Mandrake Control Center ->
Sistema -> Servizi
2) inserire la riga
slamr
nel file
/etc/modprobe.preload
in modo
tale che il driver venga caricato automaticamente all'avvio
3) aggiungere in Kppp -> Configura -> Modem -> Comandi Modem la seguente stringa
di inizializzazione:
ATQ0X3 V1 E1 S0=0 &C1 &D2 +FCLASS=0
In questo modo il modem funzionerà alla perfezione senza dover far altro che
avviare Kppp e connettersi ... buona navigazione.
Un'ultima cosa: riguardo al funzionamento degli hotkeys tramite Acpi4Asus, non ho
notato nessun problema rispetto a prima. Ricordo brevemente che tale funzionalità
è presente già da tempo nei kernel delle maggiori distribuzioni e quindi per
un corretto funzionamento è sufficiente:
1) caricare il modulo
asus_acpi
(inseritelo in
/etc/modprobe.preload
)
2) assicurarsi di lanciare al boot i servizi
acpi, acpid, asus_acpid
di cui i
primi due fanno parte dei pacchetti della distribuzione in uso, mentre il terzo lo dovete
compilare voi come spiegato
qui e copiarlo in
/usr/bin/
, ricordando che va eseguito ad ogni avvio di X. Per fare ciò
potete semplicemente copiare
questo file in
/etc/X11/xinit.d/
e scordarvi ogni problema
3) nella
home
di ciascun utente deve essere presente una directory nascosta
.asus_acpi
con tutti gli eventi da rilevare.
Questi sono i miei. Naturalmente dovrete apportarvi le opportune
modifiche in base al vostro sistema; nel mio caso vengono abilitati i 3 hotkeys sopra la
tastiera e tutti i tasti multimediali (+/- volume, stop-play cd, etc..).
SUGGERIMENTO: nella directory .asus_acpi c'é il file di log degli eventi
intercettati. Provate a premere alcuni hotkey e vedere che numero restituiscono (es.
hotkey HOTK 00000044 00000007); in base a quel numero (nell'esempio 44) impostate
l'evento nel file hotkbtn e l'azione associata (es. event=hotkey.*44[[:space:]].*
action=~/.asus_acpi/hotk6.sh). Alla pressione dell'hotkey 44 verrà quindi
eseguito lo script di shell hotk6.sh; modificatelo per lanciare il programma di vostro
gradimento.
26/03/2004
Di bene in meglio: nella kernel release 2.4.22-28 di Linux Mandrake 9.2 è
stato inserito tutto il lavoro di T.Winishhofer, cioè il framebuffer SiS (sisfb) e
i driver video necessari. Questo significa che non è più necessario
ricompilare il kernel per attivare l'accelerazione hardware .. insomma una bega in
meno per i più svogliati; certo è che considerando la velocità di
sviluppo dell'autore, un aggiornamento dei sorgenti di sisfb ad una versione
più recente (e quindi una ricompilazione del kernel) può essere di aiuto per
ottimizzare e/o risolvere piccoli bug sul proprio sistema.
Comunque, ecco cosa fare per abilitare il tutto:
- Diventate root
- Aggiungete alla direttiva
append=
in /etc/lilo.conf
la
seguente stringa: video=sisfb
Ce ne sarranno già della altre, non importa, accodatela rimanendo all'interno
delle virgolette
- Eliminate ogni direttiva
vga=xxx
(o almeno quella presente nella
sezione del kernel che volete usare, o prima di essa se presente)
- Da shell lanciate
lilo
che aggiornerà il settore di boot.
Riavviate e verificate il tutto.
Ecco fatto, sempre più semplice no? Un'ultima cosa da dire: in questa
distribuzione il modulo sisfb è compilato come modulo, quindi all'avvio si
perderà la console grafica (che non è certo indispensabile) .. il problema
non è risolvibile (in proposito leggete la documentazione dell'autore) se non
ricompilando sisfb inserendolo nel kernel stesso.
P.S. Un'ultima chicca, sempre relativa alla nuova Mandrake 9.2: è stato
inserito
Acpi4Asus di cui ho discusso nella precedente news ... è quindi
sufficiente installare solo il demone
asus_acpid
. Leggete sotto per maggiori
informazioni.
06/02/2004
Finalmente ho avuto un po' di tempo per rivedere quali progressi si possono ancora
fare nell' accoppiata Linux Mandrake - Asus A1 notebook. Direi che non ci si
può certo lamentare, visto che ora
sono supportati sia il modem che
l'acpi. Ma procediamo per gradi:
1)
Il modem: si tratta di un "56k Winmodem Smart Link HAMR5600
compatible" i cui driver sono scaricabili da
ftp://ftp.smlink.com. Consiglio la versione 2.7.10 che sembra essere la
più stabile e quella che presenta meno bug; per kernel più recenti del 2.4,
sono già disponibili diverse versioni a partire dalla serie 2.9. Se qualcuno
intende provarle mi faccia sapere come funzionano, grazie ..
L'installazione è molto semplice e prevede solo pochi passi: come al solito
scompattate l'archivio con
tar xvzf slmdm-2.7.10.tar.gz
e poi spostatevi
in
slmdm-2.7.10
quindi compilate dando
make
. Al termine della
compilazione, da utente
root eseguite
make install-amr
e tutto
verrà installato e configurato automaticamente. Ora rimane solo da fare una piccola
modifica al file
/etc/modules.conf
dove andrà inserita la direttiva
options slmdm country=ITALY
per impostare il nostro paese. E' molto
probabile che al caricamento dei moduli, e comunque all'interno dei log di sistema,
compaia il seguente messaggio di errore: "This driver is not compatible with the
installed modem codec. Please contact your modem provider for support". Potete
tranquillamente ignorarlo, il modem funzionerà senza problemi.
2)
ACPI: dunque, ci sono principalmente due cose da dire. Ho notato che aggiornando
il kernel della Mdk 9.1 (attualmente siamo al 2.4.21-0.27) a differenza di prima
l'acpi viene abilitato correttamente in fase di boot (con
acpi=on
nel
lilo.conf), anche se l'APIC continua ad essere disabilitato. Ho quindi eliminato
l'apm ed ora controllo lo stato dell'alimentazione e dei sensori di temperatura
via acpi .. appena possibile sperimenterò lo
standby e il
suspend ...
magari funzionano, chissà.
Seconda cosa: c'è una versione acpi
modificata per i notebook Asus (e non solo) che abilita parecchie funzioni prima
inutilizzabili .. si chiama
Acpi4Asus e può essere scaricata da SourceForge
(
http://sourceforge.net/projects/acpi4asus) oppure dal sito dell'autore
http://julien.lerouge.free.fr
(a partire dal kernel 2.4.22 lo si trova già incluso, potete quindi caricarlo
semplicemente con
modprobe asus_acpi
).
In pratica tale software consente l'uso di tutti gli hotkeys (dai tasti multimediali a
quelli per lanciare le applicazioni preferite) e delle varie funzioni accessibili mediante
il tasto funzione Fn (come la luminosità, il volume etc..) nonchè il led di
notifica.
Anche qui l'installazione è molto semplice: è sufficiente fare un
make
nella directory principale del programma e verrà effettuata la
compilazione e installazione sia del modulo per il kernel (asus_acpi.o) che del demone
asus_acpid. Quest'ultimo si incarica di intercettare la pressione di un qualsiasi
hotkey (e più in generale di qualsiasi evento) ed eseguire il comando
corrispondente specificato dall'utente. Per far questo consiglio di inserire, per ogni
utente, una directory nascosta
.asus_acpi
nella rispettiva home, quindi
copiarvici il contenuto della dir
samples
del software Acpi4Asus. I file
copiati non sono altro che semplici script di shell contenenti il comando che si vuole
associare a un determinato hotkey; ad esempio per eseguire Kmail (il miglior client di
posta in assoluto) premendo l'hotkey 0, inserite semplicemente la riga
/usr/bin/kmail &
nel file
hotk0.sh
. In questo modo potrete
personalizzare facilmente il vostro portatile .. un altro esempio: nelle impostazioni di
Kmail ho aggiunto il comando
echo 1 > /proc/acpi/asus/mled
in modo tale
che il led lampeggi all'arrivo di nuova posta, e si spenga (con
echo 0
)
nel caso non ce ne fosse.
Comunque vi consiglio, dopo aver installato almeno il modulo per il kernel, di provare
subito se il vostro sistema è supportato .. è sufficiente fare
modprobe asus_acpi
e poi
dmesg
per verificare la presenza di
linee simili a queste:
Asus Laptop ACPI Extras version 0.26
A1F model detected, supported
Leggete comunque il file README presente nell'archivio, contiene molte altre
informazioni utili.
Se volete avere tutto pronto all'avvio, inserite
asus_acpi
in
/etc/modules
(equivale a fare
modprobe asus_acpi
) mentre per
avviare automaticamente il demone
asus_acpid
potete usare
questo file copiandolo in
/etc/X11/xinit.d/
.
07/05/2003
L'accelerazione 3D funziona! Con la nuova Linux Mandrake 9.1 (kernel 2.4.21 e
XFree86 4.3) le cose sono finalmente migliorate: già dalla 9.0 i vecchi problemi in
fase di installazione sono stati risolti ma ora è semplice avere anche il supporto
3D per questo maledetto chipset SiS 630. Sono necessarie solo poche operazioni, identiche
a quelle riportate nella news precedente.
L'unica cosa da fare prima di procedere è quella di copiare i due files
Config.in e
Makefile nel seguente path:
/usr/src/linux/drivers/char/drm/
Infatti questa volta quelli di Mandrake sono stati ancor più drastici che per la
versione 9.0, omettendo la possibilità di compilare i moduli DRM necessari a
XFree86 e quindi il funzionamento dell'accelerazione 3D. Potete sostituire
tranquillamente gli originali con i miei, non vi è alcun pericolo, comunque una
copia di backup non fa mai male ;-) A questo punto sarà possibile configurare il
kernel in modo corretto, saltate
qui per procedere
nell'operazione.
Bene, se avete eseguito tutte le operazioni sotto riportate, ora il sistema sistema
è pronto per qualche test.
Nelle
mie prove ho impiegato 16MB di memoria video condivisa e quindi ho modificato
l'opzione corrispondente nell'
XF86Config-4 in
Option "MaxXFBMem" "8192"
.
Ora
Tuxracer gira a 30-45 fps alla risoluzione 800x600x16 che è una
bellezza, mentre
glxgear fino a 240 fps. Non male, considerato che senza
accelerazione
TuxRacer era piantato e
glxgear non andava oltre i 100
fps.
Per ottenere prestazioni ottimali, l'autore dei driver consiglia di impostare 32MB di
memoria video inserendo l'opzione
Option "MaxXFBMem"
"12288"
; in realtà questa opzione non è strettamente
necessaria e può essere omessa a patto di
ricordarsi di caricare
sisfb attraverso il
lilo.conf o con
modprobe
prima si avviare
il server X.
E' tutto credo. Non dovrebbero esserci più problemi d'ora in poi, il nostro
notebook può funzionare al pieno delle sue capacità! Non prevedo quindi
nuovi aggiornamenti per questa sezione, almeno finchè si rimane sui kernel della
serie 2.4.
03/03/2003
Finalmente ho avuto il tempo di dare un'occhiata all'attuale situazione e ne ho
approfittato per aggiornare l'intera sezione in base ai progressi compiuti dallo
sviluppatore dei driver per
chipset vga SiS. Dateci
una letta,
può tornare molto utile.
Detto questo, torniamo nello specifico: il notebook Asus e il suo chipset SiS630. A
guardarci bene la Mandrake 9.0
NON abilita per default il supporto DRM in fase di
installazione, da qui l'errore di inizializzazione menzionato nella precedente news (i
problemi con XFree 4.2.1 sono stati risolti). In altre parole, è necessario
ricompilare il kernel inserendovi tale modulo; mostrerò quindi la procedura che ho
seguito e i risultati ottenuti.
1) Per prima cosa assicurarsi di avere installati i
sorgenti del kernel (in proposito potete trovare una guida
qui). Io ne ho approfittato per aggiornare il sistema con l'ultimo
kernel rilasciato da Mandrake, il 2.4.19-24 come pure
i sorgenti del
framebuffer SiS che sono stati aggiornati rispetto a quelli inclusi nel suddetto
kernel, risolvendo numerosi bug. Seguite le semplici istruzioni contenute nel Readme
all'interno dell'archivio per inserire correttamente tali sorgenti nell'albero
del kernel.
2) Ora configurate come meglio credete il kernel, avendo cura di:
- abilitare il supporto a DRI in "Character Device" -> "Direct
Rendering Manager (XFree86 DRI support)"
- tra i "DRM 4.1 drivers" impostare "SiS" come modulo, tutti gli
altri non servono
- in alcuni casi il supporto AGP può dare problemi; è possibile
disabilitarlo alla voce "Generic SiS support" ma tenete conto che molte
applicazioni 3D ne hanno bisogno
- in "Console drivers" -> "Frame-buffer support" abilitate le
voci "SiS acceleration (EXPERIMENTAL)" e "SiS 630/540/730 support".
L'autore dei driver SiS consiglia di disabilitare quelli VESA .. fatelo, la voce a
cui fare riferimento è "VESA VGA graphics console".
3) Ultimate compilando kernel e moduli, quindi installateli.
4) Ora un'occhiata al bootloader, nel mio caso LILO. Poichè trovo utile la
console grafica e ho compilato il framebuffer nel kernel piuttosto che come modulo,
aggiungo alcune istruzioni alla linea "append" del
lilo.conf, che quindi
diventa: append="quiet devfs=mount acpi=off video=sisfb:mode:1024x768x16".
L'attenzione va riposta sulla direttiva "video" che, in questo caso, imposta
il framebuffer all'avvio ad una risoluzione 1024 x 768 con una profondità di 16
bit di colore. Applichiamo infine le modifiche con
lilo -v valutandone
l'output.
Volendo potete mantenere il nuovo kernel affiancandolo all'originale, nel caso si
presentino dei problemi. Ecco come fare (in pratica si aggiunge una nuova sezione al
lilo.conf):
Questo è il nuovo kernel. Poichè l'ho compilato inserendovi il
framebuffer (
sisfb) gli passo l'opzione
video=
come richiesto dal
driver SiS per la corretta gestione della memoria video; la riga
initrd=
non
è strettamente necessaria, se non sapete bene di che si tratta, copiatela dalla
sezione originale.
image=/boot/linux-2.4.21-0.13mdkcustom
label="Linux_SiS"
root=/dev/hda6
initrd=/boot/initrd-2.4.21-0.13mdkcustom.img
append="quiet devfs=mount acpi=off video=sisfb:mode:1024x768x16"
read-only
Questo è il kernel originale (queste righe sono già presenti nel vostro
lilo.conf). Qui la riga
vga=791
specifica una risoluzione 1027x768x16 per
la console grafica, solo che non verrà impiegato
sisfb e quindi
l'inizializzazione di DRI fallirà.
image=/boot/vmlinuz
label="Linux"
root=/dev/hda6
initrd=/boot/initrd.img
append="quiet devfs=mount acpi=off"
vga=791
read-only
5) Assicurarsi di avere inserito le impostazioni corrette nell' XF86Config-4. Ad
esempio se si imposta da BIOS l'impiego di 32MB di memoria video condivisa, è
opportuno inserire nel suddetto file la seguente opzione (in proposito è bene
consultare la documentazione): Option "MaxXFBMem" "12288"
In caso di dubbi, questo è il mio
XF86Config-4. Fate attenzione a
NON sostituirlo al vostro senza essere
sicuri di ciò che contiene!
6) Accertatevi di avere gli ultimi driver disponibili inseriti nei seguenti percorsi:
sis_drv.o in /usr/X11R6/lib/modules/drivers/ e sis_dri.so in
/usr/X11R6/lib/modules/dri/
Potete verificare se tutto è andato liscio controllando che il file
/var/log/XFree86.0.log contenga, verso le ultime righe, qualcosa di simile a questo:
(II) SIS(0): [drm] installed DRM signal handler
(II) SIS(0): [DRI] installation complete
(II) SIS(0): Direct rendering enabled
In caso di problemi nell'inizializzazione di DRI, è probabile che
l'errore stia nel mancato caricamento del modulo "sisfb" (il framebuffer) se,
evidentemente, non compilato nel kernel. Ciò infatti deve avvenire PRIMA
dell'esecuzione dell'X server, ad esempio mediante "modprobe sisfb" da
utente root seguito dal solito "startx".
Verificare infine il contenuto dei log "dmesg" e "messages": è
il punto di partenza per scovare e risolvere eventuali problemi.
Ricordo infine che alla seguente
pagina
trovate dettagliate informazioni su come procedere alla configurazione di DRI, mentre sul
Guestbook potete lasciare un vostro commento.
07/01/2003
Calma, mi sono fatto prendere dall'entusiasmo. A guardarci bene qualcosa ancora non va
(date un'occhiata a
/var/log/XFree86.0.log
), DRI infatti non viene
inizializzato. Per avere l'accelerazione hardware, è ancora necessario
smanettare un po' per ricompilare il kernel e inserirvi il SiS framebuffer (sisfb) di
T.Winischhofer, che non è stato incluso nella distribuzione.
Inoltre pare ci siano problemi con la versione 4.2.1 di XFree86; l'autore dei driver
ne è al corrente, ma ancora non è nota la soluzione.
04/12/2002
Fine di tutti i problemi d'installazione: la nuova Mandrake Linux 9.0, uscita
da pochi mesi, supporta bene i chipset SiS introducendo i driver sviluppati da Thomas
Winischhofer. Durante la fase di installazione dell' X server verrà chiesto di
scegliere tra 4 possibilità: impiegare XFree86 3.3.6 con o senza supporto hardware
sperimentale oppure XFree86 4.2.1 anch'esso in duplice versione, con o senza supporto
hardware. E' possibile scegliere in tutta sicurezza XFree86 4.2.1 con supporto 3D per
avere un sistema perfettamente funzionante e con ottime performance. Il driver presente in
questa distribuzione è datato 02/08/06-2 e supporta i seguenti chipsets:
SIS5597/5598, SIS530/620, SIS6326, SIS300, SIS630/730, SIS540, SIS730, SIS315, SIS315H,
SIS315PRO, SIS550, SIS650/M650/740, SIS330(Xabre)
Per sapere quali siano le funzionalità rese operative sui vari chipset SiS e i
driver più adatti da installare, consultate il sito del progetto:
http://www.winischhofer.net/linuxsis630.shtml
08/08/2002
La novità principale, e direi grandiosa, proviene da Thomas Winischhofer che sta
lavorando all'implementazione dei chipset SiS nella versione 4.3 di XFree86. I
progressi sono notevoli e finalmente è possibile avere un sistema grafico
completamente funzionante, con accelerazione 3D e molte delle funzionalità
operative. Potete trovare maggiori informazioni
qui o andando in "SiS 630 VGA" nel menù "Linux".
La seconda novità è conseguenza della prima: se decidete di usare i driver
di Winischhofer dovete avere un sistema con installato XFree86 4.1 o superiore. Quindi se
avete seguito la mia guida all'installazione di Linux, che prevede l'uso di
XFree86 3.3.6, sarà necessario aggiornare il vostro sistema con un X server
più recente. In particolare la distribuzione Mandrake 8.0 presa in esame contiene
al massimo la versione 4.0.2; seguite il link sotto riportato per vedere come aggiornarla
alla 4.2 presente nei cdrom della Mandrake 8.2 (vale anche per altre distribuzioni, le
differenze saranno minime). Naturalmente potete aggiornare l'intera distribuzione, ma
tale operazione non è ufficialmente supportata da Mandrake; sappiate comunque che
ho provato con successo l'opzione di aggiornamento disponibile nelle prime fasi di
installazione. Infatti la Mandrake 8.2 consente 3 tipi di installazione: quella normale
(elimina partizioni esistenti), l'aggiornamento (la consiglio) e l'aggiornamento
dei soli pacchetti (pessimi risultati); queste ultime due opzioni sono garantite solo a
partire dalla versione 8.1 ma come già detto la prima ha dato buoni risultati
portando la vecchia versione 8.0 alla nuova 8.2 senza problemi.
Tutte le informazioni necessarie, i sorgenti e i binari di XFree86 potete trovarli su
www.xfree86.org, consultatelo per una
installazione "fai da te".