Avanti Indietro Indice

3. Installazione

Configurare Linux per supportare gli acceleratori 3Dfx richiede i seguenti passi:

  1. Installare la scheda.
  2. Installare la distribuzione Glide.
  3. Compilare, linkare e/o lanciare le applicazioni.

Le sezioni seguenti trattano ognuno di questi passi in dettaglio.

3.1 Installare la Scheda

Per installare l'hardware si seguano le istruzioni del produttore o o lo si lasci fare al rivenditore. Non dovrebbe essere necessario modificare le impostazioni degli IRQ o del canale DMA, dato che il Plug&Pray (tm) o quelle predefinite dalla fabbrica dovrebbero funzionare. Le schede add-on qui descritte sono dispositivi mappati in memoria e non usano IRQ. L'unico tipo di conflitto da evitare è la sovrapposizione di memoria con altri dispositivi.

Dato che 3Dfx non sviluppa o vende nessuna scheda direttamente, è inutile contattarla per qualche problema.

Risoluzione dei problemi di installazione hardware

Per verificare l'installazione e la mappatura della memoria, si esegua cat /proc/pci. L'output dovrebbe contenere qualcosa come


  Bus  0, device  12, function  0:
    VGA compatible controller: S3 Inc. Vision 968 (rev 0).
      Medium devsel.  IRQ 11.
      Non-prefetchable 32 bit memory at 0xf4000000.

  Bus  0, device   9, function  0:
    Multimedia video controller: Unknown vendor Unknown device (rev 2).
      Vendor id=121a. Device id=1.
      Fast devsel.  Fast back-to-back capable.
      Prefetchable 32 bit memory at 0xfb000000.

per una Diamond Monster 3D affiancata ad una Diamond Stealth-64. Inoltre un cat /proc/cpuinfo /proc/meminfo può essere utile per scovare un conflitto e/o mandare un bug report.

Con i kernel attuali, probabilmente si avrà un avviso in fase di boot simile a questo


Jun 12 12:31:52 hal kernel: Warning : Unknown PCI device (121a:1).
Please read include/linux/pci.h

che può essere tranquillamente ignorato. Se si ha una scheda non molto comune o si incappati in una nuova revisione, si dovrebbe prendersi l'onere di seguire le avvertenze in /usr/include/linux/pci.h e mandare tutte le informazioni necessarie a linux-pcisupport@cao-vlsi.ibp.fr.

Se si incontra un qualche problema con la scheda, si dovrebe provare a verificare se il supporto DOS e/o Win95 o NT funziona. Probabilmante non si riceverà alcuna risposta utile da un fabbricante di schede per un bug report o una richiesta riguardanti Linux. Anzi, avendo avuto a che fare con il sistema di supporto e-mail di Diamond, non mi aspetto nessuna risposta utile anche per gli altri sistemi operativi.

Configurare il kernel

Non c'è bisogno di alcuna configurazione del kernel, fin tanto che il supporto PCI è abilitato. Si può consultare il Linux Kernel HOWTO per i dettagli sulla compilazione del kernel.

Configurare i device

I driver correnti non hanno (ancora) bisogno di device speciali. Si differenziano così dallo sviluppo degli altri driver (p.es. i driver sonori, che usano /dev/dsp e /dev/audio). Il driver usa il device /dev/mem che dovrebbe sempre essere disponibile. Di conseguenza, si deve usare setuid o i diritti di root per accedere alla scheda acceleratrice.

3.2 Disposizione dei Monitor

Le schede add-on sono utilizzabili in due modi. Si può sia far passare il segnale video dalla propria scheda VGA attraverso la scheda accelerata e poi allo schermo, sia usare due schermi contemporaneamente. Si faccia riferimento al manuale fornito dal costruttore della scheda per i dettagli. Entrambe le configurazioni sono state provate con la scheda Monster 3D.

Soluzione a schermo singolo

Questa configurazione permette di controllare l'operatività di base della scheda acceleratrice - se il segnale video non viene trasmesso al monitor è possibile che ci sia un guaso hardware.

Si ricorda che il segnale video può deteriorarsi sensibilmente se passa attraverso la scheda video. Fino ad un certo punto questo è inevitabile. Comunque, in alcune recensioni si sono lamentati della scarsa efficenza dei cavi forniti a.es. con la Monster 3D e a giudicare da quello che ho testato, non ci sono stati cambiamenti.

