The Linux 3Dfx HOWTO
  Bernd Kreimeier (bk@gamers.org)
  v1.03, 12 Luglio 1997

  Questo documento descrive il supporto del chip acceleratore grafico
  3Dfx per Linux. Elenca l'hardware supportato, descrive come configu�
  rare i driver e risponde alle domande pi� frequenti. Lo scopo � quello
  di portare i nuovi utenti al successo il pi� velocemente possibile e
  di ridurre cos� il traffico nei newsgroup e nelle mailing list Usenet.
  Documentazione tradotta da Piero Boato (pboato@dsi.unive.it).
  ______________________________________________________________________

  Indice Generale



  1. Introduzione
     1.1 Riconoscimenti
     1.2 Storia delle Revisioni
     1.3 Nuove Versioni di Questa Documentazione
     1.4 Commenti e Correzioni
     1.5 Politica di Distribuzione

  2. Tecnologia degli Acceleratori Grafici
     2.1 Principi
     2.2 Configurazioni Hardware (Add-on)
     2.3 Limiti di Prestazioni
        2.3.1 Limiti di fill rate
        2.3.2 Perdita di refresh
        2.3.3 Limiti di primitive
     2.4 Caratteristiche dell'Accelerazione Hardware
     2.5 Cenni sull'Architettura Voodoo Graphics (tm)

  3. Installazione
     3.1 Installare la Scheda
        3.1.1 Risoluzione dei problemi di installazione hardware
        3.1.2 Configurare il kernel
        3.1.3 Configurare i device
     3.2 Disposizione dei Monitor
        3.2.1 Soluzione a schermo singolo
        3.2.2 Soluzione a due schermi
     3.3 Installare la Distribuzione Glide
        3.3.1 Usare il programma detect
        3.3.2 Usare i programmi di test

  4. Risposte Alle Domande Pi� Frequenti
  5. FAQ: Requisiti?
     5.1 Quali sono i requisiti di sistema?
     5.2 Funziona con Linux-Alpha?
     5.3 Quali chipset sono supportati?
     5.4 Quali schede sono supportate?
     5.5 � supportata la Hercules Stingray 128/3D?
     5.6 � supportata la Intergraph Intense 3D Rush?

  6. FAQ: Voodoo Graphics (tm)? 3Dfx?
     6.1 Chi � 3Dfx?
     6.2 Che cos'e il Voodoo Graphics (tm)?
     6.3 Dove posso trovare altre informazioni sul Voodoo Graphics (tm)?

  7. FAQ: Glide? TexUS?
     7.1 Che cos'� Glide?
     7.2 Che cos'� TexUS?
     7.3 Glide � freeware?
     7.4 � disponibile il sorgente della Glide?
     7.5 La Linux Glide � supportata?
     7.6 Dove posso postare le domande su Glide?
     7.7 Dove spedire i bug report?
     7.8 Chi la sta mantenendo?
     7.9 Come posso contribuire alla Linux Glide?
     7.10 Devo usare la Glide?
     7.11 Dovrei programmare usando l'API della Glide?
     7.12 Qual'� la versione attuale?
     7.13 La Linux Glide � identica alla DOS/Windows Glide?
     7.14 Dove trovo informazioni sulla Glide?
     7.15 Dove trovare alcuni demo per Glide?

  8. FAQ: Glide e SVGA?
  9. FAQ: Glide e XFree86?
     9.1 Funziona con XFree86?
     9.2 Funziona solo a schermo intero?
     9.3 Cosa mi dici sulla GLX per XFree86?

  10. FAQ: Glide versus OpenGL/Mesa?
     10.1 Glide � OpenGL?
     10.2 Mesa funziona con 3Dfx?
     10.3 Dove ottengo altre informazioni su OpenGL?
     10.4 Dove ottengo informazioni su Mesa?
     10.5 Dove ottengo informazioni su Mesa Voodoo?
     10.6 C'� una OpenGL commerciale per Linux e 3Dfx?
     10.7 Cosa mi dici di GLUT?

  11. FAQ: Ma Quake?
     11.1 Cosa mi dici della Quake GL?

  12. FAQ: Risoluzione dei problemi
     12.1 Questo hardware � stato testato?
     12.2 Failed to change I/O privilege?
     12.3 Funziona senza i privilegi di root?
     12.4 Le immagini sono distorte (schermo singolo)?
     12.5 L'ultimo frame � ancora l� (schermo singolo o doppio)?
     12.6 Si attiva il powersave (schermo doppio)?
     12.7 La mia macchina sembra stallare (X11, schermo singolo)?
     12.8 La mia macchina stalla (schermo singolo o doppio)?
     12.9 La mia macchina stalla (uso una scheda VGA S3)?
     12.10 Nessun conflitto di indirizzi, ma stalla comunque?
     12.11 Compile/link error: grSstWinOpen()?
     12.12 Compile/link error: grSstOpen()?
     12.13 Cannot open shared object file?
     12.14 Problemi di compilazione con Mesa
     12.15 Mesa funziona, ma non accede alla scheda?


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee

  Questo � il Linux 3Dfx HOWTO. Vuole essere una rapida guida su tutto
  quello che c'� da sapere per installare e configurare il supporto per
  3Dfx sotto Linux. Qui si trovano le risposte alle domande pi�
  frequenti sia riguardo lo specifico supporto per 3Dfx sia riguardo la
  grafica 3D sotto Linux in generale. Inoltre ci sono alcuni riferimenti
  ad altre fonti di informazione su svariati argomenti collegati alla
  grafica 3D generata a computer da acceleratori hardware.

  Queste informazioni sono valide solo per Linux installato su
  piattaforme Intel. Alcune informazioni possono essere applicabili
  anche su altre architetture, ma non ho esperienza o informazioni
  dirette. Sono da applicare solamente su schede basate sulla tecnologia
  3Dfx, ogni altro acceleratore grafico non rientra nel contesto di
  questa documentazione.

  11..11..  RRiiccoonnoosscciimmeennttii

  La maggior parte delle informazioni contenute in questa documentazione
  sono state fornite dalle persone coinvolte nella trasposizione della
  Glide per Linux e nel suo processo di beta test. Daryll Strauss ha
  fatto la trasposizione, Paul J. Metzger ha modificato il driver Mesa
  Voodoo (scritto da David Bucciarelli) per Linux, Brian Paul lo ha
  integrato con la sua famosa libreria Mesa. Riguardo alla Mesa
  accelerata per Voodoo Graphics (tm) un ringrazziamento particolare va
  a Henri Fousse e Charlie Wallace. La gente alla 3Dfx, in particolar
  modo Gary Sanders e Gary McTaggart, ha fornito molto materiale, come
  ha fatto Ross Q. Smith della Quantum3D.

  Grazie al pacchetto SGML-Tools (conosciuto anche come Linuxdoc-SGML),
  questo HOWTO � disponibile in diversi formati, tutti generati dallo
  stesso file sorgente. Per informazioni sull'SGML-Tools vedi la sua
  homepage all'indirizzo web.inter.NL.net/users/C.deGroot/sgmltools/.
  3Dfx, il logo 3Dfx Interactive, Voodoo Graphics (tm), e Voodoo Rush
  (tm) sono marchi registrati dalla 3Dfx Interactive, Inc. Glide, TexUS,
  Pixelfx e Texelfx sono marchi registrati dalla 3Dfx Interactive, Inc.
  OpenGL � un marchio registrato dalla Silicon Graphics. Obsidian � un
  marchio registrato dalla Quantum3D. Gli altri nomi di prodotti sono
  marchi registrati dai rispettivi proprietari e con ci� sono da
  considerarsi propriamente riconosciuti.

  11..22..  SSttoorriiaa ddeellllee RReevviissiioonnii


     VVeerrssiioonnee 11..0033
        Prima versione resa pubblica.


  11..33..  NNuuoovvee VVeerrssiioonnii ddii QQuueessttaa DDooccuummeennttaazziioonnee

  Puoi trovare la versione pi� aggiornata di questa documentazione
  presso www.gamers.org/dEngine/xf3D/.

  Le nuove versioni di questa documentazione verranno postate nel
  newsgroup comp.os.linux.answers. Inoltre saranno depositate in vari
  siti per l'ftp anonimo che archiviano questo tipo di informazioni come
  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.

  Le versioni ipertestuali di questo e di altri Linux HOWTO sono
  disponibili su molti siti World-Wide-Web, compreso
  sunsite.unc.edu/mdw/mdw.html. La maggior parte delle distribuzioni di
  Linux su CD-ROM includono gli HOWTO, spesso nella directory /usr/doc/,
  inoltre presso alcuni rivenditori si pu� acquistarne una copia
  stampata.

  Se si fa una traduzione di questo documento in un'altra lingua, me lo
  si faccia sapere che accenner� qui alla sua esistenza.

  11..44..  CCoommmmeennttii ee CCoorrrreezziioonnii

  Confido in te, lettore, per far s� che questo HOWTO sia utile. Se si
  hanno suggerimenti, correzioni o commenti, per piacere me li si
  spedisca (bk@gamers.org), e io cercher� di inserirli nella prossima
  revisione. Per piacere si aggiunga HOWTO 3Dfx al soggetto della
  lettera, cos� procmail lo scaricher� nell'apposita cartella.

  Prima di mandare bug report o domande, _p_e_r _f_a_v_o_r_e _s_i _l_e_g_g_a _p_e_r _i_n_t_e_r_o
  _q_u_e_s_t_o _H_O_W_T_O e _s_i _i_n_v_i_i_n_o _i_n_f_o_r_m_a_z_i_o_n_i _d_e_t_t_a_g_l_i_a_t_e _s_u_l _p_r_o_b_l_e_m_a.

  Se si publica questa documentazione in un qualche CD-ROM o in altro
  supporto fisico,  sar� apprezzata una copia in omaggio. Mi si scriva
  per il mio indirizzo postale. Inoltre si consideri la possibilit� di
  una donazione al Linux Documentation Project come contributo al
  mantenimento della documentazione gratuita per Linux. Per maggiori
  informazioni si contatti il coordinatore dei Linux HOWTO, Greg Hankins
  (gregh@sunsite.unc.edu).

  11..55..  PPoolliittiiccaa ddii DDiissttrriibbuuzziioonnee

  Copyright (C) 1997 Bernd Kreimeier.

  Questo HOWTO � una documentazione gratuita; si pu� ridistribuirlo e/o
  modificarlo secondo le specifiche della GNU General Public License
  publicata dalla Free Software Foundation; presenti nella versione 2
  della License, o (a scelta) in qualche versione seguente.

  Questa documentazione viene distribuita nella speranza che possa
  essere utile, ma sseennzzaa aallccuunnaa ggaarraannzziiaa; senza anche l'implicita
  garanzia di ccoommmmeerrcciiaabbiilliitt�� o di aaddeegguuaatteezzzzaa aadd uunnoo ssccooppoo ppaarrttiiccoollaarree.
  Si veda la GNU General Public License per maggiori particolari.

  Si pu� ottenere una copia della GNU General Public License scrivendo
  alla Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
  02139, USA.


  22..  TTeeccnnoollooggiiaa ddeeggllii AAcccceelleerraattoorrii GGrraaffiiccii

  22..11..  PPrriinncciippii

  Questa sezione descrive _m_o_l_t_o velocemente la tecnologia degli
  acceleratori grafici per computer, in modo da aiutare a capire i
  concetti usati in seguito. Se se ne vuole sapere di pi� si pu�
  consultare un libro su OpenGL.

  Fondamentalmente, la grafica 3D su computer richiede spesso un gran
  numero di calcoli per ogni singolo pixel dello schermo. Questo � vero
  soprattutto per quelle applicazioni che devono rappresentare un mondo
  poligonale nei vari frame di un'animazione interattiva. Anche a basse
  risoluzioni come 320x200, ci� richiede una capacit� di calcolo
  superiore a quella che pu� essere fornita anche dal PC pi� potente.

  Per superare questo collo di bottiglia, alcune societ� hanno
  progettato, costruito e venduto processori dedicati alle operazioni
  necessarie per la grafica 3D. Purtroppo praticamente nessuno dei
  produttori di schede ha finora offerto alcun supporto per Linux.
  Fortunatamente, il produttore dei chipset Voodoo Graphics (tm) e
  Voodoo Rush (tm), 3Dfx, ha deciso di supportare l'uso delle schede
  basate sul Voodoo Graphics (tm) con Linux. Ci� che si prefigge questa
  documentazione � di descrivere il supporto attualmente disponibile.

  22..22..  CCoonnffiigguurraazziioonnii HHaarrddwwaarree ((AAdddd--oonn))

  Gli acceleratori grafici si trovano in formati diversi: o come schede
  PCI capaci di passare attraverso il segnale video di una scheda VGA
  (possibilmente un acceleratore 2D o video), o come schede PCI che
  generano grafica sia VGA sia 3D (rimpiazzando totalmente il vecchio
  controller VGA). Le schede 3Dfx basate sul Voodoo Graphics (tm)
  appartengono alla prima categoria. Entreremo nel merito in seguito.

  Se non ci sono conflitti hardware, qualsiasi scheda acceleratrice pu�
  essere presente sotto Linux senza interferire, ma per accedere
  all'acceleratore, si deve disporre di un driver.

  22..33..  LLiimmiittii ddii PPrreessttaazziioonnii

  22..33..11..  LLiimmiittii ddii ffiillll rraattee

  La grafica accelerata dall'hardware � limitata nelle prestazioni per
  diversi motivi. Un tipico collo di bottiglia � il fill rate: il numero
  totale di pixel che l'hardware pu� generare in condizioni ottimali in
  un determinato tempo - ad es. circa 40 Mpixel/secondo. Data una
  risoluzione di 640x480 e nessuna sovrascrittura, l'hardware non pu�
  generare pi� di 130 frame/secondo.

  Il numero di sovrascritture dipende dall'attuale profondit� della
  scena (quanti poligoni interseca un raggio passante per un pixel) e
  dall'efficienza dell'algoritmo di determinazione delle superfici
  visibili usato dall'applicazione. Disegnare ogni pixel due volte
  significa 65 frame/secondo, una sovrascrittura pari a 2 (disegnare
  ogni pixel tre volte) ti porta a circa 43 frame/secondo.



  22..33..22..  PPeerrddiittaa ddii rreeffrreesshh

  Inoltre, probabilmente si utilizzeranno due buffer, invertendo il
  buffer in primo piano con quello nascosto non appena il frame �
  completato. Qui entra in gioco la velocit� di refresh del monitor: si
  pu� invertire i buffer soltanto durante il periodo di refresh. Se la
  propria applicazione salta un periodo di refresh a 60Hz ad ogni frame,
  il frame rate effettivo scender� a 30Hz (un frame ogni due refresh).
  Perdere due periodi di refresh porter� a 20Hz.

  22..33..33..  LLiimmiittii ddii pprriimmiittiivvee

  Se la propria scena non � molto dettagliata (solo pochi poligoni, ma
  molto grandi, con molte sovrascritture), l'applicazione sar�
  probabilmente limitata dal fill rate - � possibile fornire altre
  primitive (linee, triangoli, poligoni) all'hardware, ma la generazione
  dei pixel non pu� essere in alcun modo accelerata.

  Invece, se la propria applicazione rappresenta un infinit� di piccoli
  triangoli o poligoni, probabilmente ci si ritrover� limitati dalla
  generazione delle primitive. Dato una banda passante del PCI di 33MHz
  per 32bit, o 132 MB/sec, e un pacchetto di dati per triangolo di 3
  vertici (9 coordinate, ognuna a 16bit, pi� 3 colori, ognuno a 24bit),
  e un frame rate di 20Hz, si potranno trasferire circa 240K
  triangoli/frame - senza contare i dati delle texture, gli accessi al
  disco e le altre operazioni.

  22..44..  CCaarraatttteerriissttiicchhee ddeellll''AAcccceelleerraazziioonnee HHaarrddwwaarree

  Le operazioni di rendering solitamente supportate dagli acceleratori
  hardware che si rispettino sono:

  �  Texture mapping con correzione prospettica

  �  Alpha-blending, Nebbia

  �  Anti-aliasing

  �  Filtering bi-lineare delle texture

  �  Livello di dettaglio (LOD) MIP mapping

  �  Correzione a livello sub-pixel

  �  Ombreggiatura Gouraud basata sui poligoni e modulazione delle
     texture

  �  Double buffering

  �  Buffering di profondit�, stencil buffer

  Solitamente, l'hardware permette un aumento della risoluzione dello
  schermo (dato che il rendering esclusivamente software � limitato a
  320x200 pixel per i frame rate interattivi), il filtraggio avanzato,
  la traslucenza reale del canale alpha, e l'uso di frame buffer a
  colori reali a 16bpp o 24bpp.

  22..55..  CCeennnnii ssuullll''AArrcchhiitteettttuurraa VVooooddoooo GGrraapphhiiccss ((ttmm))

  Solitamente, il maggior collo di bottiglia si riscontra nell'accesso
  alla memoria delle texture e ai buffer di profondit� e dei fotogrammi.
  Per ogni pixel nello schermo, ci sono almeno uno (mappatura in
  vicinanza), quattro (bi-lineare) o otto (tri-lineare) accessi in
  lettura alla memoria delle texture, pi� una lettura/scrittura al
  buffer di profondit� e una lettura/scrittura al buffer dei fotogrammi.

  L'architettura Voodoo Graphics (tm) separa la memoria delle texture da
  quella dei buffer dei fotogrammi e di profondit� suddividendo il
  rendering in due stadi separati, con due unit� distinte (il pixelfx e
  il texelfx), ognuna con il proprio collegamento alla memoria
  corrispondente. Questo permette un fill rate superiore alla media, a
  discapito della gestione della memoria (p.es. la memoria dedicata ai
  frame non utilizzata non pu� essere usata per il caching delle
  texture).

  Inoltre, un Voodoo Graphics (tm) pu� usare due TMU (unit� di gestione
  delle texture o texelfx), ed infine, due Voodoo Graphics (tm) possone
  essere collegati per accedere allo stesso RAMDAC con un meccanismo
  chiamato Scan-Line Interleaving (SLI). In parole povere SLI significa
  che ogni pixelfx disegna una riga di schermo ogni due, il che riduce
  l'impatto della banda passante sulla memoria destinata ai frame di
  ogni pixelfx.

  33..  IInnssttaallllaazziioonnee

  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.

  33..11..  IInnssttaallllaarree llaa SScchheeddaa

  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.

  33..11..11..  RRiissoolluuzziioonnee ddeeii pprroobblleemmii ddii iinnssttaallllaazziioonnee hhaarrddwwaarree

  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 sco�
  vare 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 man�
  dare 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.

  33..11..22..  CCoonnffiigguurraarree iill kkeerrnneell

  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.

  33..11..33..  CCoonnffiigguurraarree ii ddeevviiccee

  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.

  33..22..  DDiissppoossiizziioonnee ddeeii MMoonniittoorr

  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.

  33..22..11..  SSoolluuzziioonnee aa sscchheerrmmoo ssiinnggoolloo

  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.

  33..22..22..  SSoolluuzziioonnee aa dduuee sscchheerrmmii

  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.

  33..33..  IInnssttaallllaarree llaa DDiissttrriibbuuzziioonnee GGlliiddee

  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�.

  33..33..11..  UUssaarree iill pprrooggrraammmmaa ddeetteecctt

  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.

  33..33..22..  UUssaarree ii pprrooggrraammmmii ddii tteesstt

  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.


  44..  RRiissppoossttee AAllllee DDoommaannddee PPii�� FFrreeqquueennttii

  Le sezioni seguenti rispondono ad alcune delle domande che sono state
  poste nei newsgroup e mailing list Usenet. Le FAQ sono state suddivise
  per comodit� in pi� parti, vale a dire

  �  FAQ: Requisiti?

  �  FAQ: Voodoo Graphics (tm)? 3Dfx?

  �  FAQ: Glide?

  �  FAQ: Glide e SVGA?

  �  FAQ: Glide e XFree86?

  �  FAQ: Glide vs. OpenGL/Mesa?

  �  FAQ: Quake?

  �  FAQ: Risoluzione dei problemi?


  Ogni sezione elenca alcune domande e risposte, a cui si possono
  ricondurre la maggior parte dei problemi.


  55..  FFAAQQ:: RReeqquuiissiittii??

  55..11..  QQuuaallii ssoonnoo ii rreeqquuiissiittii ddii ssiisstteemmaa??

  Un PC Linux con PCI 2.1 o seguente, un monitor con risoluzione 640x480
  o maggiore e una scheda acceleratrice 3D basata sul 3Dfx Voodoo
  Graphics (tm). Funziona su P5 o P6, con o senza MMX.

  55..22..  FFuunnzziioonnaa ccoonn LLiinnuuxx--AAllpphhaa??

  Attualmente non ci sono distribuzioni Linux Glide per le piattaforme
  diverse dalla i586. Dato che i sorgenti della Glide non sono
  pubblicamente disponibili, si devono aspettare i binari. Quantum3D ha
  annunciato il supporto per DEC Alpha per la seconda met� del 97. Per
  piacere si contatti Daryll Strauss se si � interessati al supporto di
  questo progetto.

  55..33..  QQuuaallii cchhiippsseett ssoonnoo ssuuppppoorrttaattii??

  Attualmente sotto Linux � supportata la pi� recente revisione dei
  chipset 3Dfx Voodoo Graphics (tm). I chipset Voodoo Rush (tm) non sono
  tuttora supportati.

  55..44..  QQuuaallii sscchheeddee ssoonnoo ssuuppppoorrttaattee??

  Questa sezione elenca le schede che attualmente si sanno funzionare
  sotto Linux. Non ci sono schede ufficialmente supportate, dato che
  3Dfx non vende alcuna scheda. Queste informazioni sono basate
  sull'ultimo kernel di Linux disponibile al momento di scrivere, ed
  elencano le schede che sono state testate, pi� le schede che
  dovrebbero funzionare, ma che non sono state provate.

  � importante sottolineare che il supporto Linux per una data scheda
  non richiede solamente un driver per la componente acceleratrice 3D.
  Se una scheda integra anche la parte VGA, allora sar� necessario anche
  il supporto per Linux SVGA e per XFree86. Attualmente, � preferibile
  la soluzione con scheda add-on, dato che ti permette di scegliere una
  scheda grafica normale ben supportata da Linux. Ci sono altri aspetti
  discussi in seguito.

  Sono state testate le seguenti configurazioni:

  �  Diamond Monster 3D con Diamond Stealth 64 3240XL

  �  Orchid  Righteous 3D con una scheda grafica basata sul S3-968

  �  Quantum3D Obsidian 50-4220

  Queste sono le configurazioni esistenti delle schede Obsidian, la
  maggior parte delle quali non sono ancora state testate, ma comunque
  dovrebbero funzionare.

     OObbssiiddiiaann 5500--22220000
        1 pixelfx con 2MB di frame buffer memory, 1 texelfx con 2MB di
        texture memory

     OObbssiiddiiaann 5500--22440000
        1 pixelfx con 2MB di frame buffer memory, 1 texelfx con 4MB di
        texture memory

     OObbssiiddiiaann 5500--44440000
        1 pixelfx con 4MB di frame buffer memory, 1 texelfx con 4MB di
        texture memory

     OObbssiiddiiaann 5500--22222200
        1 pixelfx con 2MB di frame buffer memory, 2 texelfx con 2MB di
        texture memory ciascuno, per un totale di 4MB di texture memory

     OObbssiiddiiaann 5500--44222200
        1 pixelfx con 4MB di frame buffer memory, 2 texelfx con 2MB di
        texture memory ciascuno, per un totale di 4MB di texture memory.
        Questa configurazione era l'originale "Obsidian Pro" che era
        stata usata per il 3DS Plug-in Project (ora fatto con la
        Datapath Realistorm). Datapath era solito chiamarla "Pro VR".

     OObbssiiddiiaann 5500--44444400
        1 pixelfx con 4MB di frame buffer memory, 2 texelfx con 4MB di
        texture memory ciascuno, per un totale di 8MB di texture memory.
        Questa configurazione � il nuovo obiettivo per il 3DS Plug-in
        Project (ora fatto con la Datapath Realistorm).

     OObbssiiddiiaann 5500--22444400
        1 pixelfx con 2MB di frame buffer memory, 2 texelfx con 4MB di
        texture memory ciascuno, per un totale di 8MB di texture memory.

     OObbssiiddiiaann 110000--22444400
        aka 2440-SLI, aka XS-100, o semplicemente "SLI".

        Due schede PCI, ognuna con 1 pixelfx con 2MB di frame buffer
        memory e 2 texelfx con 4MB di texture memory ciascuno, per un
        totale di 8MB di texture memory per scheda. Le texture devono
        essere memorizzate su entrambe le schede, cos� ci� non equivale
        a 16MB di texture memory. L'uscita video scan line interleaved
        permette di raddoppiare il fill rate.

  Il pacchetto commerciale con software aggiuntivo per Autodesk 3DS MAX
  chiamato Obsidian 3DS, originariamente usava 50-4220 ed ora � dis�
  tribuito assieme ad una scheda 50-4440.

  Le seguenti schede non sono ancora state testate:

  �  Deltron RealVision Flash 3D

  Con l'attuale Glide 2.4, le seguenti schede basate sul Voodoo Rush
  (tm) non dovrebbero funzionare con Linux:

  �  Hercules Stingray 128/3D

  �  Intergraph Intense 3D Rush

  Dato che il chipset Voodoo Rush (tm) supporta operazioni in finestra,
  viene usato su schede VGA accelerate, che richiedono un supporto per
  XFree86 o Linux SVGA non ancora disponibile.

  Le schede non basate sui chipset 3Dfx (e.g. prodotte da S3, Matrox,
  3Dlabs, Videologic) _n_o_n funzionano con i driver 3Dfx e esulano dagli
  scopi di questa documentazione.

  55..55..  �� ssuuppppoorrttaattaa llaa HHeerrccuulleess SSttiinnggrraayy 112288//33DD??

  In questa scheda, l'acceleratore 2D � montato su una scheda PCI e il
  chipset Voodoo Rush (tm) su una scheda figlia. Attualmente questa
  scheda non � supportata n� dalla Linux Glide, n� dai server accelerati
  XFree86. Tuttavia il server SVGA XFree86 funziona secondo quanto
  riportato nella mailing list di Mesa.  Supporta gli 8, i 16 e i 32
  bpp.


  ______________________________________________________________________
  # device section settings
  Chipset "AT24"
  Videoram 4032

  # videomodes tested by Oliver Schaertel
  #  25.18  28.32  for 640 x 480   (70hz)
  #  61.60         for 1024 x 786  (60hz)
  #  120           for 1280 x 1024 (66hz)
  ______________________________________________________________________


  Attualmente non c'� supporto per il Voodoo Rush (tm). Varrebbe la pena
  tentare, ma siccome il produttore non ha fornito alcuna scheda di
  prova, ci si deve arrangiare.

  Per quanto riguarda il componente VGA collegato al Voodoo Rush (tm), �
  un acceleratore della Alliance Semiconductor's ProMotion-AT3D
  multimedia. Il supporto XFree86 per l'AT3D/AT24 non sar� accelerato
  prima della XFree86 4.0, che � lungi a venire.

  55..66..  �� ssuuppppoorrttaattaa llaa IInntteerrggrraapphh IInntteennssee 33DD RRuusshh??

  Sebbene questa scheda sia integrata in un'unica scheda, �
  sostanzialmente la stessa combinazione di chipset (AT3D, Voodoo Rush
  (tm)), cos� vale lo stesso discorso fatto in precedenza per la
  Hercules Stingray. Da quanto ha detto David E. Anderson della
  Intergraph, per il momento non hanno intenzione di fornire alcun
  supporto per Linux.


  66..  FFAAQQ:: VVooooddoooo GGrraapphhiiccss ((ttmm))?? 33DDffxx??

  66..11..  CChhii �� 33DDffxx??

  3Dfx � un industria di San Jose produttrice di acceleratori grafici 3D
  per giochi arcade, console, e schede per PC. Il loro sito ufficiale �
  www.3dfx.com. 3Dfx non vende direttamente alcuna scheda, ma hanno una
  societ� associata, la Quantum3D. Si veda la loro home page al sito
  www.quantum3d.com per maggiori informazioni.

  66..22..  CChhee ccooss''ee iill VVooooddoooo GGrraapphhiiccss ((ttmm))??

  Il Voodoo Graphics (tm) � un chipset prodotto dalla 3Dfx. Viene usato
  nelle schede acceleratrici per PC. Si veda la sezione dell'HOWTO
  sull'hardware supportato.

  C'� un nuovo chipset, il Voodoo Rush (tm), che attualmente non �
  supportato sotto Linux.

  66..33..  DDoovvee ppoossssoo ttrroovvaarree aallttrree iinnffoorrmmaazziioonnii ssuull VVooooddoooo GGrraapphhiiccss ((ttmm))??

  C'� una FAQ della 3Dfx, che dovrebbe essere disponibile al loro sito
  web. Si possono trovare informazioni commerciali nei seguenti siti:

  �  www.3dfx.com

  �  www.quantum3d.com

  �  www.orchid.com

  �  www.diamondmm.com

  �  www.deltrontech.com


  77..  FFAAQQ:: GGlliiddee?? TTeexxUUSS??

  77..11..  CChhee ccooss''�� GGlliiddee??

  Glide � un API proprietaria pi� i driver per accedere
  all'accelerazione grafica 3D hardware basata sui chipset prodotti
  dalla 3Dfx. Glide � stato progettato ed implementato per DOS, Windows
  e Macintosh, ed � stato convertito per Linux da Daryll Strauss.

  77..22..  CChhee ccooss''�� TTeexxUUSS??

  Nella distribuzione � libtexus.so, che � l'Interactive Texture Utility
  Software di 3Dfx. � una libreria di eleborazione delle immagine ed
  alcune utility per preparare le immagini per essere usate con la
  libreria Interactive Glide di 3Dfx. Tra le caratteristiche di TexUS ci
  sono la conversione dei formati dei file, la creazione di MIPmap e il
  supporto per l'Interactive Narrow Channel Compression delle texture di
  3Dfx.

  L'utility texus di TexUS legge le immagini in alcuni dei formati pi�
  diffusi (TGA, PPM, RGT), genera MIPmap e scrive le immagini come file
  di texture 3Dfx Interactive (vedi a.es. alpha.3df, incluso nella
  distribuzione) o come file immagine per essere controllati. Per i
  dettagli sui parametri di texus e sulle API, si veda la documentazione
  di TexUS.

  77..33..  GGlliiddee �� ffrreeeewwaarree??

  No. Glide non � n� GPL n� soggetta a qualche altra licenza pubblica.
  Si veda il file LICENSE nella distribuzione per i dettagli. Glide
  viene fornita solo in formato binaro e non si dovrebbe usare o
  distribuire alcun file se non quelli rilasciati pubblicamente, se non
  si ha firmato un NDA. La distribuzione Glide inclusi i sorgenti dei
  programmi di test sono sotto il copyright della 3Dfx.

  Lo stesso discorso va fatto per tutti i sorgenti presenti nella
  distribuzione Glide. Secondo le parole della 3Dfx: Questi non sono di
  pubblico dominio, ma possono essere distribuiti liberamente solo ai
  posessori di prodotti 3Dfx. Niente scheda, niente codice!

  77..44..  �� ddiissppoonniibbiillee iill ssoorrggeennttee ddeellllaa GGlliiddee??

  No. Il sorgente della Glide � reso disponibile solo in base ad uno
  speciale accordo e un NDA con 3Dfx.

  77..55..  LLaa LLiinnuuxx GGlliiddee �� ssuuppppoorrttaattaa??

  Attualmente la Linux Glide non � supportata. Essenzialmente, viene
  fornita sotto le stesse restrizioni della DLL GLQuake.

  Comunque, 3Dfx vuole fornire il maggior supporto possibilie, e sta
  iniziando a muoversi in questa direzione. Per il prossimo periodo, si
  dovr� far riferimento al newsgroup 3Dfx (vedere sotto).

  Inoltre, la pagina web della Quantum3D riporta che il supporto Linux
  (per la Obsidian) � previsto sia per l'architettura Intel sia per
  quella AXP nella seconda met� del 97.

  77..66..  DDoovvee ppoossssoo ppoossttaarree llee ddoommaannddee ssuu GGlliiddee??

  Ci sono alcuni newsgroups attualmente disponibili sul server NNTP
  news.3dfx.com gestiti dalla 3Dfx. Questi gruppi USENET sono dedicati
  alla 3Dfx e a Glide in generale e principalmente forniscono assistenza
  per DOS, Win95 e NT. L'attuale elenco �:


  ______________________________________________________________________
  3dfx.d3d.drivers
  3dfx.events
  3dfx.game.titles
  3dfx.games.glquake
  3dfx.glide
  3dfx.glide.linux
  3dfx.oem.products.diamond.monster3d
  3dfx.oem.products.hercules.stingray128-3d
  3dfx.oem.products.orchid.righteous3d
  3dfx.oem.products.quantum3d.obsidian
  3dfx.oem.products.realvision.flash3d
  3dfx.products
  3dfx.test
  ______________________________________________________________________


  Per piacere si usi news.3dfx.com/3dfx.glide.linux per tutte le domande
  relative alla Linux Glide.

  Una mailing list dedicata alla Linux Glide � in preparazione
  (probabilmente sar� disponibile ad agosto inoltrato). Si spedisca una
  lettera a majordomo@gamers.org, senza alcun soggetto, e con info
  linux-3dfx come corpo del messaggio per avere informazioni sulle
  direttive di posting, l'archivio di hypermail e su come iscriversi
  alla lista o averne, quando disponibile, il compendio.

  77..77..  DDoovvee ssppeeddiirree ii bbuugg rreeppoorrtt??

  Attualmente si deve fare riferimento al newsgroup (vedere sopra), che
  � news.3dfx.com/3dfx.glide.linux. Non c'� nessun supporto e-mail
  ufficiale attivato. Per le domande non specificatamente riguardanti la
  Linux Glide, ci si assicuri di usare un altro newsgroup.

  77..88..  CChhii llaa ssttaa mmaanntteenneennddoo??

  3Dfx nominer� presto un mantenitore ufficiale. Attualmente, il
  mantenitore non ufficiale della conversione per Linux della Glide �
  Daryll Strauss. Per favore si postino i bug report nel newsgroup (v.
  sopra). Se si crede di aver trovato un bug non riportato
  precedentemente, per piacere si scriva a Daryll all'indirizzo
  daryll@harlot.rb.ca.us.

  77..99..  CCoommee ppoossssoo ccoonnttrriibbuuiirree aallllaa LLiinnuuxx GGlliiddee??

  Si possono inviare dettagliati bug report. Un'altra possibilit� �
  fornire programmi d'esempio da includere nella distribuzione. Un altro
  grande contributo potrebbe essere aggiungere del codice ai sorgenti
  del driver Mesa Voodoo basato sulla Glide. Si vedano la sezione sul
  Mesa Voodoo in seguito.

  77..1100..  DDeevvoo uussaarree llaa GGlliiddee??

  S�. Dato che per il momento non ci sono altri driver Voodoo Graphics
  (tm) disponibili per Linux.

  77..1111..  DDoovvrreeii pprrooggrraammmmaarree uussaannddoo ll''AAPPII ddeellllaa GGlliiddee??

  Dipende dall'applicazione che si ha intenzione di sviluppare. La Glide
  � un API proprietaria che � in parte simile alla OpenGL o alla Mesa,
  in parte contiene funzioni disponibili come estensioni di qualche
  implementazione di OpenGL e in parte contiene funzioni non
  riscontrabili da nessuna altra parte se non nella Glide.

  Se si vuole usare l'API OpenGL, si deve usare Mesa (vedere sotto).
  Mesa, o meglio il driver Mesa Voodoo, propone una API che si rif�
  all'API OpenGL, molto ben documentata e largamente usata. Comunque, il
  driver Mesa Voodoo � in versione alpha primitiva, quindi se lo si usa
  si devono accettarne le scarse prestazioni e il mancato supporto di
  alcune funzioni.

  In breve, la scelta � personale - se si cercano le massime prestazioni
  e si accettano i problemi di portabilit� ad hardware non-3Dfx, La
  Glide non � una cattiva scelta. Se si tiene al mantenimento, l'OpenGL
  potrebbe essere la scelta miglior a lungo termine.

  77..1122..  QQuuaall''�� llaa vveerrssiioonnee aattttuuaallee??

  La versione della Linux Glide che sar� resa pubblica � la 2.4, dato
  che � la prossima release della Glide per DOS/Windows.

  Nota che questo HOWTO � stato scritto basandosi sulla Linux Glide
  2.3.1, dato che la Glide 2.4 non � ancora stata rilasciata e che la
  conversione per Linux della Glide 2.4 non � ancora stata terminata.
  Visto che l'API non cambier� e visto che non ci sono variazioni
  pianificate per la distribuzione Linux Glide, questa documentazione
  ricoprir� ancora la maggior parte dei problemi.

  77..1133..  LLaa LLiinnuuxx GGlliiddee �� iiddeennttiiccaa aallllaa DDOOSS//WWiinnddoowwss GGlliiddee??

  La versione della Linux Glide che verr� resa pubblica sar� la 2.4,
  seguendo la release della DOS/Windows Glide 2.4. L'API e
  l'implementazione si suppongono essere identiche.

  La Glide 2.2 � stata portata in Linux nell'Aprile 1997. La conversione
  della Glide 2.3.1 � stata fatta nel Giugno 1997. Entrambe prive di una
  ottimizzazione chiave per l'impostazione dei triangoli, che sar�
  inclusa nella release 2.4 della Linux Glide. Le conversioni precedenti
  non sono state rese disponibili pubblicamente e sono state usate solo
  per il beta test.

  77..1144..  DDoovvee ttrroovvoo iinnffoorrmmaazziioonnii ssuullllaa GGlliiddee??

  Ci sono esaurienti informazioni disponibili da 3Dfx. Si pu� scaricarle
  dalla loro home page a www.3dfx.com/software/download_glide.html. Sono
  gratuite, presumendo che tu abbia comprato una scheda basata
  sull'hardware 3Dfx. Per favore si leggano il regolamento di licenza.

  Come inizio, si pu� cercare qualcosa dei seguenti testi:

  �  _G_l_i_d_e _R_e_l_e_a_s_e _N_o_t_e_s

  �  _G_l_i_d_e _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e

  �  _G_l_i_d_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l

  �  _G_l_i_d_e _P_o_r_t_i_n_g _G_u_i_d_e

  �  _T_e_x_U_s _T_e_x_t_u_r_e _U_t_i_l_i_t_y _S_o_f_t_w_a_r_e

  �  _A_T_B _R_e_l_e_a_s_e _N_o_t_e_s

  �  _I_n_s_t_a_l_l_i_n_g _a_n_d _U_s_i_n_g _t_h_e _O_b_s_i_d_i_a_n

     Sono disponibili come documenti Microsoft Word, e fanno parte della
     distribuzione Glide per Windows, cio� del file d'archivio
     autoscompattante. Per scaricarli separatamente dovrebbe essere
     disponibile la copia postscript a www.3dfx.com. Nota che il numero
     della release non � sempre sintonizzato con quello della Glide.



  77..1155..  DDoovvee ttrroovvaarree aallccuunnii ddeemmoo ppeerr GGlliiddee??

  Si possono trovare i sorgenti di demo per Glide all'interno della
  distribuzione (i programmi di test) e alla home page della 3Dfx. Il
  problema con quest'ultimi � che alcuni richiedono ATB. Per portare
  questi demo sotto Linux, dev'essere completamente riscritto la
  gestione degli eventi.

  Inotre, possono essere utili alcuni dei sorgenti delle demo per OpenGL
  che accompagnano Mesa e GLUT. Anche se l'API della Glide � diverso
  dall'API OpenGL, entrambi mirano alla stessa hardware rendering
  pipeline.


  88..  FFAAQQ:: GGlliiddee ee SSVVGGAA??

  Non si dovrebbero avere problemi a lanciare le applicazioni basate
  sulla Glide utilizzando la modalit� VGA sia a schermo singolo sia a
  schermo doppio. Potrebbe essere una buona idea utilizzare una
  risoluzione di 640x480 anche in modalita SVGA, se si sta utilizzando
  una configurazione a schermo singolo.

  99..  FFAAQQ:: GGlliiddee ee XXFFrreeee8866??


  99..11..  FFuunnzziioonnaa ccoonn XXFFrreeee8866??

  Sostanzialmente, l'hardware Voodoo Graphics (tm) non si interessa di
  X. L'X server inoltre non noter� che il segnale video generato
  dall'hardware VGA non giunge al monitor nella configurazione a schermo
  singolo. Se la propria applicazione non � stata scritta facendo
  attenzione all'X, il passaggio della Glide alla modalit� a schermo
  intero pu� causare dei problemi (vedi la sezione Risoluzione dei
  Problemi). Se non interessa il sovraccarico di lavoro che comporta
  scrivere un'applicazione sotto X11, si potrebbe usare la console in
  modalit� SVGA.

  Riassumendo: s�, funziona sotto XFree86, ma no, non � cooperante se
  non si scrivono le applicazioni accortamente.

  99..22..  FFuunnzziioonnaa ssoolloo aa sscchheerrmmoo iinntteerroo??

  Vedi sopra. L'hardware Voodoo Graphics (tm) non � conscio di un
  ambiente a finestre, e nemmeno lo � la Linux Glide.

  99..33..  CCoossaa mmii ddiiccii ssuullllaa GGLLXX ppeerr XXFFrreeee8866??

  Ci sono un paio di problemi.

  L'hardware Voodoo Graphics (tm) attualmente supportato e l'attuale
  revisione della Linux Glide funzionano solamente a schermo intero, e
  non sono predisposte per condividere un framebuffer (buffer video,
  memoria video) con un ambiente a finestre. Cos� GLX o qualsiasi altra
  integrazione con l'X11 non � ancora possibile.

  Il Voodoo Rush (tm) potrebbe essere capace di cooperare con XFree86
  (dato che la parte SVGA della scheda funziona con il server SVGA di
  XFree86), ma non � ancora supportato dalla Linux Glide, cos� come non
  � ancora supportato dai server S3 o dagli altri server XFree86.

  Inoltre GLX � legato a OpenGL o, nel caso di Linux, a Mesa. Il gruppo
  di XFree86 attualmente sta lavorando per integrare Mesa con i loro X
  server. GLX � in fase beta, XFree86 3.3 ha qualche "aggancio" per GLX.
  Si veda la pagina su GLX di Steve Parker a
  www.cs.utah.edu/~sparker/xfree86-3d/ per le informazioni pi� recenti.
  Attualmente Mesa usa ancora la sua emulazione GLX con Linux.
  1100..  FFAAQQ:: GGlliiddee vveerrssuuss OOppeennGGLL//MMeessaa??

  1100..11..  GGlliiddee �� OOppeennGGLL??

  No, Glide � un API proprietaria di 3Dfx con alcune caratteristiche
  specifiche per il Voodoo Graphics (tm) e il Voodoo Rush (tm). Una
  OpenGL per 3Dfx � in preparazione (vedi sotto). Alcune caratteristiche
  della Glide potrebbero richiedere le EXTensioni a OpenGL, alcune delle
  quali si trovano gi� in altre implementazioni (a.es. le texture
  paletizzate).

  La cosa pi� simile all'OpenGL accelerato dall'hardware per Linux che
  si pu� attualmente trovare � Mesa di Brian Paul assieme al driver Mesa
  Voodoo di David Bucciarelli (vedi sotto).

  1100..22..  MMeessaa ffuunnzziioonnaa ccoonn 33DDffxx??

  Dalla release 2.3 Beta3, Mesa funziona con la Linux Glide 2.2,
  similmente a Mesa con Glide per DOS/Windows. Ci sono patch Mesa 2.3b3
  per la Linux Glide 2.3.1. Le seguenti versioni di Mesa funzioneranno
  con la Linux Glide 2.4; fin tanto che l'API non cambier�, dovrebbero
  essere sufficienti le patch Mesa 2.3b3. La distribuzione Glide non fa
  parte della distribuzione Mesa.

  Potrebbe essere necessario scaricare l'archivio della libreria Mesa da
  l sito FTP iris.ssec.wisc.edu.

  1100..33..  DDoovvee ootttteennggoo aallttrree iinnffoorrmmaazziioonnii ssuu OOppeennGGLL??

  Si usi la porta di accesso alle info su OpenGL di Mark Kilgard a
  reality.sgi.com/mjk_asd/opengl-links.html, e si proceda da l�.

  1100..44..  DDoovvee ootttteennggoo iinnffoorrmmaazziioonnii ssuu MMeessaa??

  La home page di Mesa � www.ssec.wisc.edu/~brianp/Mesa.html. C'� un
  archivio della mailing list di Mesa a www.iqm.unicamp.br/mesa/. Questa
  lista non � dedicata a 3Dfx e Glide, ma se si � interessati ad usare
  l'hardware 3Dfx per accelerare Mesa, � un buon punto di partenza.

  1100..55..  DDoovvee ootttteennggoo iinnffoorrmmaazziioonnii ssuu MMeessaa VVooooddoooo??

  Per le ultime informazioni sul driver Mesa Voodoo mantenuto da David
  Bucciarelli (tech.hmw@plus.it) si veda la home page a www-
  hmw.caribel.pisa.it/fxmesa/.

  1100..66..  CC''�� uunnaa OOppeennGGLL ccoommmmeerrcciiaallee ppeerr LLiinnuuxx ee 33DDffxx??

  3Dfx ha pubblicamente annunciato un'implementazione di OpenGL per
  Windows per quest'anno (seconda met� del '97). Non si sa quando questa
  sar� disponibile anche per Linux.

  Di OpenGL realizzate da terze parti, sono a conoscenza di tre
  prodotti:

  �  MetroLink MetroOpenGL

  �  XInside OpenGL

  �  Evans & Sutherland OpenGL

  L'ultima viene distribuita da Portable Graphics, ed � una
  trasposizione pura e semplice della OpenGL reference software
  implementation, con un kit di linkaggio per una vecchia revisione
  degli X server di XFree86. Portable Graphics non ha mai promesso un
  supporto hardware. Per quel che ne so, questo prodotto non � pi�
  disponibile.
  Gli altri due hanno promesso il supporto per gli acceleratori
  hardware, ma entrambi sono legati ad una trasposizione proprietaria
  degli X server ed entrambi non supportano alcuna accelerazione 3D, per
  quel che ne so.

  1100..77..  CCoossaa mmii ddiiccii ddii GGLLUUTT??

  La distribuzione GLUT di Mark Kilgard � un posto molto valido per
  ottenere applicazioni d'esempio e molti utili programmi. La si trova a
  reality.sgi.com/mjk_asd/glut3/, e si pu� prendererla comunque. La
  release attuale � GLUT 3.4.

  Comunque, visto che GLUT gestisce il double buffer, finestre, eventi
  ed altre operazioni intimamente legati all'hardware e al sistema
  operativo, una Voodoo-GLUT richiede alcune modifiche specifiche. C'�
  una alpha release disponibile come parte della pi� recente
  distribuzione Mesa (David Bucciarelli, Henri Fousse).

  1111..  FFAAQQ:: MMaa QQuuaakkee??

  1111..11..  CCoossaa mmii ddiiccii ddeellllaa QQuuaakkee GGLL??

  La DLL rilasciata da 3Dfx � disponibile solo per Windows. Supporta un
  sottoinsieme di OpenGL specifico per Quake (Vedi
  http://www.cs.unc.edu/~martin/3dfx.html per un elenco non ufficiale
  dei code path supportati. No, questa DLL non � stata portata sotto
  Linux. No, non c'� alcuna versione di Quake basata sulla Glide,
  neanche per Windows. Non ho alcuna notizia su una glQuake per Linux.

  1122..  FFAAQQ:: RRiissoolluuzziioonnee ddeeii pprroobblleemmii

  1122..11..  QQuueessttoo hhaarrddwwaarree �� ssttaattoo tteessttaattoo??

  Si vedano i requisiti hardware scritti prima, c'� un elenco di
  hardware che � stato provato e che funziona.

  1122..22..  FFaaiilleedd ttoo cchhaannggee II//OO pprriivviilleeggee??

  Si deve essere root, o rendere setuid la propria applicazione per
  lanciare un'applicazione basata su Glide. A causa del DMA, il driver
  accede a /dev/mem, che non � accessibile in scrittura da alcuno se non
  da root, per validi motivi. Vedi il README della distribuzione Glide
  per Linux.

  1122..33..  FFuunnzziioonnaa sseennzzaa ii pprriivviilleeggii ddii rroooott??

  Ci sono casi particolari in cui, ovviamente, l'uso di setuid diventa
  un problema. Attualmente ci sono soluzioni in preparazione, che
  richiedono cambiamenti all'interno della libreria stessa.

  1122..44..  LLee iimmmmaaggiinnii ssoonnoo ddiissttoorrttee ((sscchheerrmmoo ssiinnggoolloo))??

  Se si sta usando la configurazione analogica passante, il normale
  schermo SVGA o X11 pu� apparire considerevolmente male. Si pu� provare
  ad utilizzare un miglior cavo di connessione di quello fornito con la
  scheda acceleratrice (quelli venduti con la Diamond Monster 3D sono
  solitamente peggiori di quelli distribuiti assieme alla Orchid
  Righteous 3D), ma fino ad un certo punto � inevitabile che ci sia una
  perdita di segnale a causa del percorso di trasmissione aggiuntivo.

  Se l'immagine a pieno schermo 640x480 creata dalla scheda
  acceleratrice risulta distorta, ci� pu� indicare un problema hardware
  reale. Si deve contattare il costruttore della scheda, non 3Dfx per i
  dettagli, dato che la qualit� del segnale video non ha niente a che
  fare con l'acceleratore - il costruttore della scheda sceglie il
  RAMDAC, i driver d'uscita e gli altri componenti responsabili.
  1122..55..  LL''uullttiimmoo ffrraammee �� aannccoorraa ll�� ((sscchheerrmmoo ssiinnggoolloo oo ddooppppiioo))??

  Si � terminata la propria applicazione con Ctrl-C o non � terminata
  correttamente. La scheda acceleratrice fornir� all'infinito l'attuale
  contenuto del framebuffer come segnale video finch� non le verr� detto
  altrimenti.

  1122..66..  SSii aattttiivvaa iill ppoowweerrssaavvee ((sscchheerrmmoo ddooppppiioo))??

  Quando l'applicazione termina nella configurazione a due schermi, la
  scheda acceleratrice non fornisce pi� alcun segnale video. Perci� il
  powersave si attiva ogni volta. Per evitarlo, si usi

  ______________________________________________________________________
  setenv SST_DUALSCREEN 1
  ______________________________________________________________________



  1122..77..  LLaa mmiiaa mmaacccchhiinnaa sseemmbbrraa ssttaallllaarree ((XX1111,, sscchheerrmmoo ssiinnggoolloo))??

  Se stai utilizzando X quando lanci una applicazione Glide,
  probabilmente si � mosso il mouse fuori dalla finestra e gli input
  della tastiera non raggiungono pi� l'applicazione.

  Se l'applicazione � progettata per funzionare concorrentemente con
  X11, si potrebbe o ingrandire la finestra a pieno schermo o usare le
  funzioni XGrabPointer e XGrabServer per reindirizzare tutti gli input
  all'applicazione mentre l'X server non pu� accedere al monitor. Si
  noti che il catturare tutti gli input con XGrabPointer e XGrabServer
  non qualifica l'applicazione come well-behaved (ovvero che si comporta
  bene con X), e che il tuo programma pu� bloccare l'intero sistema.

  Se si ha questo problema senza utilizzare X, ci si assicuri che non ci
  siano conflitti hardware (vedi sotto).

  1122..88..  LLaa mmiiaa mmaacccchhiinnaa ssttaallllaa ((sscchheerrmmoo ssiinnggoolloo oo ddooppppiioo))??

  Se il sistema non risponde ad alcun input (si stanno usando due
  monitor e ci si accorge della perdita di fuoco (focus), si potrebbe
  essere in presenza di un conflitto hardware pi� o meno subdolo. Si
  veda la sezione Risoluzione dei problemi all'installazione per i
  dettagli.

  Se non c'� alcun ovvio conflitto di indirizzi, ci possono essere
  ancora altri problemi (v. sotto). Se si sta scrivendo del proprio
  codice, la ragione pi� comune di stallo � che non si � fatto lo snap
  dei vertici.  Vedi la sezione sullo snapping nella documentazione
  della Glide.

  1122..99..  LLaa mmiiaa mmaacccchhiinnaa ssttaallllaa ((uussoo uunnaa sscchheeddaa VVGGAA SS33))??

  � possibile che ci sia un problema di sovrapposizione di regioni di
  memoria tipico delle S3. Ci sono alcune informazioni ed una patch al
  problema nominato S3 nel sito web della 3Dfx, ma queste si applicano
  solo a Windows. Da come l'ho capito, la causa del problema � che certe
  schede S3 (le pi� vecchie revisioni della Diamond Stealth S3 968)
  riservano piu spazio di memoria di quello che effettivamente usano,
  cos� la Voodoo Graphics (tm) deve essere mappata in una differente
  locazione. Comunque, questo non � stato riportato come un probblema
  sotto Linux, e pu� essere specifico di Windows.

  1122..1100..  NNeessssuunn ccoonnfflliittttoo ddii iinnddiirriizzzzii,, mmaa ssttaallllaa ccoommuunnqquuee??

  Se si sta usando una scheda madre con un supporto PCI non-standard o
  incompleto, si pu� provare a mischiare un po' le schede. Sto usando un
  ASUS TP4XE che ha il fatidico "Media Slot" modificato, a.es lo slot4
  PCI ha un connettore addizionale per le schede composite SCSI/Sound
  prodotte dalla ASUS, ed ho avuto grossi problemi quando ho installato
  una Diamond Monster 3D in quello slot. Il sistema ha funzionato senza
  problemi quando ho messo la scheda in uno degli slot regolari.

  1122..1111..  CCoommppiillee//lliinnkk eerrrroorr:: ggrrSSssttWWiinnOOppeenn(())??

  (Errore di compilazione/linkaggio: grSstWinOpen()?)

  Dato che la Linux Glide sar� la versione 2.4, questo errore non
  dovrebbe verificarsi. Questa funzione non era disponibile nella Glide
  e quindi anche nella Linux Glide 2.2; le successive non sono mai state
  rese pubbliche.


  1122..1122..  CCoommppiillee//lliinnkk eerrrroorr:: ggrrSSssttOOppeenn(())??

  (Errore di compilazione/linkaggio: grSstOpen()?)

  Il sorgente della propria applicazione � basato sulla Glide 2.2 e
  questa funzione � stata eliminata nella Glide 2.3. Non essendo pi�
  disponibile non pu� essere usata con la Linux Glide 2.4. Al suo posto
  si usi la funzione grSstWinOpen.

  Dato che l'integrazione della Linux Glide con Mesa era basata
  originariamente sulla Glide 2.2, le versioni precedenti di Mesa
  possono produrre errori in fase di compilazione. La release Mesa-2.3b3
  � stata aggiornata per essere usata con la Linux Glide 2.3.1; ci si
  assicuri di avere sia la distribuzione che l'aggiornamento, o
  preferibilmente una nuova revisione di Mesa.


  1122..1133..  CCaannnnoott ooppeenn sshhaarreedd oobbjjeecctt ffiillee??

  (Impossibile aprire il file oggetto condiviso?)


  ______________________________________________________________________
  test25: error in loading shared libraries
  libglide2x.so: cannot open shared object file: No such file or directory
  ______________________________________________________________________


  Se, per una qualche ragione, si ha ancora un file binario compilato
  per una versione differente della Linux Glide o se c'� un'inconsis�
  tenza nell'impostazione del proprio ldconfig, il programma non trover�
  la libreria condivisa. Si controlli il nome (a.es. libglide2x.so) ed
  ci si assicuri di usare le opzioni corrette quando si compila e linka
  - a.es. -lglide potrebbe non funzionare con l'installazione di
  default.

  Si noti che il nome delle revisioni della Linux Glide segue la
  convenzione usata nella distribuzione 3Dfx Windows, non la convenzione
  classica di Linux.


  1122..1144..  PPrroobblleemmii ddii ccoommppiillaazziioonnee ccoonn MMeessaa

  Ci si assicuri di settare USE_GLIDE_FULLSCREEN in fxmesa.h. Si
  controlli che le opzioni del linker (a.es. -lglide) corrispondano al
  nome della libreria Linux Glide installata (a.es. -lglide2x invece).
  Ci si assicuri di usare gli aggiornamenti alla release Mesa-2.3b3 o
  seguenti, dato che tutte le release Mesa fino alla 2.3b3 sono basate
  sulla Linux Glide 2.2. Vedi sopra.

  1122..1155..  MMeessaa ffuunnzziioonnaa,, mmaa nnoonn aacccceeddee aallllaa sscchheeddaa??

  Ci si assicuri di aver ricompilato tutte le librerie (compresi i
  toolkit che i programmi dimostrativi usano - si ricorda che GLUT non
  supporta ancora il Voodoo Graphics (tm)) e di aver rimosso le vecchie
  librerie, si lanci ldconfig e/o si imposti il proprio LD_LIBRARY_PATH
  correttamente. Mesa supporta pi� driver in parallelo (puoi usare X11
  SHM, off screen rendering e Mesa Voodoo in contemporanea), e si
  potrebbe dover creare e cambiare contesto esplicitamente (si veda la
  funzione MakeCurrent) se il Voodoo Graphics (tm) non � la scelta
  predefinita.