Seguendo questo how-to chiunque sarà in grado di trasformare una comune ATI Radeon (o Mobility Radeon) nella sua equivalente scheda grafica professionale FireGL (o Mobility FireGL).
Indice:
2.1 Stringhe per la serie R4XX e R3XX
2.2 Stringa per la serie R5XX (ESCLUSA X1900)
2.3 Stringhe per tutte le altre Radeon X1xxx che non hanno una corrispondente versione di FireGL (INCLUSA X1900)
Attenzione: |
1. Introduzione (a cura di Marco Angione) |
Tradizionalmente ATI utilizza, per le sue schede grafiche professionali della linea FireGL, gli stessi chip adottati per le schede grafiche della serie Radeon, che invece hanno un target consumer, più indicato per applicazioni videoludiche. Lo stesso discorso vale anche per le schede grafiche per notebook Mobility Radeon e le loro equivalenti Mobility FireGL.
Questo significa che, nella maggior parte dei casi, FireGL e Radeon utilizzano lo stesso core, tranne alcune modifiche secondarie al circuito stampato o alla varietà di uscite video. La stessa tecnica è stata anche adottata da Nvidia su alcune schede grafiche per workstation della serie Quadro, che utilizzano la stessa GPU di analoghe soluzioni consumer della serie GeForce, apportando solo modifiche al circuito stampato.
Cosa spinge i produttori ad adottare una simile politica? Le ragioni vanno ricercate soprattutto nella necessità di tagliare i costi di produzione e sviluppo: realizzare un prodotto completamente nuovo per un mercato di nicchia, come quello delle workstation per applicazioni grafiche, potrebbe risultare anti-economico. Invece, impiegare schede grafiche consumer, leggermente modificate, consente di realizzare dei guadagni. Fin qui nulla quaestio, sappiamo che i chipmaker sono delle società commerciali, e in quanto tali rispondono a logiche di profitto. Diversa sarebbe la conclusione se le schede per workstation venissero commercializzate ad un prezzo sensibilmente superiore rispetto alle loro corrispondenti desktop...ma non è argomento di cui tratteremo in questa guida.
Tabella di corrispondenza ATI FireGL - Radeon:
Modello Radeon |
Modello FireGL | Core | Memoria | BUS |
Radeon 8500 |
FireGL 8700 | R200 | 64 MB |
AGP |
Radeon 8500 | FireGL 8800 |
R200 |
128 MB |
AGP |
Radeon 9600 Pro | FireGL T2-128 | RV350 | 128 MB | AGP |
Radeon 9500 Pro | FireGL Z1-128 |
R300 | 128 MB |
AGP |
Radeon 9700 |
FireGL X1-128 |
R300 |
128 MB |
AGP |
Radeon 9700 Pro | FireGL X1-256 |
R300 | 256 MB |
AGP-Pro |
Radeon 9800 Pro | FireGL X2-256 |
R350 / R360 | 256 MB |
AGP |
Radeon 9800 XT | FireGL X2-256t |
R360 | 256 MB |
AGP |
Radeon X800 Pro | FireGL X3 |
R420 | 256 MB |
AGP |
Radeon X800 XT | FireGL X3-256 | R420 | 256 MB | AGP |
Radeon X300 XT | FireGL V3100 |
RV370 | 128 MB |
PCI-E |
Radeon X600 XT | FireGL V3200 |
RV380 |
128 MB |
PCI-E |
Radeon X700 Pro/XT | FireGL V5000 |
RV410 |
128 MB |
PCI-E |
Radeon X800 Pro | FireGL V5100 |
R423 / R430 | 128 MB |
PCI-E |
Radeon X1600 Pro/XT | FireGL V5200 |
RV530 |
256 MB |
PCI-E |
Radeon X800 XT | FireGL V7100 | R423 / R420 |
256 MB |
PCI-E |
Radeon X1800 XT | FireGL V7200 |
R520 |
256 MB |
PCI-E |
Radeon X1800 XT | FireGL V7300 |
R520 |
512 MB |
PCI-E |
Radeon X1800 XT | FireGL V7350 |
R520 |
1 GB |
PCI-E |
Radeon X1950 Pro | FireGL V7400 |
RV570 |
512 MB |
PCI-E |
Tabella di corrispondenza ATI Mobility FireGL - Mobility Radeon:
Modello Mobility Radeon |
Modello Mobility FireGL | Core | Memoria | BUS |
Mobility Radeon 7500 |
Mobility FireGL 7800 | RV200 / M7 |
32 MB | AGP |
Mobility Radeon 9000 |
Mobility FireGL 9000 |
M9 |
64 MB | AGP |
Mobility Radeon 9600 |
Mobility FireGL T2 | M10 | 128 MB | AGP |
Mobility Radeon 9700 |
Mobility FireGL T2e | M11 | 128 MB | AGP |
Mobility Radeon X300 |
Mobility FireGL V3100 | M22 |
128 MB | PCI-E |
Mobility Radeon X600 |
Mobility FireGL V3200 | M24 | 128 MB | PCI-E |
Mobility Radeon X700 |
Mobility FireGL V5000 | RV410 | 128 MB | PCI-E |
Mobility Radeon X1600 | Mobility FireGL V5200 |
M56 / RV530 |
256 MB |
PCI-E |
Mobility Radeon X1700 | Mobility FireGL V5250 |
M66 / RV530 |
256 MB |
PCI-E |
2. Fase 1: Applicare la patch ai driver |
Questa guida descrive una semplice softmod che consentirà di trasformare una ATI (Mobility) Radeon nella corrispondente ATI (Mobility) FireGL (con pannello di controllo avanzato e una accelerazione del 300% negli applicativi professionali OpenGL). Una "softmod" è una modifica software,che non richiede alcun intervento a livello hardware, ed è, quindi, particolarmente indicata per personalizzare i notebook, nei quali è sempre più difficile accedere fisicamente ai componenti.
L'ATI Radeon "moddata" in ATI FireGL, ovviamente, non sarà mai il perfetto equivalente di una FireGL originale: resteranno sempre alcune differenze intrinseche, relative alla diversa destinazione d'uso delle due schede video. Le schede grafiche per workstation, sia le ATI FireGL che le Nvidia Quadro, permettono, infatti, di applicare i filtri anche sulle singole zone del video, mentre le Radeon e le GeForce possono applicarle solo allo schermo intero. Inoltre le schede FireGL supportano l'antialiasing per linee e vertici, quad-buffered stereo, luce da un doppio lato, dispongono di una particolare accelerazione hardware per i clip plane, plane buffer dedicati (molto utili a chi fa uso di Maya), tutte features di cui le Radeon dovrebbero essere sprovviste.
Fatta questa breve premessa, vediamo cosa serve per trasformare la nostra VGA:
- Rivatuner 2.0 (www.guru3d.com per l'ultima versione disponibile);
- Driver ATI per FireGL 8.293 (sito ATI o Google);
- Driver Cleaner (www.drivercleaner.net).
Bene, una volta che abbiamo scaricato tutti i "ferri del mestiere" possiamo iniziare:
-
scompattate i driver FireGL 8.263 in una cartella. Ad esempio C:\FireGL_MOD;
-
installate Rivatuner;
-
andate nella cartella in cui avete installato Rivatuner e seguite il percorso ".PatchScripts\ATI\SoftFireGL\Unified\". Aprite il fire SoftFireGL.w2k.rts con un editor di testo (wordpad va benone).
All'interno del file trovate questa sezione:
[Common] SrcFile = ati2mtag.sys BakFile = ati2mtag.old HlpFile = SoftFireGLUnified.rth MakeCRC = 1 Packed = 1 ;common script for 649x+ DstVar0 = force FireGL Z1 capabilities DstVar1 = force FireGL X1 capabilities DstVar2 = force FireGL T2 capabilities DstVar3 = force FireGL X2 capabilities DstVar4 = force FireGL X2 capabilities (4-pipeline mode) DstVar5 = force FireGL X3 capabilities Src0 = 81 F9 00 80 00 00 0F 85 00 00 00 00 A9 00 00 00 08 SCM0 = FF FF FF FF FF FF FF FF 00 00 00 00 FF FF FF FF FF Dst0 = 81 F9 00 80 00 00 0F 85 00 00 00 00 0D 00 00 00 08 DCM0 = 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 Num0 = 2 Src1 = 81 F9 00 80 00 00 75 00 A9 00 00 00 08 SCM1 = FF FF FF FF FF FF FF 00 FF FF FF FF FF Dst1 = 81 F9 00 80 00 00 75 00 0D 00 00 00 08 DCM1 = 00 00 00 00 00 00 00 FF 00 00 00 00 00 Src2 = 83 F8 40 75 00 66 81 BD 00 FF FF FF 02 10 75 00 0F B7 85 02 FF FF FF SCM2 = FF FF FF FF 00 FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF Dst2_0 = 0F B7 85 02 FF FF FF 66 25 F0 F0 66 0D 07 01 66 89 85 02 FF FF FF 90 Dst2_1 = 0F B7 85 02 FF FF FF 66 25 F0 F0 66 0D 07 0E 66 89 85 02 FF FF FF 90 Dst2_2 = 0F B7 85 02 FF FF FF 66 25 F0 F0 66 0D 04 01 66 89 85 02 FF FF FF 90 Dst2_3 = 0F B7 85 02 FF FF FF 66 25 F0 F0 66 0D 0B 0E 66 89 85 02 FF FF FF 90 Dst2_4 = 0F B7 85 02 FF FF FF 66 25 F0 F0 66 0D 0B 01 66 89 85 02 FF FF FF 90 Dst2_5 = 0F B7 85 02 FF FF FF 66 25 00 00 66 0D 4D 4A 66 89 85 02 FF FF FF 90 Src3 = 8A 85 08 FF FF FF Dst3 = B0 80 90 90 90 90 Src4 = 8B 56 10 C1 E2 10 25 FF FF 00 00 03 D0 Dst4 = 8B 56 10 C1 E2 10 25 FF FF FF FF 89 C2 Num4 = 2 Src5 = C1 E8 10 3B 46 10 74 Dst5 = C1 E8 10 3B 46 10 EB Src6 = 68 C0 03 00 00 FF B0 00 00 00 00 E8 00 00 00 00 C1 E8 10 SCM6 = FF FF FF FF FF FF FF 00 FF FF FF FF 00 00 00 00 FF FF FF Dst6 = 66 8B 40 04 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 Src7 = 85 C0 74 00 6A 05 58 EB 00 SCM7 = FF FF FF 00 FF FF FF FF 00 Dst7 = C6 45 0C 80 90 90 90 90 90 |
Sostituite questa parte (completamente) con una delle seguenti stringhe, a seconda della vostra scheda video.
Stringhe per la serie R4XX e R3XX
[Common] SrcFile = ati2mtag.sys BakFile = ati2mtag.old HlpFile = SoftFireGLUnified.rth MakeCRC = 1 Packed = 1 ;common script for 663x+ DstVar0 = force FireGL X1/Z1 capabilities DstVar1 = force(MOBILITY )FireGL T2/3100/3200 capabilities DstVar2 = force FireGL X2 capabilities DstVar3 = force FireGL X3 capabilities DstVar4 = force FireGL V7100 capabilities DstVar5 = force FireGL V5000 capabilities DstVar6 = force MOBILITY FireGL V5000 capabilities Src0 = 81 FA 00 80 00 00 75 00 A9 00 00 00 08 74 00 A9 00 00 00 10 75 00 SCM0 = FF FF FF FF FF FF FF 00 FF FF FF FF FF FF 00 FF FF FF FF FF FF 00 Dst0 = 81 FA 00 80 00 00 90 90 A9 00 00 00 08 90 90 A9 00 00 00 10 90 90 Src1 = 83 F8 40 75 00 66 81 BD FC FE FF FF 02 10 75 00 0F B7 85 FE FE FF FF SCM1 = FF FF FF FF 00 FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF Dst1_0 = 0F B7 85 FE FE FF FF 66 25 F0 FF 66 0D 07 00 66 89 85 FE FE FF FF 90 Dst1_1 = 0F B7 85 FE FE FF FF 66 25 F0 FF 66 0D 04 00 66 89 85 FE FE FF FF 90 Dst1_2 = 0F B7 85 FE FE FF FF 66 25 F0 FF 66 0D 0B 00 66 89 85 FE FE FF FF 90 Dst1_3 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 4D 4A 66 89 85 FE FE FF FF 90 Dst1_4 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 50 55 66 89 85 FE FE FF FF 90 Dst1_5 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 48 5E 66 89 85 FE FE FF FF 90 Dst1_6 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 4B 56 66 89 85 FE FE FF FF 90 Src2 = 85 C0 74 2F 50 8B 47 04 Dst2 = 85 C0 EB 2F 50 8B 47 04 Src3 = 8A 85 04 FF FF FF Dst3 = B0 80 90 90 90 90 Src4 = 85 C0 74 00 6A 05 58 EB 00 SCM4 = FF FF FF 00 FF FF FF FF 00 Dst4 = C6 45 0C 80 90 90 90 90 90 |
Stringa per la serie R5XX (ESCLUSA X1900)
[Common] SrcFile = ati2mtag.sys BakFile = ati2mtag.old HlpFile = SoftR9x00.rth MakeCRC = 1 Packed = 1 ;common script for 663X+ DstVar0 = force FireGL 3300 capabilities DstVar1 = force FireGL 5200 capabilities DstVar2 = force FireGL 7350 capabilities DstVar3 = force MOBILITY FireGL V5200 capabilities DstVar4 = force MOBILITY FireGL V7200 capabilities DstVar5 = force MOBILITY M54GL capabilities Src0 = 81 FA 00 80 00 00 75 16 A9 00 00 00 08 74 0F A9 00 00 00 10 75 08 Dst0 = 81 FA 00 80 00 00 90 90 A9 00 00 00 08 90 90 A9 00 00 00 10 90 90 Src1 = 83 F8 40 75 1D 66 81 BD 00 00 FF FF 02 10 75 00 0F B7 85 FE FE FF FF SCM1 = FF FF FF FF 00 FF FF FF 00 00 FF FF FF FF FF 00 FF FF FF FF FF FF FF Dst1_0 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 52 71 66 89 85 FE FE FF FF 90 Dst1_1 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D DA 71 66 89 85 FE FE FF FF 90 Dst1_2 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 0F 71 66 89 85 FE FE FF FF 90 Dst1_3 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D C4 71 66 89 85 FE FE FF FF 90 Dst1_4 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 03 71 66 89 85 FE FE FF FF 90 Dst1_5 = 0F B7 85 FE FE FF FF 66 25 00 00 66 0D 44 71 66 89 85 FE FE FF FF 90 Src2 = FF 74 24 08 E8 83 75 FF FF A8 04 75 0B 6A 2E Dst2 = FF 74 24 08 E8 83 75 FF FF A8 04 90 90 6A 2E Src3 = 85 BE B4 00 00 00 75 3A 6A 3C Dst3 = 85 BE B4 00 00 00 90 90 6A 3C Src4 = E8 90 93 FF FF 85 C0 74 2E Dst4 = E8 90 93 FF FF 85 C0 90 90 Src5 = E8 E0 50 FF FF F6 C4 20 74 08 Dst5 = E8 E0 50 FF FF F6 C4 20 90 90 Src6 = 85 C0 74 2F 50 8B 47 04 Dst6 = 85 C0 EB 2F 50 8B 47 04 Src7 = 8A 85 04 FF FF FF Dst7 = B0 80 90 90 90 90 |
Stringhe per tutte le altre Radeon X1xxx che non hanno una corrispondente versione di FireGL (INCLUSA X1900)
[Common] SrcFile = ati2mtag.sys BakFile = ati2mtag.old HlpFile = SoftR9x00.rth MakeCRC = 1 Packed = 1 ;common script for 663X+ Src0 = 81 FA 00 80 00 00 75 16 A9 00 00 00 08 74 0F A9 00 00 00 10 75 08 Dst0 = 81 FA 00 80 00 00 90 90 A9 00 00 00 08 90 90 A9 00 00 00 10 90 90 Src1 = FF 74 24 08 E8 83 75 FF FF A8 04 75 0B 6A 2E Dst1 = FF 74 24 08 E8 83 75 FF FF A8 04 90 90 6A 2E Src2 = 85 BE B4 00 00 00 75 3A 6A 3C Dst2 = 85 BE B4 00 00 00 90 90 6A 3C Src3 = E8 90 93 FF FF 85 C0 74 2E Dst3 = E8 90 93 FF FF 85 C0 90 90 Src4 = E8 E0 50 FF FF F6 C4 20 74 08 Dst4 = E8 E0 50 FF FF F6 C4 20 90 90 Src5 = 85 C0 74 2F 50 8B 47 04 Dst5 = 85 C0 EB 2F 50 8B 47 04 Src6 = 8A 85 04 FF FF FF Dst6 = B0 80 90 90 90 90 |
3. Fase 2: Caricare i driver modificati |
-
Salvate il file con le nuove modifiche.
-
Eseguite lo script appena modificato. Per poterlo eseguire basta aprirlo con Rivatuner (tasto destro del mouse.. --> cliccate su "Apri con" e scegliete Rivatuner). Lo script vi avviserà della mancata certificazione o compatibilità con il vostro hardware.. Non importa, andate avanti.
-
Sotto appare un menù a tendina. In questo menù scegliere la versione di FireGL che più si avvicina al vostro hardware (utilizzate le tabelle presenti nella sezione Introduzione per identificare il vostro modello corrispondente).
-
Cliccate su "avanti".
-
Lo script vi chiederà di localizzare il file ati2mtag.sys. Questo file non esiste, quindi in basso, nel menù a tendina, selezionate ati2mtag.sy_ (cartella in cui avete scompattato i driver FireGL>\Driver\2KXP_INF\B_19827\ati2mtag.sy_).
-
Cliccate nuovamente su "avanti". Vi potrebbe comparire ancora un altro avviso che vi comunica che i driver, l'hardware e chissà cos'altro non è certificato.. Ovviamente a noi non importa.. Date l'ok.
Se avete eseguito tutte le operazioni correttamente apparirà: "Patch script has been successfully executed".
4. Fase 3: Modificare il Device ID |
Non ci resta che applicare l'ultima modifica. Prima però abbiamo bisogno di sapere il Device ID della nostra VGA. Farlo è semplicissimo!
-
Lanciate Rivatuner e cliccate su Customize->Graphics subsystem diagnostic report.
Apparirà una schermata di informazioni simile a questa:
$ffffffffff ---------------------------------------------------------------- $ffffffffff Northbridge information $ffffffffff ---------------------------------------------------------------- $0400000000 Description : unknown $0400000001 Vendor ID : 8086 (Intel) $0400000002 Device ID : 29a0 $0400000003 AGP bus : not supported $ffffffffff ---------------------------------------------------------------- $ffffffffff Display adapter information $ffffffffff ---------------------------------------------------------------- $0000000000 Description : Radeon X1800 Series $0000000001 Vendor ID : 1002 (ATI) $0000000002 Device ID : 7109 |
Come potete vedere nella stringa Device ID è presente un codice a quattro cifre (nel mio caso con una X1800XL ho 7109).
Copiatevi questo valore in modo da poterlo usare successivamente.
-
Andate a <Cartella dove avete scompattato i driver FireGL>\Driver\2KXP_INF\ ed aprire con notepad:
-> C2_34003.inf se utilizzate Windows 2000 (a versioni successive di driver corrispondono numeri successivi, non spaventatevi quindi se trovate per esempio C2_36548.inf)
-> CX_34003.inf se utilizzate Windows XP/2003
-
Trovate la sezione [ATI.Mfg.NTx86] e andate alla stringa che corrisponde alla trasformazione della vostra VGA. Per le x1800 andate a V7300 se avete 256MB e V7350 se ne aevte 512MB (funziona comunque anche al contrario.. i due modelli sono identici). Per esempio andrò ad editare le stringhe che corrispondono alla V7300.
Stringhe originali:
"ATI FireGL V7300" = ati2mtag_R520GL, PCI\VEN_1002&DEV_710E "ATI FireGL V7300 Secondary" = ati2mtag_R520GL, PCI\VEN_1002&DEV_712E |
Come vedete le due stringhe si differenziano solo per la terza cifra da sinistra. Bene, inserite al posto del codice in rosso il vostro
ATTENZIONE: la terza cifra da sinistra non dovete toccarla in nessuna delle due parti. Per capirci.. Se trovate scritto 1234 e il vostro Device ID è 5678 dovete inserire 5638. |
Secondo Rivatuner il mio Device ID era 7109. Vado ad editare ed otterrò queste nuove stringhe:
"ATI FireGL V7300" = ati2mtag_R520GL, PCI\VEN_1002&DEV_7109 "ATI FireGL V7300 Secondary" = ati2mtag_R520GL, PCI\VEN_1002&DEV_7129 |
Finito, salvate il file modificato.
Fase 4: Conclusione |
Prima di installare i driver FireGL moddati andiamo ad eliminare dal sistema i driver Radeon correnti tramite il programma Driver Cleaner Professional. Non è una procedura obbligatoria ma altamente consigliata. Molte persone hanno avuto problemi proprio per conflitti nei drivers: una bella pulizia di tutti i file ATI installati e passa la paura.
-
Installiamo i driver: da pannello di controllo/sistema/hardware andiamo ad aggiornare i driver della scheda video (Selezionate "Install from a list or specific location (Advanced)", andate avanti, selezionate "Don't search. I will choose the driver to install.", proseguite, selezionate Have Disk... e puntate ai driver <Cartella dove avete scompattato i driver FireGL>\Driver\2KXP_INF\ che avete in precedenza modificato:
-> C2_34003.inf se utilizzate Windows 2000
-> CX_34003.inf se utilizzate Windows XP/2003
-
Ripetete l'azione sia per VGA primaria che secondaria.
Al riavvio avrete una vera FireGL perfettamente funzionante (ovviamente se non avete commesso errori).
I driver FireGL non installano automaticamente il pannello di gestione, potete installarlo manualmente dalla cartella CPanel.
Ho scritto la guida basandomi sulla mia ATI Radeon x1800xl e ha funzionato al primo colpo, ma le indicazioni che ho dato sono generiche e possono essere seguite anche da chi possiede una ATI Mobility Radeon.
Per correttezza, vorrei sottolineare che la scoperta della mod non è direttamente farina del mio sacco: ho preso alcuni spunti in vari siti completandoli con altre informazioni. La guida invece è completamente mia. Se ci sono passaggi che non riuscite a capire chiedetemi pure chiarimenti.
Screenshot |
Le proprietà dello schermo dopo la modifica:
Ed ecco la madre di tutte le prove, a sinistra X1800XL@XT, a destra X1800XL@FireGL con SPECviewperf (benchmark professionale programmi grafici OpenGL):