Avanti Indietro Indice

12. FAQ: Risoluzione dei problemi

12.1 Questo hardware è stato testato?

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

12.2 Failed to change I/O privilege?

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.

12.3 Funziona senza i privilegi di root?

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.

12.4 Le immagini sono distorte (schermo singolo)?

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.

12.5 L'ultimo frame è ancora lì (schermo singolo o doppio)?

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.

12.6 Si attiva il powersave (schermo doppio)?

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

12.7 La mia macchina sembra stallare (X11, schermo singolo)?

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

12.8 La mia macchina stalla (schermo singolo o doppio)?

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.

12.9 La mia macchina stalla (uso una scheda VGA S3)?

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

12.10 Nessun conflitto di indirizzi, ma stalla comunque?

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.

12.11 Compile/link error: grSstWinOpen()?

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

12.12 Compile/link error: grSstOpen()?

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

12.13 Cannot open shared object file?

(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'inconsistenza 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.

12.14 Problemi di compilazione con Mesa

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.

12.15 Mesa funziona, ma non accede alla scheda?

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.


Avanti Indietro Indice