14.9.2007 Po roce provozu poněkud hlučnější a
vypečenější MSI GeForce 6600GT na desce Asus P5LD2 jsem se rozhodl přejít na nějakou
energeticky méně náročnější a přitom alespoň stejně výkonnou grafiku. Gamesy už tolik nehraju (a když, tak nějakou
starší klasiku), takže žádný žhavý turbo nepotřebuju. Do oka mi v katalogu Czech Computeru padla karta
Asus EN7600GS Silent/HTD
s 256 MB DDR2 do PCI-E x16 za celkem příznivou cenu. Mají tam ještě 512MB verzi, která má ale pomalejší
paměti a tenhle GPU stejně tolik nevyužije. Defaultní takt je 400 MHz pro GPU a 400 MHz (800 MHz DDR)
pro paměti - Samsung K4N5616306-ZC25 (2,5 ns). O chlazení GPU se stará hliníkový profil ve tvaru obráceného
"J", který obepíná horní hranu karty a částečně přechází dozadu. Škoda, že profil neroztáli po celé zadní straně.
Paměti nijak chlazené nejsou, pasiv se jich nedotýká. Výstupy jsou klasika, VGA + DVI + S-video.
Když jsem si kartu donesl domů, namontoval a poprvé zapnul, začala mě záhy
znepokojovat teplota GPU v ovládacích panelech, která rychle stoupala a dosáhla až 76°C ve 2D a při
pokusu o hraní nějaké hry to do pár minut spadlo. Už při montáži mi přišlo, že se pasiv na jádru GPU docela
nechutně vrklá. Takže jsem komp vypnul a podíval se tomu na zoubek. Aby ne, celý pasiv drží za pouhé dva
plastové kolíčky s jemnými pružinkami. Tím se tak dá uchytit pasivek na northbridge...
Sundal jsem tedy pasiv a seškrabal z něj tu hnusnou žvejkačku, která měla
zřejmě tvořit "tepelně" vodivý kontakt s jádrem GPU. Povrch chladiče byl jako obvykle frézovaný nahrubo a
tak jsem ho šmirglpapíry vybrousil do hladké roviny. Na plochu u horní hrany karty jsem přišrouboval
další pasiv z PC zdroje, abych zvětšil povrch pro odvod tepla, zejména přirozeným směrem vzhůru (při
montáži do toweru). Aby chladič na kartě dobře držel, rozhodl jsem se ho poctivě připevnit 4-mi šroubky
M3. Pro tento účel už na PCB v rozích GPU byly připraveny 4 díry, jenže o něco menšího průměru, takže jsem
je musel ještě provrtat. Ve stejném rastru jsem nadělal díry do pasivu a vyřízl do nich M3 závity.
Pak už jen stačilo na jádro GPU máznout trochu teplovodivé pasty a chladič přitáhnout šroubky s pružnými
gumovými podložkami. Když už jsem se v tom vrtal, tak jsem eště dopájel pár elytů navíc ke zdroji VGPU, které
tam soudruzi z ČLR zapomněli osadit.
Po této úpravě klesla teplota ve 2D na nějakých 60°C a ve 3D hrách kolem
70°C a hlavně už netuhla. Zkoušel jsem i trochu nataktovat, stabilně jela na 500 / 470 MHz
(GPU / RAM), ale za těch pár FPS to ani moc nestojí. Pro porovnání jsem udělal pár testů s MSI GeForce
6600GT a Gainward GeForce 7300GT v Unrel Tournamentu 2003 (botmatch-anubis.bat, 1280 x 1024 / 32)
a GL Quake (demo1.dem, 1280 x 1024 / 16). Nastavení ForceWare 94.24 v ovládacích panelech:
AA = 2x Q, AF = 4x, vysoká kvalita, vsync = off, mipmapy = trilinear,
tripple buffering = off.
VGA |
UT 2003 |
GL Quake |
6600GT @500/500 MHz |
132 FPS |
192 FPS |
7300GT @350/350 MHz |
110 FPS |
178 FPS |
7300GT @400/400 MHz |
123 FPS |
208 FPS |
7300GT @450/400 MHz |
131 FPS |
- |
7600GS @400/400 MHz |
137 FPS |
202 FPS |
7600GS @450/450 MHz |
142 FPS |
228 FPS |
7600GS @500/470 MHz |
143 FPS |
244 FPS |
Asus P5LD2, Core 2 Duo E6400 @2,4 GHz
Co se týče ovladačů, tak ve Windows XP používám stále ForceWare 94.24,
jenž jako poslední oficiálně obsahují starý layout ovládacích panelů, na který jsem si tak nějak
zvykl. V XP jsem narazil na zásadní problém při spouštění starších DOSových programů v NTVDM.
Jakmile jsem přepnul z okna na fullscreen, tak se program kousnul. Mohl jsem se akorát přepnout
zpět a proces NTVDM.EXE zabít. Nejdřív jsem zkoušel různé verze driverů, ale problém se vyskytoval
u všech stejně. Pak došlo na přeflashování video BIOSu (původní verze na kartě je 5.73.22.61.00)
a jak jsem zjistil, tak se starší verzí 5.73.22.16.00 to fungovalo bez problémů, jenže tato
zas nějak neuměla pustit obraz do DVI výstupu. Zajímavé je také to, že BIOSy do verze 5.73.22.25.90
mají velikost 64 kB, zatímco novější zabírají kolem 61 kB - že by tam něco chybělo?
Nakonec tento problém definitivně vyřešil patch VIDEOPRT.ZIP [13 kB]
od Martina Šuláka. Stačí přepsat
originální VIDEOPRT.SYS tímto upraveným a vše funguje se všemi
verzemi BIOSů.
Při tom hledání jsem také narazil na velmi užitečný program
dgVoodoo. Není to jen obyčejný 3Dfx Glide
wrapper, ale obsahuje i emulaci VESA LFB pro NTVDM pomocí vlastního VDD ovladače. DOSové programy,
které používají videomódy VESA pak mohou kreslit přes DirectX do okna nebo na fullscreen. Stačí
jen před spuštěním programu z příkazového řádku spustit driver DGVESA.COM.
Emulace je velmi rychlá a spolu s VDMSoundem
se tak dají hrát hry jako Blood nebo Duke Nukem 3D.
NVidia pro své čipy stále dodává VESA BIOS 3.0, bohužel však kvalita
jeho implementace klesá. Problém nastal u GeForce řady 5xxx a novějších, kdy přestalo fungovat
nastavení obnovovací frekvence
při inicializaci videomódu (GTF přes CRTC registry), které je součástí specifikace VBE 3.0. BIOS
nevrací žádnou chybu, ale všechny pokusy o nastavení vyšší frekvence skončí stejně na 60 Hz.
Někde jsem četl, že se nVidia takto jistí před BFU s LCD monitory, které vyšší frekvence zatím moc
neberou. Podle názoru BearWindowse
byl kód pro nastavování refreshe z BIOSu vypuštěn, takže to nejde jednoduše ohackovat. V tomto mají
výhodu konkurenční grafiky ATI, které pomocí nástroje na editaci BIOSu alespoň dovolují natvrdo
změnit výchozí obnovovací frekvenci. Intelovské onboard VGA 9xx přitom tuto VBE 3.0 funkci normálně
podporují. UPDATE: v tomto vlákně
jsem se dočetl, že se uživateli Riikcakirds na kartě Inno 3D GeForce 7900GS s video BIOSem verze
5.71.22.41.00L podařilo
pomocí utility UniRefresh
nastavit v DOSu 100 Hz. Zkusil jsem tento video BIOS loadnout na své Asus 7900GT, sice se loadnul,
ale při inicializaci vypisoval špatně velikost VRAM 3 GB a následně když jsem nahodil jakýkoliv
grafický režim, tak jsem dostal černou obrazovku nebo rovnou No Signal a systém se kousnul (aniž
by vůbec došlo na nastavení refreshe). Zkoušel jsem hledat stejnou verzi pro 7900GT, ale našel jsem
pouze 5.71.22.38.00. Ta se sice loadne korektně a grafické režimy fungují, ale nefunguje nastavení
refreshe. Je možné, že šlo o neúmyslnou chybu, kterou nVidia ve verzi 5.71.22.41.00 opravila a v
novějších verzích zas rozbila. Nemyslím si, že by to byla specialita levné značky Inno 3D, ti
nejspíš použili referenční video BIOS s minimálními úpravami.
Další problém je, že u některých nVidia BIOSů úplně chybí VESA módy
s větším rozlišením jak 800x600. Můj VGA BIOS tímto naštěstí netrpí, podporuje 32 VESA módů až do
rozlišení 2048x1536/32, viz log z programu
VESATEST.
Pro Windows 98 se objevily neoficiální ForceWare 82.69
drivery od ZakMcKracken84 z MSFN fóra, které byly
zatím úspěšně vyzkoušeny s PCI-E grafikami GF6600GT, GF6800GT, GF7300GT, GF7600GS, GF7900GT
a GF7950GT AGP. Měly by teoreticky umět i řadu 8xxx, ale zatím to nikdo nezkusil. V případě instalace
ForceWare na systému s PCI-E lze očekávat, že se Windows 98 nebudou korektně vypínat (mě skočí po
ukončovací obrazovce do textového režimu a tam s blikajícím kurzorem vytuhnou), takže je třeba
používat místo toho restart a vypínání si případně pořešit v autoexecu.
Pro Windows NT 3.x a 4.0 nejsou žádné funkční ForceWare s podporou
GF7xxx a vyšších, ani neoficiální verze. Jednou z možností jsou ovladače
SciTech SNAP,
které mi ale na GF7600GS nefungovaly. Takže poslední záchranou je univerzální VESA driver
VBEMP (už existuje
i beta pro Windows 9x)
od BearWindowse. Ten samozřejmě neumí HW akceleraci 2D natož 3D funkcí, ale funguje. Na běžnou
práci s okny to stačí. Bohužel díky zmrvené implementaci VBE 3.0 taktéž neumožňuje nastavit
obnovovací frekvenci.
Pod Linuxem používám poslední verzi
ForceWare 169.07
s Xorg 7.2 bez problémů. 3D akcelerace funguje také výborně, zkoušel jsem linuxové verze Quake II,
Quake III a Doom 3. Obnovovací frekvenci lze nastavit v ovládacích panelech podobných těm windowsím.
Pro taktování a tweakování existuje program NVClock.
14.1.2012 Po vzoru úpravy video BIOSu
Asus EN7900GT jsem upravil i BIOS této karty. Tzn. odstranil
jsem omezení pro rozlišení větší než 1280 x 1024 přes DVI výstup a místo VESA módu 152h (2048 x 1536 / 32 bpp)
jsem do tabulky videomódů vložil mód 14Ah (1600 x 1200 / 32 bpp). Zde je ke stažení finální podoba mého
upraveného video BIOSu: my7600gs.zip [45 kB]. Frekvence jádra a pamětí
je nastavena na 400MHz / 400MHz. Před flashnutím BIOSu si jej můžete vyzkoušet na nečisto pomocí
utility vgabios.exe -f!MY7600A.ROM (je součástí balíčku). Pokud vše
funguje, můžete BIOS flashnout pomocí nvflash.
Pokud budete flashovat na kartu 7600GS jiného výrobce s jiným board ID, bude potřeba použít
donucovací parametry: nvflash -4 -5 -6 !MY7600A.ROM.