Sun(TM) PGX32(TM) är ett PCI-baserat grafikacceleratorkort för Sun Workstation(TM) med stöd för PCI-buss som ger samtidigt stöd för 8 och 24 bitars färgläge.
PGX32 har följande funktioner:
8/24-bitars samtidigt visningsläge
Cache-minne för pixmap utanför skärmen
Stöd för Sun OpenGL, för Solaris(TM) via DPA visningsprocess
Stöd för upp till fyra PGX32-kort i ett system
Läget 8/24 stödjer visning av 8- och 24-bitars färg samtidigt. Detta är standardinställningen och löser problemet med felaktiga färger i färgkartan vid 24-bitarsinställning och ger samtidigt stöd för 8-bitars visningsläge som behövs för vissa program som t.ex. SoftWindows(TM) och äldre program.
Tillgängliga visningslägen omfattar PseudoColor och TrueColor. Standardläge är PseudoColor.
Upplösningar upp till 1280 ¥ visas i läget 8/24 såvida inte annat angetts med GFXconfig. Alla upplösningar över 1280 ¥ använder 8 bitar. Se "Ändra upplösning på systemfönstret" för en lista över upplösningar som stöds.
Alla PGX32-kort stödjer cachning av pixmap utanför skärmen. Pixmap i cache-minnet lagras i offscreen-minnet i PGX32. Detta minne tillåter snabbare överföring av data till och från bildskärmens fönster. Tillgängligt minne bestäms av aktuell upplösning och färginställningar.
Stöd för OpenGL ges genom tillägget Direct Pixel Access (DPA). Om du vill använda denna funktion måste OpenGL v1.1.1 eller senare redan vara installerat på ditt system.
I Sun OpenGL för Solaris v1.1.1 finns ett fel för 24-bitars stöd för DPA PCI som gör att de röda och blå färgerna växlas. En uppdatering från Sun (ID 106011-04) löser detta problem. Du hittar uppdateringen på http://sunsolve.sun.com. Detta problem är åtgärdat i Sun OpenGL för Solaris v1.1.2.
Paketnamn |
Beskrivning |
---|---|
TSIpgx.u |
Drivrutin till grafikacceleratorn PGX32 (Raptor GFX) |
TSIpgxmn |
Man-sidor för grafikacceleratorn PGX32 (Raptor GFX) |
TSIpgxw |
Laddbar X Server-modul för PGX32 (Raptor GFX) |
TSIpgxx.u |
64-bitars drivrutin för PGX32 (Raptor GFX) |
Installationen måste upprepas om några ändringar görs i operativsystemet. Vi rekommenderar att programvaran avinstalleras före ändringar i operativsystemet, inklusive uppgraderingar av systemet.
Efter installationen kan du ställa in skärmupplösning för X Window, färgdjup och svepfrekvens för din bildskärm. (Denna upplösning är oberoende av upplösningen för systemfönstret som beskrivs i "Ändra upplösning på systemfönstret"). Om du vill kan du använda standardinställningarna och fortsätta med instruktionerna i "Starta Desktop-miljön".
Du kan använda det menydrivna verktyget GFXconfig om du vill ändra skärmens upplösning efter att installationen är klar. Se manualsidan för GFXconfig för ytterligare information.
Konfigureringsfönstret för PGX32 öppnas (Figur 11-1).
Tabell 11-2 beskriver konfigureringsfönstret för PGX32.
Tabell 11-2 PGX32 konfigureringsfönster
Funktion |
Beskrivning |
---|---|
Upp- och nedåt-pilar |
Markerar PGX32-enhet som ska modifieras. |
Vänster- och högerpilar |
Markerar den parameter som ska ändras (till exempel skärmupplösning, färgdjup eller synkronisering). |
Blanksteg |
Används för att ändra en parameter för vald PGX32-enhet (öppnar i vissa fall en meny med alternativ). |
T |
Visar ett testmönster på skärmen. Tryck på valfri tangent för att återgå till huvudfönstret. |
S |
Sparar aktuella inställningar och stänger konfigureringsfönstret. |
H |
Hjälp |
Q |
Avslutar programmet utan att spara ändringar. |
Ibland är det enklare att konfigurera PGX32-kortet direkt utan interaktivitet. Denna metod är särskilt användbar om du ska konfigurera flera likadana system, eller om du i förväg vet vilka inställningar som ska göras.
GFXconfig använder samma grunder som verktyget m64config. m64config ianvänds för alla ATI-baserade grafikkort vilket inkluderar Sun Ultra 5 och Sun Ultra 10 moderkortsbaserade grafik (både 8-bitars och 24-bitars system) samt PGX 8-bitars PCI bildskärmsminne. Du kan ställa in alla inställningar som du kan göra med den interaktiva metoden genom att ange rätt flagga följd av önskat värde. Tabell 11-3 beskriver dessa parametrar.
Tabell 11-3 Parametrar för icke-interaktiv konfigurering
Parameter |
Beskrivning |
---|---|
-dev enhet |
Visar enhet som ska konfigureras. |
-res upplösning |
Visar upplösningens beteckning. |
-res \? |
Visar upplösningar. |
-file filnamn |
Visar konfigurationsfilen: systemeller machine. |
-depth färgdjup |
Visar färgdjupet (8 eller 24, standard är 24). |
-defaults |
Återställer enheten till förvalda värden. |
-24only (true/false) |
Tvingar alla fönster att använda 24-bitars färgdjup. Detta kan hindra vissa 8-bitars program från att fungera. |
-gfile gammafil |
Listar gammafilen. |
-gvalue gammavärde |
Listar gammavärde. |
-propt |
Visar aktuella inställningar. |
-prconf |
Visar information om maskinvaran. |
-help |
Visar information om användning. |
Som standard är färgdjupet satt till 8/24 för upplösningar upp till 1280 ¥ 1024 punkter och 8 för högre upplösningar.
Skriv så här om du vill ställa in upplösningen för PGX32 till 1152 x 900 x 66:
# GFXconfig -res 1152x900x66
Du kan verifiera om upplösningen fungerar innan du ställer in den permanent genom att lägga till ordet "try" efter önskad upplösning. Med detta alternativ visas ett testmönster på skärmen tills du trycker på Retur-tangenten. Välj om du vill behålla inställningarna eller återgå till tidigare inställning. Till exempel:
# GFXconfig -res 1152x900x66 try -dev /dev/fbs/gfxp0
Skriv så här om du vill ställa in upplösningen till 1024 x 768 x 60 med en enkel TrueColor färginställning (ingen 8-bitars PseudoColor):
# GFXconfig -res 1024x768x60 -24only true
Skriv så här om du vill se aktuella inställningar för /dev/fbs/gfxp0:
# GFXconfig -propt -dev /dev/gfx/gfxp0
Om du vill använda programvaran för PGX32 som systemfönsterenhet följer du instruktionerna i lämpligt avsnitt nedan.
Om du vill använda PGX32-kortet som systemfönster på en Sun Ultra 5 eller Sun Ultra 10 som enda bildskärmsminne, måste du först deaktivera det inbyggda 8-bitars eller 24-bitars grafikstödet som är installerat som standard på dessa system.
Om du vill deaktivera 8-bitars eller 24-bitars grafikstöd på moderkortet skriver du:
ok setenv pcib-probe-list 1,3 ok reset
När systemet startats om dirigeras alla systemmeddelanden till PGX32-kortet.
Om du vill återställa moderkortets 8-bitars eller 24-bitars grafikstöd av någon anledning lägger du tillbaks det i pcib-probe-list genom att skriva:
ok setenv pcib-probe-list 1,2,3 ok reset
Om det inte finns några andra bildskärmsminnen tillgängliga i en Sun Ultra 30 eller Sun Ultra 60, används PGX32-kortet automatiskt för systemfönster, förutsatt att det sitter i en aktiverad PCI-plats.
Ditt PGX32-kort kan användas för systemfönstret även om det finns flera bildskärmsminnen i maskinen.
Grafikstödet på moderkortet på Sun Ultra 5 och Sun Ultra 10 och PGX32-kortet(n) kan bara vara aktiverade samtidigt om systemfönstret använder det inbyggda grafikstödet. Om du vill använda PGX32-kortet måste det inbyggda grafikstödet deaktiveras enligt beskrivningen ovan i ""PGX32-kort som enda bildskärmsminne"".
Om du vill ställa in PGX32-kortet för systemfönstret när det även finns installerat UPA bildskärmsminne, måste variablen för utenhet i NVRAM ändras till den aktuella sökvägen för önskat PGX32-kort. Du hittar lättast denna sökväg genom att leta efter strängen TSI i /-trädet vid ok-prompten.
Om du t. ex. vill hitta alla pci-enheter skriver du:
ok cd /pci@1f,4000 ok ls
När du har hittat rätt ställe ska du se minst en rad med texten TSI (d.v.s, TSI,gfxp@# där # är en siffra som är PGX32-kortets kortplats).
Ändra denna rad så att systemfönstret dirigeras till önskat PGX32-kort. Till exempel, om sökvägen är /pcid@1f,4000 (enligt exemplet ovan) till enhet TSI,gfxp@# skriver du:
ok setenv output-device /pci@1f,4000/TSI,gfxp@# ok reset
Ersätt # med numret på ditt PGX32-kort.
När systemet har startats om dirigeras alla systemmeddelanden till PGX32-kortet.
Om du av någon anledning vill återställa systemfönstret till dess förvalda inställning skriver du:
ok setenv output-device screen ok reset
Om du vill använda PGX32-kortet för systemfönstret när det finns andra PCI-bildskärmsminnen installerade kan du vara tvungen att ändra pcia-probe-list till att känna av PGX32-platsen före platsen för det andra bildskärmsminnet (förutom de ändringar som beskrivs i ""PGX32-kort som enda bildskärmsminne"").
Bestäm platsnummer för dessa bildskärmsminnen och kontrollera att kortplatsen för PGX32 känns av före andra minnen i pcia-probe-list.
Om t ex PGX32-kortet sitter på plats 3, och det andra bildskärmsminnet sitter i plats 1, uppdaterar du pcia-probe-list så att plats 3 känns av före plats 1. En möjlig konfiguration är:
ok setenv pcia-probe-list 3,2,1,4 ok reset
När systemet har startats om dirigeras alla systemmeddelanden till PGX32-kortet.
I detta kapitel beskriv hur du startar miljön OpenWindows, Common Desktop Environment (CDE eller X Display Manager) på ett PGX32-kort.
I detta avsnitt beskrivs hur du startar OpenWindows som ett systemfönster eller med flera PGX32-kort. PGX32-kortets enhetsnamn är gfxp#.
Om du vill starta OpenWindows på två PGX32-enheter, gfxp0 och gfxp1 skriver du:
# openwin -dev /dev/fbs/gfxp0 -dev /dev/fbs/gfxp1
I exemplet ovan är enhetsnumren för gfxp 0 och 1. Detta kan vara annorlunda på ditt system. Kontrollera i /dev/fbs/ eller dmesg för korrekta enhetsnummer.
Om du har installerat CDE och vill att CDE ska visas på din PGX32-skärm, måste du modifiera filen /etc/dt/config/Xservers. Om PGX32-kortet redan används för systemfönstret behöver du inte ändra filen Xservers.
Följande exempel på filen Xservers.gfx förutsätter att PGX32-kortet är det enda bildskärmsminne som CDE skall startas på:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -nobanner
Om ditt PGX32-kort har en annan beteckning än gfxp0, måste du använda denna andra beteckning i filen.
Du kan lägga till ytterligare argument till kommandot sist på raden. Du kan t ex starta CDE på flera skärmar.
Följande exempel öppnar CDE på skärmen /dev/fbs/gfxp0 och använder enheten /dev/fbs/m640 (det inbyggda grafikstödet på Sun Ultra 5 och Sun Ultra 10) som ett andra bildskärmsminne:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640
PGX32-kortet stöder även X display manager (xdm). Du hittar ett exempel på konfiguration i filen /usr/openwin/lib/X11/xdm/Xservers.
Om du redan har filen Xservers sparar installationen av programvaran för PGX32 filen som /usr/openwin/lib/X11/xdm/Xservers.nogfx.
Som standard lägger installationsprogrammet till följande rad vilket förutsätter att PGX32-kortet är det enda bildskärmsminne som xdm skall användas på:
:0 Local Local /usr/openwin/lib/xdm/StartOW \ :0 -dev /dev/fbs/gfxp0
Du kan lägga till ytterligare argument till kommandot sist på raden. Du kan t. ex. starta xdm på flera skärmar.
Följande exempel öppnar xdm on the display named /dev/fbs/gfxp0 och använder enheten /dev/fbs/m640 (det inbyggda grafikstödet på Sun Ultra 5 och Sun Ultra 10) som ett andra bildskärmsminne:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640
Det här avsnittet beskriver hur du ändrar PGX32:s standardupplösning på systemfönstret. Det finns också ett felsökningsavsnitt som beskriver lösningar på diverse möjliga problem relaterade till att ändra upplösning på systemfönstret.
För de flesta användare går det normalt bra att använda standardupplösningen. Men det finns tillfällen då du kan behöva ändra standardupplösningen, t.ex. om...
...du ändrar X Windows-djupet från standardvärdet i tabellen till något annat så skall du konfigurera så att systemfönsterdjupet är detsamma som X Windows-djupet.
....bildskärmens bild inte blir stabil i standardupplösningen så måste du välja en annan upplösning.
De allmänna rekommendationerna vid byte av standardupplösning på systemfönster är:
För att X Windows skall kunna köras i 8/24-läge måste systemfönsterupplösningen ha 24-bitarsdjup.
Som standard är systemfönsterupplösningar upp till 1280x1024 automatiskt 24-bitars. Högre upplösningar är som standard 8-bitars.
Använd GFXconfig -i för att testa en upplösning innan du konfigurerar systemfönstret att ha den upplösningen.
De olika sätt att ändra systemfönsterupplösning som tas upp här är:
Funktionen EDID-autoavkänning
output-device-metoden
Videolägesmetoden
Videotidsmetoden
Om du använder en bildskärm som följer DDC2B/EDID kommer standardupplösningen att avgöras genom autoavkänningsfunktionen.
Med detta protokoll kontrollerar kortet först "Standard Timing Identifiers" (och väljer den första som stöds) och försöker sedan matcha Established Timings.
Om metoden ovan misslyckas använder kortet som standard 1152x900x66.
Bildskärmen måste vara påslagen innan systemet startas för att PGX32 skall kunna kommunicera med den.
Den upplösning som ställs in genom instruktionerna här används i stället för den information som tas emot via EDID.
Det går att ange ett PGX32-korts systemfönsterupplösning med värdet på miljövariabeln output-device i formatet screen:rAxBxC, där:
A är önskat antal bildpunkter horisontellt, B är antalet linjer och C är den önskade uppdateringsfrekvensen.
Systemet kontrollerar värdena mot en intern lista med upplösningar (se Tabell 11-4) och använder den post som motsvarar dina val som systemfönsterupplösning.
Om du t.ex. vill använda VESA1024x768x75 som systemfönsterupplösning skriver du följande vid ok-prompten:
ok setenv output-device screen:r1024x768x75 ok reset
Den nya systemfönsterupplösningen börjar användas vid nästa omstart och förblir densamma till dess output-device-variabeln ändras manuellt.
Vid ok-prompten i Boot PROM-läge kan PGX32-kortens systemfönsterupplösning lätt ställas in med hjälp av något av de 34 förinställda upplösningslägena. Dessa upplösningsinställningar är videolägena 0-33 (Tabell 11-4).
Använd lägena 0-25 för att ange 24-bitars systemfönsterfärgdjup, eller 26-33 för att välja 8-bitarsdjup.
Läge |
Upplösning (X x Y / Hz) |
---|---|
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 * |
* Denna upplösning använder sammansatt synkronisering.
I "Använda nvedit för att redigera NVRAM" finns en beskrivning av nvedit-kommandona.
Om du t.ex. vill ställa in upplösningen till 1024x768/60Hz, videoläge 8, skriver du:
ok nvedit 0: 8 value video-mode 1: <ctrl-c>ok nvstoreok setenv use-nvramrc? trueok reset
De sista tre kommandona aktiverar NVRAM. Om du inte skriver in dem kommer de ändringar du gör med nvedit inte att få någon effekt.
Om alla metoderna ovan misslyckas kan du ange de exakta tidsvärdena för en viss upplösning. Detta är den sista utvägen, och även den använder nvedit. Detta är också den mest komplicerade metoden och kräver att du har viss kunskap om alla de olika tidsparametrarna för den upplösning du vill ha. Därför bör du inte använda denna metod om din skärm stöder de färdiga videolägena, som beskrivs i stycket ovan. Se "Använda nvedit för att redigera NVRAM" för en beskrivning av nvedit-kommandona.
Du skall bara använda den här metoden om alla metoderna ovan har misslyckats.
Om du t.ex. vill ställa in systemfönsterupplösningen till 1280x1024/76Hz skriver du så här:
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
Syntaxen är ytterst viktig. Mellanslagen måste stå precis som de står i exemplet.
De sista tre kommandona aktiverar NVRAM. Om du inte skriver in dem kommer de ändringar du gör med nvedit inte att få någon effekt.
Här är en kort beskrivning av de tio parametrar som används i denna metod.
horisontell upplösning (i bildpunkter)
sammanlagd horisontell "blanking"
horisontell "front porch"
horisontell synkroniseringsbredd
vertikal upplösning (i linjer)
sammanlagd vertikal "blanking"
vertikal "front porch"
vertikal synkroniseringsbredd
punktklocka i Hz
synkroniseringsvärde:
1 separat synk
1 synk på grönt
512 positivt vertikal synkroniseringspuls
1024 positivt horisontell synkroniseringspuls
2048 sammansatt synkroniseringspuls
(Lägg ihop värdena för att få en kombination)
För att få information om vilka värden du skall använda i den här metoden kontaktar du SunService på 1-800-USA-4SUN och berättar om dina skärmkrav.
Problem |
Lösning |
---|---|
Följde instruktionerna för att konfigurera systemfönsterupplösning, men kortet använder fortfarande en annan upplösning än den angivna. |
Det finns ett schema över hur olika värden skall prioriteras som används när PGX32 skall avgöra vilken upplösning som skall användas på systemfönstret vid start. Den inbyggda programvaran i PGX32 kontrollerar de olika metoderna i den ordning som anges nedan. Om det hittar någon upplösning från den aktuella metoden används denna, annars fortsätter kortet ner genom prioritetslistan och letar efter upplösningsinformation. Om ingen information hittas används standardupplösningen. Metoderna prioriteras med följande ordning, med den som undersöks först på första plats i listan: 1. output-device-metoden 2. video-timing-metoden 3. video-mode-metoden 4. DDC2B/EDID 5. Kortets standardupplösning |
Jag vet att den upplösning jag har valt för PGX32 är kompatibel med skärmen, men jag får ändå ingen bild. |
Tidigare versioner av PGX32-kortet behöver en adapter för att sammansatt synkronisering skall fungera. |
Program som använder PHIGS, XGL eller PEX kan krascha fönstersystemet på ett PGX32-bildskärmsminne. |
Detta beror på ett fel i PEX-biblioteket och är inte speciellt för PGX32. Lösningen är att ställa in variabeln XGLNOPEX innan du kör program som använder PHIGS, PEX eller XGL. För att ställa in variabeln skriver du: % setenv XGLNOPEX TRUE XIL-korrigeringsfilerna 105361-06, 107013-01 och 105570-03 måste installeras för att ShowMeTV skall fungera. |
I "Videotidsmetoden" finns information om hur du använder nvedit. Det finns ett antal tangentbordssekvenser som du måste använda för att redigera variablerna i NVRAM:
Tabell 11-6 NVRAM-editorn
Tangentsekvens |
Beskrivning |
---|---|
Backsteg |
Tar bort tecknet före kursorn |
ctrl-1 |
Listar de nuvarande NVRAM-värdena |
ctrl-p |
Går upp en rad |
ctrl-n |
Går ned en rad |
ctrl-b |
Går tillbaka ett tecken |
ctrl-l |
Tar bort till början av raden |
ctrl-k |
Slår ihop den aktuella raden och nästa |
ctrl-u |
Tar bort den aktuella raden |
ctrl-c |
Avslutar nvram-editorn (går tillbaka till ok-prompten) |
Ändringarna börjar bara gälla om de lagras med kommandot nvstore, som skrivs in vid ok-prompten. När ändringarna har lagrats måste NVRAM aktiveras innan systemet kan köra det. Detta görs genom att ställa in use-nvramrc? till true.