Ci sono altre pecche nella configurazione ad un solo schermo. Passare dalla modalità VGA a quella accelerata farà cambiare la risoluzione e la frequenza di aggiornamento, anche se si usa una risoluzione di 640x480 p.es. con X11. Inoltre, se si sta usanto X11, la propria applicazione è responsabile della gestione di tutti gli eventi della tastiera e del mouse, quindi si potrebbe rimanere bloccato a causa di un cambio di contesto o esposizione sullo schermo dell'X11 (che è completamente invisibile quando viene usata la modalità accelerata). Si potrebbe usare la modalità SVGA in console invece dell'X11.

Se si usa la configurazione ad un solo monitor e si cambia spesso modo, ci si ricordi che il proprio monitor potrebbe non gradire questo tipo di utilizzo.

Soluzione a due schermi

La scheda acceleratrice non ha bisogno del segnale d'ingresso VGA. Invece di far passare l'output video attraverso la scheda acceleratrice, si può attaccare un secondo monitor alla sua uscita e usarli entrambi contemporaneamente. Questa soluzione è più costosa, ma dà risultati migliori, dato che lo schermo principale funzionerà sempre in alta risoluzione senza la perdita di qualità del segnale che la soluzione passante comporta. Inoltre si può usare X11 e l'accelerazione a schermo intero in parallelo, facilitando lo sviluppo e il debugging.

Il problema è che la scheda accelerata non produce alcun segnale video quando non viene utilizzata. Di conseguenza, ogni volta che l'accelerazione grafica termina, può attivarsi lo screensave/powersave hardware del monitor, se esiste. Anche in questo caso, il proprio hardware potrebbe non gradire di essere trattato in questo modo. Si dovrebbe usare


setenv SST_DUALSCREEN 1

per forzare un output video continuo in questa configurazione.

3.3 Installare la Distribuzione Glide

Il driver e la libreria Glide sono forniti come un unico archivio compresso. Si usino tar e gzip per scompattarlo e si seguano le istruzioni nel README e nell'INSTALL che accompagnano la distribuzione. Si legga ed esegua lo script di installazione. L'installazione copia tutto in /usr/local/glide/include,lib,bin e imposta l'ld.conf a cercare là. Dove installare la distribuzione e impostare l'ld.conf sono due azioni indipendenti. Se non si esegue l'impostazione dell'ld.conf allora si avrà bisogno dell'LD_LIBRARY_PATH.

Se si vogliono compilare le proprie applicazioni grafiche, sarà necessario installare gli header file in una locazione accessibile in fase di compilazione. Se non si vuole usare l'installazione vista sopra (cioè si decide per un'altra locazione), ci si assicuri che ogni applicazione possa accedere alle librerie condivise in esecuzione o si otterrà un risultato del tipo can't load library 'libglide.sò.

Usare il programma detect

Nella distribuzione c'è il programma bin/detect (il sorgente non è disponibile). Si deve lanciarlo come root, ed si otterrà qualcosa di simile


slot  vendorId   devId   baseAddr0  command  description
----  --------  ------  ----------  -------  -----------
  00    0x8086  0x122d  0x00000000   0x0006  Intel:430FX (Triton)
  07    0x8086  0x122e  0x00000000   0x0007  Intel:ISA bridge
  09    0x121a  0x0001  0xfb000008   0x0002  3Dfx:video multimedia adapter
  10    0x1000  0x0001  0x0000e401   0x0007  ???:SCSI bus controller
  11    0x9004  0x8178  0x0000e001   0x0017  Adaptec:SCSI bus controller
  12    0x5333  0x88f0  0xf4000000   0x0083  S3:VGA-compatible display co

come risultato. Se non si possiedono i diritti di root, il programma se ne verrà fuori con
Permission denied: Failed to change I/O privilege. Are you root?

L'output potrà tornare utile per un bug report.

Usare i programmi di test

All'interno della distribuzione Glide si può trovare una directory con i programmi di test. Si noti che questi programmi sono sotto il copyright della 3Dfx e sono legalmente usabili solo se hai comprato una scheda con chipset 3Dfx. Si veda il file LICENSE nella distribuzione o il loro sito web www.3dfx.com per i dettagli.

Si raccomanda di compilare e linkare i programmi di test anche se nella distribuzione ci sono i binari. Nota che alcuni programmi richiedono che altri file della distribuzione, come alpha.3df, siano disponibili nella stessa cartella. Tutti i programmi di test usano una risoluzione di 640x480. Alcuni richiedono la pressione di più tasti come input, altri chiederanno solamente Press A Key To Begin Test. Si faccia attenzione alla perdita del contesto di input se si sta eseguendo in contemporanea X11 sullo stesso schermo.

Si consulti il README.test per una lista del programmi, e per altri dettagli.


Avanti Indietro Indice