La scheda Sun(TM) PGX32(TM) è un acceleratore grafico PCI che può operare simultaneamente a 8 bit e a 24 bit, progettata per le Workstation(TM) Sun che supportano l'interfaccia PCI
La scheda PGX32 ha le seguenti caratteristiche:
Visualizzazioni simultanee a 8 e 24 bit
Caching delle pixmaps fuori schermo
Supporto di Sun OpenGL, for Solaris(TM) mediante una pipeline di rendering software DPA
Possibilità di installare fino a quattro schede PGX32 in un unico sistema
La modalità 8/24 supporta la visualizzazione simultanea delle immagini a 8 e 24 bit. È la modalità predefinita e permette da un lato di risolvere il problema del colormap flashing nelle visualizzazioni a 24 bit, dall'altro di ottenere la visualizzazione a 8 bit richiesta per applicazioni come SoftWindows(TM) e molte altre applicazioni legacy.
I tipi di visualizzazione disponibili includono PseudoColor e TrueColor. La visualizzazione predefinita è PseudoColor.
Le risoluzioni fino a 1280 ¥ 1024 utilizzano la modalità 8/24, a meno che non venga impostata esplicitamente un'altra modalità usando GFXconfig. Le risoluzioni oltre 1280 ¥ 1024 utilizzano automaticamente la modalità di visualizzazione a 8 bit. Per l'elenco delle risoluzioni supportate, vedere "Modifica della risoluzione della console".
Tutte le schede PGX 32 supportano il caching delle pixmaps fuori schermo, cioè la memorizzazione delle pixmaps nella memoria fuori schermo della scheda PGX32. Questa caratteristica permette di ottenere velocità di trasferimento superiori da e verso le finestre dello schermo. La memoria fuori schermo disponibile dipende dalle impostazioni relative alla risoluzione e alla profondità.
OpenGL viene supportato attraverso l'estensione DPA (Direct Pixel Access). Per usare questa funzione, è necessario installare sul sistema OpenGL v1.1.1 o una release successiva.
In Sun OpenGL per Solaris v1.1.1, il supporto a 24 bit per le schede PCI DPA ha un problema che causa lo scambio tra i colori rosso e blu. Per risolvere questo problema è disponibile una patch Sun (ID 106011-04), che può essere scaricata dal sito http://sunsolve.sun.com. Il problema è stato corretto in Sun OpenGL per Solaris v1.1.2.
Nome package |
Descrizione |
---|---|
TSIpgx.u |
Driver di dispositivo per l'acceleratore grafico PGX32 (Raptor GFX) |
TSIpgxmn |
Pagine del manuale dell'acceleatore grafico PGX32 (Raptor GFX) |
TSIpgxw |
Modulo caricabile X Server per l'acceleratore grafico PGX32 (Raptor GFX) |
TSIpgxx.u |
Driver di dispositivo per l'acceleratore grafico PGX32 (Raptor GFX) (64 bit) |
La procedura di installazione qui descritta deve essere ripetuta ogni volta che viene modificato il sistema operativo. Si raccomanda di rimuovere sempre il software, incluse le patch, prima di modificare il sistema operativo.
Dopo l'installazione, è possibile configurare la risoluzione dello schermo X Window, i bit di profondità e la frequenza di refresh del monitor. (La risoluzione del monitor è indipendente da quella della console, descritta in "Modifica della risoluzione della console".) È possibile accettare la risoluzione predefinita e passare a "Avvio dell'ambiente desktop".
L'utility GFXconfig, dotata di un'interfaccia a menu, permette di cambiare la risoluzione dello schermo in qualunque momento dopo l'installazione. Per una descrizione dettagliata dell'utility, vedere la pagina man GFXconfig.
Verrà aperta la finestra di configurazione per la scheda (Figura 11-1).
La Tabella 11-2 descrive la finestra di configurazione per la scheda PGX32.
Tabella 11-2 Finestra di configurazione per PGX32
Funzione |
Descrizione |
---|---|
Frecce in su e in giù |
Permettono di selezionare il dispositivo PGX32 da modificare. |
Frecce a destra e sinistra |
Permettono di selezionare il parametro da modificare (ad esempio, la risoluzione dello schermo, i bit di profondità o la sincronizzazione). |
Barra spaziatrice |
Viene usata per modificare il parametro selezionato per il dispositivo PGX32 (se necessario, attraverso un menu). |
T |
Occupa il display con un modello di testo. Premendo un tasto si ritorna alla videata principale. |
S |
Salva le impostazioni correnti ed esce dalla finestra di configurazione. |
H |
Visualizza la Guida |
Q |
Esce dal programma senza salvare le modifiche. |
A volte può essere comodo configurare la scheda PGX32 in modo non interattivo. In particolare, questo metodo è utile quando occorre configurare molti sistemi allo stesso modo o quando già si conosce la configurazione appropriata.
GFXconfig utilizza le stesse convenzioni dell'utility m64config e viene usato per tutte le schede grafiche ATI, incluse le schede grafiche integrate nella scheda madre dei sistemi Sun Ultra 5 e Sun Ultra 10 (sia a 8 bit che a 24 bit) e per il frame buffer PCI PGX a 8 bit. È possibile impostare tutti i parametri configurabili con la procedura interattiva, specificando il flag appropriato seguito dal valore desiderato. La Tabella 11-3 descrive i parametri configurabili.
Tabella 11-3 Parametri per la configurazione non interattivaParametro | Descrizione |
---|---|
-dev dispositivo | Visualizza il dispositivo da configurare. |
-res risoluzione | Visualizza il nome della risoluzione. |
-res \? | Mostra le risoluzioni disponibili. |
-file nome_file | Visualizza il file di configurazione: system o machine. |
-depth profondità | Mostra i bit di profondità (8 o 24; il valore predefinito è 24). |
-defaults | Ripristina i parametri predefiniti del dispositivo. |
-24only (true/false) | Forza la visualizzazione a 24 bit in tutte le finestre. Questa impostazione può impedire l'esecuzione di alcune applicazioni a 8 bit. |
-gfile file gamma | Visualizza il file gamma. |
-gvalue valore gamma | Visualizza il valore gamma. |
-propt | Visualizza le impostazioni correnti. |
-prconf | Visualizza le informazioni relative all'hardware. |
-help | Mostra le informazioni sull'uso del comando. |
I bit di profondità vengono impostati automaticamente su 8/24 per le risoluzioni fino a 1280 ¥ 1024, e su 8 per le risoluzioni superiori.
Per configurare la risoluzione della scheda PGX32 su 1152 x 900 x 66, digitare:
# GFXconfig -res 1152x900x66
Per verificare la risoluzione prima di impostarla in modo permanente, aggiungere la parola "try" dopo il nome della risoluzione. Questa opzione visualizza un modello di testo, che è possibile abbandonare premendo il tasto Return. A questo punto sarà possibile accettare o rifiutare la risoluzione. Ad esempio:
# GFXconfig -res 1152x900x66 try -dev /dev/fbs/gfxp0
Per impostare la risoluzione su 1024 x 768 x 60 con la sola visualizzazione TrueColor (senza visualizzazione PseudoColor a 8 bit), digitare:
# GFXconfig -res 1024x768x60 -24only true
Per visualizzare le impostazioni correnti per /dev/fbs/gfxp0, digitare:
# GFXconfig -propt -dev /dev/gfx/gfxp0
Per usare il software PGX32 come console, seguire le procedure sotto descritte.
Per usare la scheda PGX32 come console di sistema su una workstation Sun Ultra 5 o Sun Ultra 10 dotata di un unico frame buffer, è necessario per prima cosa disabilitare la grafica a 8 bit o 24 bit integrata.
Per disabilitare la scheda grafica a 8 bit o 24 bit integrata nella scheda madre, digitare:
ok setenv pcib-probe-list 1,3 ok reset
Once Una volta ripristinato il sistema, tutti i messaggi della console verranno indirizzati alla scheda PGX32.
Per ripristinare la grafica a 8 bit o 24 bit integrata nella scheda madre come console di sistema, sarà sufficiente aggiungerla nuovamente a pcib-probe-list, digitando:
ok setenv pcib-probe-list 1,2,3 ok reset
Se nel sistema Sun Ultra 30 o Sun Ultra 60 non sono presenti altri frame buffer, la scheda PGX32 verrà utilizzata automaticamente come console, a condizione che sia installata in uno slot PCI valido.
La scheda PGX32 può essere utilizzata come console anche quando il sistema comprende altri frame buffer secondari.
La scheda grafica standard integrata nella scheda madre dei sistemi Sun Ultra 5 e Sun Ultra 10 e la scheda PGX32 possono coesistere solo se la prima viene usata come console. Diversamente, la scheda grafica integrata dovrà essere disabilitata come descritto in ""Uso della scheda PGX32 come unico frame buffer"."
Per configurare la scheda PGX32 come console quando il sistema comprende uno o più frame buffer UPA, è necessario modificare la variabile del dispositivo di output nella NVRAM impostando il percorso effettivo delle schede PGX32 desiderate. Questo percorso può essere determinato cercando la stringa TSI sotto / al prompt ok.
Ad esempio, per cercare i dispositivi pci, digitare:
ok cd /pci@1f,4000 ok ls
Spostandosi nella directory appropriata, si dovrebbe vedere almeno un elemento contenente la stringa TSI (più precisamente, TSI,gfxp@#, dove # è il numero dello slot della scheda PGX32).
Questo elemento potrà essere usato come console per la scheda PGX32 desiderata. Ad esempio, se il percorso del dispositivo TSI,gfxp@# è /pcid@1f,4000 (come nell'esempio precedente), digitare:
ok setenv output-device /pci@1f,4000/TSI,gfxp@# ok reset
Sostituire # con il numero di slot del proprio dispositivo PGX32.
Dopo avere ripristinato il sistema, tutti i messaggi della console verranno indirizzati alla scheda PGX32 che è stata impostata.
Per tornare a utilizzare come console il dispositivo grafico predefinito, sarà sufficiente ripristinare il valore predefinito della variabile del dispositivo di output per lo schermo, digitando:
ok setenv output-device screen ok reset
Per usare la scheda PGX32 come console quando il sistema contiene altri frame buffer PCI, potrà essere necessario modificare il parametro pcia-probe-list per far sì che lo slot della scheda PGX32 venga testato prima del frame buffer secondario (oltre alle modifiche descritte in precedenza in ""Uso della scheda PGX32 come unico frame buffer".")
Determinare i numeri di slot corrispondenti ai frame buffer installati, quindi inserire il numero di slot della scheda PGX32 prima del frame buffer secondario in pcia-probe-list.
Ad esempio, se la scheda PGX32 è installata nello slot 3, e il frame buffer è installato nello slot 1, occorrerà modificare il parametro pcia-probe-list in modo che lo slot 3 venga testato prima dello slot 1. Una possibile configurazione è la seguente:
ok setenv pcia-probe-list 3,2,1,4 ok reset
Dopo avere ripristinato il sistema, tutti i messaggi della console verranno indirizzati alla scheda PGX32.
Questo capitolo descrive come avviare l'ambiente OpenWindows, il Common Desktop Environment (CDE) e l'X Display Manager sulla scheda PGX32.
Le sezioni seguenti descrivono come avviare l'ambiente OpenWindows come console o con più schede PGX32. Il nome di dispositivo della scheda PGX32 è gfxp#.
Per avviare l'ambiente OpenWindows su due dispositivi PGX32, gfxp0 e gfxp1, digitare:
# openwin -dev /dev/fbs/gfxp0 -dev /dev/fbs/gfxp1
Nell'esempio precedente, i numeri del dispositivo gfxp sono 0 e 1, ma possono variare a seconda della configurazione. Per determinare i numeri di dispositivo corretti, controllare /dev/fbs/ o dmesg.
Se si è installato il CDE e si desidera farlo comparire sullo schermo PGX32, è necessario modificare il file /etc/dt/config/Xservers. Se la scheda PGX32 viene usata come console, non sarà necessario effettuare questa modifica.
Ad esempio, nel seguente file Xservers.gfx si presume che la scheda PGX32 sia l'unico frame buffer su cui deve essere avviato il CDE:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -nobanner
Se il nome di dispositivo della propria scheda PGX32 è diverso da gfxp0, occorrerà utilizzare nel file il nome corretto.
Alla fine della riga di comando si potranno aggiungere gli altri argomenti desiderati, ad esempio per avviare il CDE su più display.
Per avviare il CDE su più display, specificare i nomi di dispositivo di ogni display seguendo la convenzione precedente.
Nell'esempio seguente, il CDE viene visualizzato sul display /dev/fbs/gfxp0 e utilizza il dispositivo /dev/fbs/m640 (la scheda grafica integrata nei sistemi Sun Ultra 5 e Sun Ultra 10) come frame buffer secondario:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640
La scheda PGX32 supporta anche l'X Display Manager (xdm). A tale scopo è disponibile un semplice file di configurazione /usr/openwin/lib/X11/xdm/Xservers.
Se sul sistema era già presente un file Xservers, la procedura di installazione del software PGX32 lo avrà salvato come /usr/openwin/lib/X11/xdm/Xservers.nogfx.
L'installazione avrà aggiunto automaticamente la riga seguente, che presume che la scheda PGX32 sia l'unico frame buffer su cui dovrà essere avviato xdm:
:0 Local Local /usr/openwin/lib/xdm/StartOW \ :0 -dev /dev/fbs/gfxp0
Alla fine della riga di comando si potranno aggiungere gli altri argomenti desiderati, ad esempio per avviare xdm su più display.
Per avviare xdm su più display, specificare i nomi di dispositivo di ogni display seguendo la convenzione precedente.
Nell'esempio seguente, xdm viene visualizzato sul display /dev/fbs/gfxp0 e utilizza il dispositivo /dev/fbs/m640 (la scheda grafica integrata nei sistemi Sun Ultra 5 e Sun Ultra 10) come frame buffer secondario:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640
In questa sezione si spiega come modificare la risoluzione della console predefinita della scheda PGX32. Questa sezione include inoltre una sezione relativa alla soluzione dei problemi e le risposte associate alla modifica della risoluzione della console.
Normalmente, la risoluzione della console predefinita è sufficiente per la maggior parte degli utenti. Tuttavia, potrebbe essere necessario modificare la risoluzione predefinita se:
Si modifica la profondità X Windows rispetto al valore predefinito elencato nella tabella, nel qual caso è opportuno configurare la profondità della console in modo che corrisponde alla profondità X Windows.
Il monitor non si "sincronizza" con la risoluzione predefinita della console e quindi è necessario scegliere una risoluzione di console diversa.
Le indicazioni generali da seguire quando si modifica la risoluzione predefinita della console sono le seguenti:
Per poter eseguire l'ambiente X Windows nella modalità 8/24, impostare la risoluzione della console sulla profondità di 24 bit.
Per impostazione predefinita, le risoluzioni della console 1280x1024 e inferiore verranno impostate automaticamente su 24. Le risoluzioni più elevate passeranno automaticamente alla modalità a 8 bit.
Utilizzare GFXconfig -i per provare una risoluzione prima di configurare la console su quella risoluzione.
Le procedure necessarie per modificare la risoluzione della console descritte in questa appendice includono:
Caratteristica di rilevazione automatica EDID
Metodo del dispositivo di output
Metodo della modalità video
Metodo della temporizzazione del video
Se si sta utilizzando un monitor con il protocollo DDC2B/EDID, la risoluzione predefinita verrà determinata mediante la caratteristica di rilevazione automatica.
Con questo protocollo, la scheda GFX controlla prima gli identificatori di temporizzazione standard (prendendo il primo supportato), quindi tenta di far corrispondere le temporizzazioni stabilite.
Qualora il metodo di cui sopra non venisse utilizzato, la scheda passerà automaticamente a 1152x900x66.
Il monitor deve essere acceso prima di avviare il sistema, affinché la scheda PGX32 possa comunicare con esso.
I metodi descritti in questa appendice hanno la precedenza su qualsiasi informazione ottenuta tramite EDID.
È possibile specificare la risoluzione della console della scheda PGX32 mediante la variabile di ambiente output-device utilizzando il formato screen:rAxBxC, dove:
A è la risoluzione orizzontale desiderata, B è la risoluzione verticale desiderata e C è la frequenza di refresh desiderata.
Il sistema confronterà questi valori rispetto a un elenco interno di risoluzioni (vedere Tabella 11-4) e utilizzerà la voce corrispondente come risoluzione della console.
Ad esempio, per utilizzare VESA1024x768x75 come risoluzione della console, digitare quanto segue al prompt ok:
ok setenv output-device screen:r1024x768x75 ok reset
La nuova risoluzione della console avrà effetto subito dopo il ripristino e conterrà le informazioni relative alla risoluzione fino a quando la variabile output-device non verrà modificata manualmente.
Al prompt ok nella modalità Boot PROM, la risoluzione della console può essere facilmente impostata sulle schede PGX32 utilizzando una delle 34 modalità di risoluzione preinstallate. Queste impostazioni di risoluzione vengono identificate dalle modalità video 0-33 (Tabella 11-4).
Utilizzare le modalità video 0-25 per selezionare una profondità di console pari a 24 bit, oppure le modalità video 26-33 per selezionare una profondità di console pari a 8 bit.
Modalità |
Risoluzione |
---|---|
0 |
640 ¥ 480 @ 60 |
1 |
640 ¥ 480 @ 72 |
2 |
640 ¥ 480 @ 75 |
3 |
640 ¥ 480 @ 85 |
4 |
800 ¥ 600 @ 60 |
5 |
800 ¥ 600 @ 72 |
6 |
800 ¥ 600 @ 75 |
7 |
800 ¥ 600 @ 85 |
8 |
1024 ¥ 768 @ 60 |
9 |
1024 ¥ 768 @ 70 |
10 |
1024 ¥ 768 @ 75 |
11 |
1024 ¥ 768 @ 77 * |
12 |
1024 ¥ 768 @ 85 |
13 |
1024 ¥ 800 @ 85 * |
14 |
1152 ¥ 900 @ 60 |
15 |
1152 ¥ 900 @ 66 * |
16 |
1152 ¥ 900 @ 70 |
17 |
1152 ¥ 900 @ 75 |
18 |
1152 ¥ 900 @ 76 * |
19 |
1152 ¥ 900 @ 85 |
20 |
1280 ¥ 800 @ 76 * |
21 |
1280 ¥ 1024 @ 60 |
22 |
1280 ¥ 1024 @ 67 * |
23 |
1280 ¥ 1024 @ 75 |
24 |
1280 ¥ 1024 @ 76 * |
25 |
1280 ¥ 1024 @ 85 |
26 |
1600 ¥ 1200 @ 66 * |
27 |
1600 ¥ 1200 @ 76 * |
28 |
1600 ¥ 1200 @ 60 |
29 |
1600 ¥ 1200 @ 65 |
30 |
1600 ¥ 1200 @ 70 |
31 |
1600 ¥ 1200 @ 75 |
32 |
1600 ¥ 1200 @ 76 |
33 |
1600 ¥ 1200 @ 80 * |
* Questa risoluzione supporta la sincronizzazione composita
Per una descrizione dei comandi nvedit, vedere "Utilizzo di nvedit per modificare la NVRAM".
Ad esempio, per impostare la risoluzione della console su 1024x768@60Hz, modalità video 8, digitare:
ok nvedit 0: 8 value video-mode 1: <ctrl-c>ok nvstoreok setenv use-nvramrc? trueok reset
Gli ultimi tre comandi attivano la NVRAM. Senza queste righe, le modalità apportate a nvedit verranno ignorate.
Se tutti i metodi descritti in precedenza non consentono di eseguire una configurazione corretta, è possibile specificare i numeri di temporizzazione esatti per una risoluzione particolare. L'ultimo metodo per l'impostazione della risoluzione della console utilizza anch'esso nvedit. Questo metodo è più complicato e richiede la conoscenza di tutti i parametri di temporizzazione per la risoluzione desiderata. Pertanto, questo metodo è destinato solo ai monitor la cui risoluzione non è disponibile nel metodo della modalità video. Per una descrizione dei comandi nvedit, vedere "Utilizzo di nvedit per modificare la NVRAM".
Utilizzare questo metodo solo se i metodi precedenti non hanno avuto successo.
Ad esempio, per impostare la risoluzione della console su 1280x1024 a 76 Hz:
ok nvedit 0: : video-timing " 1280, 384, 32, 64, \ 1024, 43, 3, 8, 135000000, 0" ; 1: <ctrl-c>ok nvstoreok setenv use-nvramrc? trueok reset
La sintassi è molto importante. Gli spazi devono essere presenti nell'identica posizione in cui figurano nell'esempio.
Gli ultimi tre comandi attivano la NVRAM. Senza queste righe, le modifiche apportate con nvedit verranno ignorate.
Qui di seguito viene fatta una breve descrizione dei 10 parametri utilizzati in questo metodo.
risoluzione orizzontale (in pixel)
totale oscuramento orizzontale
porticato anteriore orizzontale
larghezza sincronizzazione orizzontale
risoluzione verticale (in linee)
totale oscuramento verticale
porticato anteriore verticale
larghezza sincronizzazione verticale
dotclock in Hz
valore di sincronizzazione:
1 sincronizzazione separata
1 sincronizzazione sul verde
512 impulso di sincronizzazione verticale positivo
1024 impulso di sincronizzazione orizzontale positivo
2048 sincronizzazione composita
(Aggiungere i valori assieme per selezionarne più di uno)
Per ottenere i parametri di sincronizzazione necessari per utilizzare questo metodo, contattare SunService al numero 1-800-USA-4SUN fornendo i requisiti del proprio monitor.
Problema |
Soluzione |
---|---|
È stato utilizzato il metodo descritto in questa appendice per configurare la risoluzione della console, ma la scheda continua a passare a una risoluzione diversa da quella specificata. |
Viene utilizzato uno schema di priorità per determinare la risoluzione della console di avvio. Il firmware PGX32 controlla i vari metodi nell'ordine di priorità esposto qui di seguito. Se trova la risoluzione dal metodo corrente, la utilizza, altrimenti scorre nell'elenco delle priorità per individuare le informazioni relative alla risoluzione. Infine, se non c'è nessuna informazione sulla risoluzione, utilizza la risoluzione predefinita. I metodi di impostazione della risoluzione vengono elencati in rodine di priorità decrescente: 1. metodo output-device 2. metodo video-timing 3. metodo video-mode 4. DDC2B/EDID 5. Risoluzione predefinita per la scheda |
La risoluzione scelta per la scheda PGX32 è compatibile con il monitor, ma non viene visualizzato nulla. |
Le vecchie versioni della scheda PGX32 richiedono un adattatore, per supportare la sincronizzazione composita. |
Le applicazioni che utilizzano PHIGS, XGL o PEX possono determinare il blocco del sistema di finestre su un frame buffer della scheda PGX32. |
Questo dipende dai difetti presenti nella libreria PEX e non dal frame buffer della scheda PGX32. La soluzione consiste nell'impostare la variabile XGLNOPEX prima di eseguire applicazioni PHIGS, PEX o XGL. Per impostare la variabile, digitare: % setenv XGLNOPEX TRUE Per poter eseguire ShowMeTV, devono essere installate le patch XIL 105361-06, 107013-01 e 105570-03. |
Per informazioni sull'uso dell'editor nvedit, vedere "Metodo della temporizzazione del video". Ci sono numerose sequenze di tasti che vanno utilizzate per modificare le variabili nella NVRAM:
Tabella 11-6 Editor NVRAM
Sequenza di tasti |
Descrizione |
---|---|
Backspace |
Elimina il carattere che precede il cursore |
ctrl-1 |
Elenca i valori correnti della NVRAM |
ctrl-p |
Passa alla riga precedente |
ctrl-n |
Passa alla riga successiva |
ctrl-b |
Passa al carattere precedente |
ctrl-l |
Elimina fino all'inizio della riga |
ctrl-k |
Unisce la riga corrente e quella successiva |
ctrl-u |
Elimina la riga corrente |
ctrl-c |
Esce dall'editor nvram (torna al prompt ok) |
Le modifiche avranno effetto solo se vengono memorizzate mediante il comando nvstore, immesso nel prompt ok. Dopo aver memorizzato le modifiche, la NVRAM deve essere attivata prima che il sistema possa eseguirla. Questa operazione viene effettuata impostando la variabile di ambiente use-nvramrc? su true.