Si vedano i requisiti hardware scritti prima, c'è un elenco di hardware che è stato provato e che funziona.
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.
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.
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.
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.
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
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).
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.
È 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.
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.
(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.
(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.
(Impossibile aprire il file oggetto condiviso?)
test25: error in loading shared libraries libglide2x.so: cannot open shared object file: No such file or directory
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.
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.
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.