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

Image

Attenzione:
Non avventuratevi in una operazione di modding se non avete esperienza e piena consapevolezza di quello che farete: voi siete gli unici responsabili di quello che fate del vostro hardware e software.

 

 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:

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:

mod_radeon2firegl_1

Ed ecco la madre di tutte le prove, a sinistra X1800XL@XT, a destra X1800XL@FireGL con SPECviewperf (benchmark professionale programmi grafici OpenGL):

mod_radeon2firegl_2

Google News
Le notizie e le recensioni di Notebook Italia sono anche su Google News. Seguici cliccando sulla stellina

Commenti