PDA

View Full Version : Modificare i Catalyst per sfruttare anche le "vecchie" Radeon su Windows XP x64


cdimauro
06-08-2005, 16:19
INTRODUZIONE: ARRIVA WINDOWS XP 64!

Finalmente, dopo più di un anno di attesa, a fine aprile MicroSoft ha rilasciato Windows XP Professionale x64 Edition (disponibile ) per i processori basati sull'architettura x86-64 (o AMD64) di AMD e Intel EM64T.

Come era prevedibile, nonché evidenziato da più parti e specialmente dagli utenti che l'hanno comprato o provato (una versione trial che dura 120 giorni è scaricabile da questo http://www.microsoft.com/windowsxp/64bit/evaluation/trial.mspx indirizzo), il tallone d'Achille di questo nuovo s.o. è dato dalla cronica carenza di driver per le tantissime periferiche già disponibile per le precendenti versioni a 32 bit.

Se ad aggiungere una tinta ancora più cupa e desolante ci si mettono pure le case produttrici di periferiche, anche di prestigio e rinomate, si capisce bene che il quadro che ne esce fuori risulta tutt'altro che entusiasmante.
In particolare Ati, noto e affermato produttore di schede e chip grafici, ha pensato bene di rilasciare dei driver per queste periferiche, ma decidendo di supportare soltanto le nuove (dalla Radeon 9500 in sù) e tagliando completamente fuori (ma non del tutto, come vedremo) quelle "vecchie".

UNA DOLOROSA SCOPERTA: LA MIA 8500 NON E' SUPPORTATA DA ATI

Una volta installato su uno dei miei PC (processore Athlon64 2800+, scheda madre Asus K8N, 512MB di DDR 2700, ecc.), Windows x64 ha mostrato subito, infatti, di non gradire la presenza della mia Radeon 8500 con 64MB di memoria video a bordo (tra l'altro una BBA: prodotta, quindi, dalla stessa Ati), rilevandola come generica SuperVGA e "sfruttandola" come tale, quindi senza alcuna accelerazione video né la possibilità di impostare refresh diversi dai 60Hz (gli occhi "ringraziano": ho un bellissimo Hitachi CM753T da 19", ma che lavora con lo stesso refresh delle celeberrime CGA).
Non è difficile immaginare che tutti gli orpelli grafici di XP, ivi compreso lo spostamento delle finestre "trascinando il contenuto", hanno fatto assistere a una triste moviola, evocando ricordi di tempi assai remoti...

Vivere senza accelerazione grafica è possibile, ci mancherebbe: disattivando completamente gli effetti grafici di XP il sistema torna ad assomigliare a Windows 2000 e le operazioni che coinvolgono la grafica vengono portate a termine abbastanza rapidamente. Rimane il problema del refresh, che pare irrisolvibile: sebbene Windows riconosca il mio monitor, non mi permette di forzare refresh più elevanti di quello di default, e la vista ne risente abbastanza dopo un po' di utilizzo del computer.

CHE FARE?

Le speranze di sfruttare almeno l'accelerazione 2D e di poter impostare il refresh a piacimento le ho sempre avute: da parecchi anni ormai lo sviluppo delle schede grafiche s'è spostato interamente sulla sezione 3D delle stesse, per cui i chip grafici dovrebbero aver mantenuto praticamente intatta questa sezione (ricordo che le schede grafiche sono ancora compatibili con la VGA!). Hardware che funziona non si tocca, specie se riguarda parti considerate "obsolete".

Visto e considerato che da anni non gioco, e che quindi non m'interessa sfruttare l'accelerazione 3D della mia 8500, mi sarei quindi accontentato del 2D, che è la parte della scheda video che uso sempre. L'unica strada percorribile era quella della modifica dei file di configurazione del pacchetto dei driver Catalyst per x64, ed è quella che ho intrapreso e che, come vedrete, mi ha portato a un successo che è andato ben oltre le mie modeste aspettative.

INIZIA L'AVVENTURA: "DENTRO" I CATALYST

Per prima cosa ho scaricato dal sito di Ati i Catalyst 5.7 per XP x64, ma anche quelli per XP "a 32 bit" che, al contrario dei primi, supportano ancora le schede grafiche più vecchie, tra cui la mia. Nei driver a 32 bit è "nascosta", infatti, la "chiave" che ha portato alla (parziale) soluzione del mio problema. Fermo restando che non è ipotizzabile mischiare "a piacere" eseguibili, librerie o file di driver a 64 e 32 bit (i driver, che sono la parte più importante, possono girare soltanto in un ambiente 64 bit), l'unica cosa che mi restava da fare era modificare i file .INI e .INF (contengono informazioni testuali sulle schede e sui dati da caricare nelle cartelle e nel registro di Windows) che potevano servire allo scopo.

Facendo eseguire il programma d'installazione dei driver, di default tutti i file vengono scompattati nella cartella "C:\ATI\SUPPORT\"; nella sottocartella "5-7_xp-2k_dd_cp_wdm_24085" per quelli a 32 bit, mentre "in 5-7_xp64_dd_cp_24088" per quelli a 64 bit. La struttura e il contenuto delle due cartelle è molto simile: la cartella "BIN" è esattamente la stessa (stessi file, stesso loro contenuto) per entrambe, la cartella "Driver" contiene i rispettivi driver (i file sono quasi tutti diversi, com'era facile immaginare), "CPanel" e "MCP64A" contengono i file per installare il pannello di controllo di Ati (per XP e XP x64 rispettivamente), mentre per XP è presente una cartella in più, "WDM_ALL", che contiene driver e software per le versioni "All In Wonder" (presumo). I file presenti nella cartella principale di entrambi sono gli stessi: la maggior parte contengono gli stessi dati, mentre i pochi realmente importanti sono ovviamente diversi.

QUALI FILE DA MODIFICARE?

Dopo aver controllato tutti i file .INI e .INF presenti nel pacchetto, ho dedotto che gli unici che servivano si trovavano nella cartella "Driver". Più precisamente si tratta di "CA_24_088.INI" e "INSTALL.INI", e infine di "CA_24_088.INF" (nella sottocartella "XP6A_INF"). Ho deciso di iniziare da quest'ultimo, che contiene le informazioni che mi hanno permesso di avere più chiara la struttura dei driver e i dati contenuti in questi file di configurazione,
http://img194.imageshack.us/img194/1271/xpx64driverinffolder2xu.png
e l'ho confrontato con la "controparte" che si trova nei driver a 32 bit, nella cartella "2KXP_INF"; in questo caso dei due file presenti, "C2_24085.INF" e "CX_24085.INF", ho considerato soltanto quest'ultimo.
http://img325.imageshack.us/img325/2848/xpdriverinffolder2iq.png

Questo è il file che viene utilizzato dall'installer per decidere, in base alla scheda presente nel sistema, quali file copiare nelle cartelle di sistema di Windows e quali dati ricopiare nelle varie chiavi del registro di Windows. Salta subito all'occhio che nella sezione "[ATI.Mfg.NTamd64]"
http://img194.imageshack.us/img194/4185/xpx64cainf13zr.png
sono elencate molte meno schede (soltanto quelle più recenti) rispetto a "[ATI.Mfg.NTx86]".
http://img325.imageshack.us/img325/6532/xpcxinf12iz.png
In quest'ultima, infatti, sono presenti ben 3 righe, assenti nell'altra, che si riferiscono alla mia 8500:
http://img325.imageshack.us/img325/6767/xpcxinf23if.png
http://img325.imageshack.us/img325/392/xpcxinf39je.png

L'AGP è un bus nato come evoluzione del PCI, e con questo condivide alcune caratteristiche, come il sistema di classificazione / identificazione della scheda. In particolare, VEN_1002 identifica il "vendor" (costruttore / produttore) 1002 (Ati), DEV_514C il dispositivo vero e proprio (514C è la Radeon 8500) e i due SUBSYS presenti nelle prime due entrate rappresentano un "sottoprodotto / sottoversione".
Le sigle da tenere bene a mente sono quella del dispositivo (514C) e il suffisso "R200" (che identifica il tipo di GPU) presente nella voce "ati2mtag" che precede quella "PCI", che si renderanno necessari più avanti; anche SUBSYS ha un ruolo importante, perché, nel caso in cui sia presente, la scheda video viene identificata dal sistema non soltanto da DEV, ma anche da essa.

Infatti se dal menù contestuale presente in "Risorse del computer", si scegle la voce "Proprietà", poi si seleziona la scheda "Hardware", si fa un click su "Gestione periferiche", dalla finestra che si apre si espande il nodo "Display adapters", si nota subito che è presente una voce relativa alla nostra scheda video; facendo un doppio click su di essa o selezionando dal suo menù contestuale la voce "Proprietà", e selezionando la scheda "Dettagli", la prima cosa che salta subito all'occhio è il valore della voce "ID istanza periferica", che riporta i tre valori di cui sopra.
http://img194.imageshack.us/img194/5764/xpx64radeonproperties4xu.png

cdimauro
06-08-2005, 16:20
LE MODIFICHE A "CA_24_088.INF"

Le informazioni raccolte permettono di procedere con le modifiche da effettuare al file "CA_24_088.INF", aggiungendo tutte le informazioni relative al dispositivo "514C" e alla GPU "R200". Inizio con la sezione "[ATI.Mfg.NTamd64]" precedentemente descritta, aggiungendo le tre righe trovate:

"RADEON 8500 SERIES" = ati2mtag_R200, PCI\VEN_1002&DEV_514C&SUBSYS_003A1002
"RADEON 8500 SERIES " = ati2mtag_R200, PCI\VEN_1002&DEV_514C&SUBSYS_013A1002
"RADEON 8500 Series " = ati2mtag_R200, PCI\VEN_1002&DEV_514C
http://img194.imageshack.us/img194/5960/xpx64cainf21cx.png
http://img194.imageshack.us/img194/1521/xpx64cainf35bz.png
L'ordine non ha importanza all'interno di questa sezione, ma poiché sono un tipo pignolo per natura :p, le ho inserite nello stesso posto in cui si trovano nei Catalyst a 32 bit.

Una cosa importante da sottolineare è che non è affatto necessario inserire tutte e tre le righe: dall'immagine che riporta le informazioni della voce "ID istanza periferica", risulta chiaro che la mia scheda verrà identificata dal sistema in base alla coppia DEV = 514C e SUBSYS = 013A1002, per sui è sufficiente inserire soltanto la corrispondente riga.
Quando ho effettuato le prime prove, non avendo ancora perfettamente chiaro il tutto, ho preferito "mettermi al sicuro" aggiungendole tutte e tre. Eccesso di zelo, ma considerata la mia atavica sfortuna :D, forse ho fatto bene così...

Finita questa sezione e sulla falsa riga di quanto già fatto, ne ho aggiunte altre, ricopiando quelle relative alla GPU R200 sempre da "CX_24085.INF". Il file "CA_24_088.INF" ha subito, quindi, le seguenti modifiche:
http://img194.imageshack.us/img194/582/xpx64cainf47nn.png
Nell'immagine la riga relativa alla voce "CleanReg" risulta troncata a causa della dimensione dell'immagine, ma ovviamente l'elenco delle impostazioni prosegue: si tratta delle sezioni che da aggiungere subito dopo...
Oltre all'immagine riporto anche le righe:

[ati2mtag_R200]
Include=msdv.inf
CopyFiles=ati2mtag.Miniport, ati2mtag.Display, ati2mtag.OpenGL, Uninstall.CopyFiles;, DVCR.CopyCodec
AddReg=Uninstall.AddReg
;UpdateInis=DVCR.UpdateIni
UninstallFiles=Uninstall.CopyFiles
UninstallReg=Uninstall.AddReg
CleanFiles=ati2mtag.Miniport, ati2mtag.Display, ati2mtag.OpenGL
CleanReg=ati2mtag_SoftwareDeviceSettings, ati2mtag_R200_SoftwareDeviceSettings, atioglxx_OpenGLSoftwareSettings, ati2mtag_Desktop_SoftwareDeviceSettings, ati2mtag_LargeDesktopSettings
CleanService=ati2mtag_RemoveService
http://img194.imageshack.us/img194/848/xpx64cainf59ex.png

[ati2mtag_R200.Services]
AddService = ati2mtag, 0x00000002, ati2mtag_Service_Inst, ati2mtag_EventLog_Inst
AddService = Ati HotKey Poller,, Ati2evxx_Generic_Service_Inst, Ati2evxx_EventLog_Inst
http://img194.imageshack.us/img194/798/xpx64cainf64fd.png

[ati2mtag_R200.SoftwareSettings]
AddReg = ati2mtag_SoftwareDeviceSettings
AddReg = ati2mtag_R200_SoftwareDeviceSettings
AddReg = ati2mtag_Desktop_SoftwareDeviceSettings
AddReg = atioglxx_OpenGLSoftwareSettings
DelReg = ati2mtag_RemoveDeviceSettings
AddReg = ati2mtag_LargeDesktopSettings
http://img194.imageshack.us/img194/8265/xpx64cainf71fh.png

[ati2mtag_R200_SoftwareDeviceSettings]
HKR,, MemInitLatencyTimer, %REG_DWORD%, 0x775771BF
HKR,, DisableFullAdapterInit, %REG_DWORD%, 0
HKR,, GCOOPTION_DigitalCrtInfo, %REG_BINARY%, A3,38,61,C1,A3,38,61,B1
HKR,, DisableDirectPath, %REG_DWORD%, 1
HKR,, SMOOTHVISION_NAME, %REG_SZ%, "SMOOTHVISION"
HKR,, DALNonStandardModesBCD1, %REG_BINARY%,07,20,04,80,00,00,00,60,07,20,04,80,00,00,00,75,07,20,04,80,00,00,00,85,07,20,05,76,00,00,00,00,08,48,04,80,00,00,00,60,08,48,04,80,00,00,00,75,08,48,04,80,00,00,00,85,12,80,07,20,00,00,00,60
HKR,, DALNonStandardModesBCD2, %REG_BINARY%,12,80,07,20,00,00,00,75,12,80,07,20,00,00,00,85,12,80,07,68,00,00,00,60,12,80,07,68,00,00,00,75,12,80,07,68,00,00,00,85,12,80,09,60,00,00,00,60,12,80,09,60,00,00,00,70,12,80,09,60,00,00,00,72
HKR,, DALNonStandardModesBCD3, %REG_BINARY%,12,80,09,60,00,00,00,75,12,80,09,60,00,00,00,85,13,60,07,68,00,00,00,60,13,60,07,68,00,00,00,75,13,60,07,68,00,00,00,85,13,60,10,24,00,00,00,60,13,60,10,24,00,00,00,75,13,60,10,24,00,00,00,85
HKR,, DALNonStandardModesBCD4, %REG_BINARY%,19,20,10,80,00,00,00,30,19,20,10,80,00,00,00,85,16,00,12,00,00,00,00,70,17,92,13,44,00,00,00,00,18,00,14,40,00,00,00,00,18,56,13,92,00,00,00,00
HKR,, AntiAlias, %REG_SZ%, 1
HKR,, DisableDualView, %REG_DWORD%, 0
HKR,, GCORULE_R200TVPLLWA, %REG_DWORD%, 1
HKR,, TVR200Flag, %REG_DWORD%, 1
HKR,, DALRULE_NOCRTANDDFPONSAMECONTROLLER, %REG_DWORD%, 1
HKR,, GCORULE_IntTMDSReduceBlankTiming, %REG_DWORD%, 1
HKR,, HDTVRULE_HDTVGDOENABLE, %REG_DWORD%, 1
HKR,, HDTVRULE_HDTVSIGNALFORMAT, %REG_DWORD%, 1
HKR,, DALRULE_RESTRICT2ACTIVEDISPLAYS, %REG_DWORD%, 0
HKR,, DisableDynamicEnableMode, %REG_DWORD%, 1
HKR,, AntiAlias_DEF, %REG_SZ%, 1
HKR,, AntiAliasSamples_DEF, %REG_SZ%, 0
HKR,, FSAAPerfMode_DEF, %REG_SZ%, 0
HKR,, AnisoDegree_DEF, %REG_SZ%, 0
HKR,, TextureOpt_DEF, %REG_SZ%, 0
HKR,, TextureLod_DEF, %REG_SZ%, 0
HKR,, TruformMode_DEF, %REG_SZ%, 0
HKR,, VSyncControl_DEF, %REG_SZ%, 1
HKR,, SwapEffect_DEF, %REG_SZ%, 0
HKR,, DitherAlpha_DEF, %REG_SZ%, 0
HKR,, ExportCompressedTex_DEF, %REG_SZ%, 1
HKR,, PixelCenter_DEF, %REG_SZ%, 0
HKR,, ZFormats_DEF, %REG_SZ%, 7
HKR,, ForceZBufferDepth_DEF, %REG_SZ%, 0
HKR,, EnableTripleBuffering_DEF, %REG_SZ%, 0
HKR,, ColourDesktopGamma_DEF, %REG_SZ%, "1.0 1.0 1.0"
HKR,, ColourDesktopBrightness_DEF, %REG_SZ%, "0 0 0"
HKR,, ColourDesktopContrast_DEF, %REG_SZ%, "1.0 1.0 1.0"
HKR,, ColourFullscreenGamma_DEF, %REG_SZ%, "1.0 1.0 1.0"
HKR,, ColourFullscreenBrightness_DEF, %REG_SZ%, "0 0 0"
HKR,, ColourFullscreenContrast_DEF, %REG_SZ%, "1.0 1.0 1.0"
HKR,, 3D_Refresh_Rate_Override_DEF, %REG_DWORD%, 0
HKR,, Display_Detection_DEF, %REG_DWORD%, 0
HKR,, Panning_Mode_DEF, %REG_DWORD%, 0
HKR,, Mouse_Track_Orientation_DEF, %REG_DWORD%, 1
HKR,, Force_TV_Detection_DEF, %REG_DWORD%, 0
http://img194.imageshack.us/img194/7607/xpx64cainf85di.png

[ati2mtag_R200.GeneralConfigData]
MaximumDeviceMemoryConfiguration=128
MaximumNumberOfDevices=4
Questa è l'ultima modifica effettuata su questo file.

LE MODIFICHE A "CA_24088.INI"

Tornando alla cartella precedente, "Driver", sono rimasti due file da modificare: "CA_24088.INI" e "INSTALL.INI". Procedendo col primo e mi sono accorto, guardandone i contenuti, che l'unica sezione da modificare era "[WINXP64A]":
http://img194.imageshack.us/img194/8924/xpx64caini16nb.png
La voce "Label" elenca una serie di altre voci da prendere in considerazione. Queste sono costituite a loro volta dal nome della voce che contiene il percorso dell'apposito driver da caricare, e dal un elenco di DEV oppure di DEV:SUBSYSTEM; quindi si tratta dell'elenco dei dispositivi / schede grafiche supportate.

Andando a controllare nel file "CX_24085.INI", cercando il codice dispositivo della mia 8500 ("514C"), ho trovato 4 voci che lo contenevano. Riporto soltanto il testo, perché l'immagine occuperebbe troppo spazio:

R6_10=DriverPath_R6_10,0x4155,0x3E70:0x001F1043,0x5E4B,0x514C:0x003A1002,0x5D57,0x4173:0x4C501019,0x4E44:0x4F721002,0x4A4B:0x44221002,0x5955,0x3E70:0x0000147B,0x4E4A:0x00021002,0x5954,0x5941:0x9A151509,0x4E71,0x5E6C,0x4A6B
DriverPath_R6_10=\2KXP_INF,CX_24085.INF
R6_11=DriverPath_R6_11,0x5B70:0x040118BC,0x5D44:0x000D18D4,0x5B70:0x002F18D4,0x5B60:0x060018BC,0x5B62:0x202217AF,0x5964:0x280117EE,0x5A43,0x514C:0x0F2A1002,0x5159:0x001018D4,0x5964:0x40181458,0x4150:0x200217EE,0x5965,0x4170:0x7C18174B
DriverPath_R6_11=\2KXP_INF,CX_24085.INF
R6_21=DriverPath_R6_21,0x5E4D:0x066018BC,0x4172:0x001D18D4,0x4153:0x9A461509,0x5159:0x00381002,0x4A50:0x00021002,0x4E65:0x00031002,0x4C6E:0xA0021002,0x514C:0x013A1002,0x554D,0x4E4A,0x4173:0x201D17AF,0x4152:0x002018D4,0x4152:0x02421545
DriverPath_R6_21=\2KXP_INF,CX_24085.INF
R6_30=DriverPath_R6_30,0x4170:0x40231458,0x5159:0x000B1002,0x5941:0x005218BC,0x514C,0x5E4B:0x0530174B,0x4166:0x84871787,0x3E50,0x4A4B,0x4170:0x7C21174B,0x5B70:0x1B611002,0x4150:0x9A201509,0x5B70:0x002B1043,0x4171:0x7C21174B
DriverPath_R6_30=\2KXP_INF,CX_24085.INF
Nella riga R6_10 è presente 0x514C:0x003A1002, in R6_11 0x514C:0x0F2A1002, in R6_21 0x514C:0x013A1002 e infine in R6_30 0x514C.
La riga che interessa la mia specifica scheda video è R6_21, come si può vedere dalla coppia DEV:SUBSYS.

A ogni riga ne fa comunque seguito un'altra, che riporta la cartella (dove si trova) e file di installazione da usare. Entrambe i valori vanno cambiati da "\2KXP_INF,CX_24085.INF" a "\XP6A_INF,CA_24088.INF", altrimenti il sistema non riuscirà a recuperarli.

Anche qui, quando ho fatto le prime prove, ho aggiunto tutte e quattro le coppie di righe anziché l'unica realmente utile.

L'ultima cosa che ho modificato è stata la voce "Label", aggiugendo all'elenco il nome delle nuove voci:
http://img194.imageshack.us/img194/8905/xpx64caini27qp.png

Label=R6,R6_2,R6_3,R6_10,R6_11,R6_21,R6_30

Non servno altre modifiche a questo file.

LE MODIFICHE A "INSTALL.INI"

Rimangono le modifiche a "INSTALL.INI". Sono esattamente le stesse di quelle apportate al precedente file:
http://img194.imageshack.us/img194/4290/xpx64instini1fh.png

Label=R6,R6_2,R6_3,R6_10,R6_11,R6_21,R6_30
R6_10=DriverPath_R6_10,0x4155,0x3E70:0x001F1043,0x5E4B,0x514C:0x003A1002,0x5D57,0x4173:0x4C501019,0x4E44:0x4F721002,0x4A4B:0x44221002,0x5955,0x3E70:0x0000147B,0x4E4A:0x00021002,0x5954,0x5941:0x9A151509,0x4E71,0x5E6C,0x4A6B
DriverPath_R6_10=\XP6A_INF,CA_24088.INF
R6_11=DriverPath_R6_11,0x5B70:0x040118BC,0x5D44:0x000D18D4,0x5B70:0x002F18D4,0x5B60:0x060018BC,0x5B62:0x202217AF,0x5964:0x280117EE,0x5A43,0x514C:0x0F2A1002,0x5159:0x001018D4,0x5964:0x40181458,0x4150:0x200217EE,0x5965,0x4170:0x7C18174B
DriverPath_R6_11=\XP6A_INF,CA_24088.INF
R6_21=DriverPath_R6_21,0x5E4D:0x066018BC,0x4172:0x001D18D4,0x4153:0x9A461509,0x5159:0x00381002,0x4A50:0x00021002,0x4E65:0x00031002,0x4C6E:0xA0021002,0x514C:0x013A1002,0x554D,0x4E4A,0x4173:0x201D17AF,0x4152:0x002018D4,0x4152:0x02421545
DriverPath_R6_21=\XP6A_INF,CA_24088.INF
R6_30=DriverPath_R6_30,0x4170:0x40231458,0x5159:0x000B1002,0x5941:0x005218BC,0x514C,0x5E4B:0x0530174B,0x4166:0x84871787,0x3E50,0x4A4B,0x4170:0x7C21174B,0x5B70:0x1B611002,0x4150:0x9A201509,0x5B70:0x002B1043,0x4171:0x7C21174B
DriverPath_R6_30=\XP6A_INF,CA_24088.INF

Con queste tutte le modifiche che ho apportato sono finite.

FINALMENTE L'INSTALLAZIONE

A questo punto ho provveduto a lanciare il Setup, che ha fatto partire l'installazione di driver e pannello di controllo. Per quanto riguarda i driver, Windows ha avvisato che il driver per la Radeon 8500 che si stava per installare non era stato certificato, ma ho proseguito lo stesso e il driver è stato installato. E' comunque apparso un messaggio d'errore che mi ha avvisava dell'impossibilità di impostare una chiave del registro. Per il pannello di controllo l'installazione non ha dato alcun messaggio.

Alla fine dell'installazione è stato richiesto il riavvio del computer. Fatto ciò, alcune volte mi è capitato che Windows fosse rimasto fermo alla schermata "Chiusura di Windows": dopo un po' di tempo di inattività ho provveduto al reset hardware, e alla partenza di Windows la 8500 è stata comunque riconosciuta. Provveduto a ripristinare tutti gli effetti di Windows e a giocare un po' con menù e finestre, ho notato subito la presenza dell'accelerazione hardware, prima del tutto assente. Ho anche provveduto a impostare un refresh di 85Hz a 1280x1024, come facevo prima con XP: tutto ha funzionato alla perfezione.

LA PRIMA NOTA DOLENTE: IL PANNELLO DI CONTROLLO DI ATI NON E' PRESENTE

Purtroppo l'iniziale felicità ha avuto quasi subito una battuta d'arresto: andando a controllare fra le schede delle proprietà avanzate dello schermo, ho subito notato l'assenza di quella relativa al pannello di controllo che Ati mette a disposizione per impostare tanti parametri per la scheda video. Quindi non è possibile nemmeno modificare le impostazioni di DirectX e OpenGL.

Anche provando a reinstallare il solo pannello controllo o a ripristinarlo, non sono arrivato a nulla: alla fine ciò che doveva dare meno problemi (rispetto alla pesante incognita dell'installazione dei driver), s'è rivelato uno scoglio assolutamente insormontabile. A nulla è valso andare a controllare i file presenti nell'apposita cartella: non ho trovato nulla a cui potermi appigliare.

A questo punto l'unica è rivolgere l'attenzione verso utility di terze parte, nella speranza che permettano di sopperire completamente a questa grave lacuna.

UNA PIACEVOLE E INASPETTATA SORPRESA: ANCHE IL 3D SEMBRA FUNZIONARE!

Poiché, come si suol dire, l'appetito vien mangiando, lanciando il programma DXDiag che permette di controllare file e impostazioni delle DirectX, l'occhio si è immediatamente fermato sui due pulsanti che permettono di testare DirectDraw e DirectX. Pensavo che la macchina si sarebbe resettata, quando meno a causa del test Direct3D, perché ero convinto che soltanto la sezione hardware 2D era "compatibile" e supportata quindi anche dalla mia scheda. Invece entrambi i test sono stati portati a termine perfettamente, e senza alcun rallentamento!
http://img50.imageshack.us/img50/6705/xpx64testdirectx6mc.png
http://img50.imageshack.us/img50/6726/xpx64testdirect3d5zj.png

Mi sono affrettato quindi a scaricare le demo che Ati mette a disposizione per le schede 8500: Dolphin, Nature, Rachel, TreasureChest, LightScattering e Meshuggah hanno funzionato tutte alla perfezione e fluidamente, senza alcuna sbavatura.
Ho scaricato anche le demo per 9000: Fire, Island 1 / 2 / 3 e Nature si sono comportate allo stesso modo, sebbene fosse richiesta la presenza di 128MB di memoria video e fosse riportata la scritta "Mobilty Radeon 9000".

A questo punto ho voluto provare anche qualche gioco, ma non giocando da diversi anni ormai, ne ho scaricato le demo: Half Life 2, The Chronicles of Riddick - Escape From Butcher Bay, Splinter Cell Pandora Tomorrow (Single Player), Unreal Tournament 2004 e Halo si sono comportati benissimo. Alcuni che permettevano di conoscere e/o settare le impostazioni più avanzate per il video, hanno mostrato come valori default "DirectX 8.1" o Pixel Shader 1.4, come mi aspettavo.

Anche 3DMark2001 e 2003 hanno funzionato alla perfezione, sia per quanto riguarda i benchmark sia per i demo.

LA SECONDA NOTA DOLENTE: ALCUNI GIOCHI NON FUNZIONANO...

Purtroppo l'entusiamo è stato ridimensionato da Doom3 e Far Cry, che non hanno voluto saperne di funzionare. Il primo ha presentato un log con una sfilza di errori:

DOOM 1.0.1280 win-x86 Sep 10 2004 16:46:16
1808 MHz AMD CPU with MMX & 3DNow! & SSE & SSE2
512 MB System Memory
64 MB Video Memory
Winsock Initialized
Hostname: lana
IP: 192.168.1.2
doom using MMX & SSE & SSE2 for SIMD processing
enabled Flush-To-Zero mode
enabled Denormals-Are-Zero mode
------ Initializing File System ------
Loaded pk4 C:\PROGRA~2\DOOM3D~1\demo\demo00.pk4 with checksum 0x851c03dd
Current search path:
C:\PROGRA~2\DOOM3D~1/demo
C:\PROGRA~2\DOOM3D~1\demo\demo00.pk4 (12234 files)
game DLL: 0x0 in pak: 0x0
file system initialized.
--------------------------------------

Running in restricted demo mode.

----- Initializing Decls -----
------------------------------
------- Initializing renderSystem --------
using ARB renderSystem
renderSystem initialized.
--------------------------------------
5150 strings read from strings/english.lang
Couldn't open journal files
couldn't exec editor.cfg
execing default.cfg
couldn't exec DoomConfig.cfg
couldn't exec autoexec.cfg
5150 strings read from strings/english.lang
----- Initializing Sound System ------
sound system initialized.
--------------------------------------
----- R_InitOpenGL -----
Initializing OpenGL subsystem
...registered window class
...registered fake window class
...initializing QGL
...calling LoadLibrary( 'opengl32' ): succeeded
Couldn't find proc address for: wglGetExtensionsStringARB
Couldn't find proc address for: wglSwapIntervalEXT
Couldn't find proc address for: wglGetPixelFormatAttribivARB
Couldn't find proc address for: wglGetPixelFormatAttribfvARB
Couldn't find proc address for: wglChoosePixelFormatARB
Couldn't find proc address for: wglCreatePbufferARB
Couldn't find proc address for: wglGetPbufferDCARB
Couldn't find proc address for: wglReleasePbufferDCARB
Couldn't find proc address for: wglDestroyPbufferARB
Couldn't find proc address for: wglQueryPbufferARB
Couldn't find proc address for: wglBindTexImageARB
Couldn't find proc address for: wglReleaseTexImageARB
Couldn't find proc address for: wglSetPbufferAttribARB
...calling CDS: ok
...created window @ 0,0 (640x480)
Initializing OpenGL driver
...getting DC: succeeded
...PIXELFORMAT 7 selected
...creating GL context: succeeded
...making context current: succeeded
Couldn't find proc address for: wglGetExtensionsStringARB
Couldn't find proc address for: wglSwapIntervalEXT
Couldn't find proc address for: wglGetPixelFormatAttribivARB
Couldn't find proc address for: wglGetPixelFormatAttribfvARB
Couldn't find proc address for: wglChoosePixelFormatARB
Couldn't find proc address for: wglCreatePbufferARB
Couldn't find proc address for: wglGetPbufferDCARB
Couldn't find proc address for: wglReleasePbufferDCARB
Couldn't find proc address for: wglDestroyPbufferARB
Couldn't find proc address for: wglQueryPbufferARB
Couldn't find proc address for: wglBindTexImageARB
Couldn't find proc address for: wglReleaseTexImageARB
Couldn't find proc address for: wglSetPbufferAttribARB

------- Input Initialization -------
Initializing DirectInput...
mouse: DirectInput initialized.
keyboard: DirectInput initialized.
------------------------------------
sound: STEREO
X..GL_ARB_multitexture not found
X..GL_ARB_texture_env_combine not found
X..GL_ARB_texture_cube_map not found
X..GL_ARB_texture_env_dot3 not found
X..GL_ARB_texture_env_add not found
X..GL_ARB_texture_non_power_of_two not found
X..GL_ARB_texture_compression not found
X..GL_EXT_texture_filter_anisotropic not found
X..GL_EXT_texture_lod not found
X..GL_1.4_texture_lod_bias not found
X..GL_EXT_shared_texture_palette not found
X..GL_EXT_texture3D not found
X..GL_EXT_stencil_wrap not found
X..GL_NV_register_combiners not found
X..GL_EXT_stencil_two_side not found
X..GL_ATI_separate_stencil not found
X..GL_ATI_fragment_shader not found
X..GL_ARB_vertex_buffer_object not found
X..GL_ARB_vertex_program not found
X..GL_ARB_fragment_program not found
********************
ERROR: The current video card / driver combination does not support the necessary features.
********************
Error during initialization
Shutting down OpenGL subsystem
...wglMakeCurrent( NULL, NULL ): success
...deleting GL context: success
...releasing DC: success
...destroying window
...resetting display
...shutting down QGL
...unloading OpenGL DLL
Mentre Far Cry addirittura ha resettato la macchina ogni volta che ho provato ad eseguirlo.

Infine anche VulpineGLmark si ferma alla partenza indicando l'assenza del supporto all'estensione OpenGL ARB_multitexture.

CONCLUSIONI E QUALCHE STRANEZZA

Tutto sommato l'esperienza della modifica dei driver è andata oltre le mie nerissime aspettative. Di questo devo anche ringraziare un mio amico carissimo amico (ciao Domenico! :D), che mi ha spinto a smanettare e provare: inizialmente ero convinto che sarebbe stata un'inutile perdita di tempo, ma parlando con lui mi sono deciso e i frutti, fortunatamente, si sono visti. :)

In tutto questa ricerca di informazioni, ho notato qualcosa di veramente strano dal file "CA_24088.INF" si notano due sezioni che elencano i file utilizzati per le OpenGL:

[ati2mtag.OpenGL]
atio6axx.dll
atio6ax1.dll

[ati2mtag.Wow64OpenGL]
atioglxx.dll
atioglx1.dll
La prima riguarda le librerie da usare per le OpenGL per applicazioni a 64 bit (suppongo), mentre la seconda per quelle a 32 bit. I file di quest'ultima sezione sono presenti con lo stesso nome anche nei Catalyst per XP e hanno addirittura la stessa dimensione.

Controllando con un programmino che evidenzia le differenze fra due file binari, si nota che per entrambi i file sussistono soltanto 4 piccolissime differenze. Troppo poco: probabilmente Ati utilizza esattamente lo stesso codice a 32 bit per le applicazioni a 32 bit che utilizzano le OpenGL. Mi sarei aspettato, invece, che questi file fossero di piccola dimensione, e che fungessero sostanzialmente da "wrapper" verso le rispettive librerie native a 64 bit: questo, IMHO, ne avrebbe potuto migliorare le prestazioni.

FINE

E' tutto. Quest'esperienza dimostra che Ati ha tagliato in maniera ingiustificata, a mio avviso, il supporto alle vecchie schede per Windows XP x64. Buona parte del codice è presente e funziona anche molto bene: non vedo perché Ati non dovrebbe offrirlo comunque ai suoi utenti. Al più, se non vuole perder del tempo e vuole tutelare la sua immagine non rilasciando prodotti ufficiali non perfettamente funzionanti, potrebbe quanto meno mettere a disposizione delle versioni "non ufficiali".

Spero che la mia esperienza possa essere utile ad altri che vogliono provare Windows XP Professional x64 Edition (o hanno acquistato la versione finale) e che si ritrovano nelle mie stesse condizioni: con una scheda non più supportata e poco usabile con quest'ottima versione di XP per architetture a 64 bit.

cdimauro
06-08-2005, 16:47
Scusate per i diversi errori, ma per adesso non ho tempo di correggerli... :p

FAM
06-08-2005, 23:32
Scusate per i diversi errori, ma per adesso non ho tempo di correggerli... :p

Fossero un problema... guida spettacolare ;) :mano:
E' anche probabile che un giorno mi serva, se ho ben capito dagli screenshot la mia 9600 è out :mad:

cdimauro
08-08-2005, 07:18
Grazie. :)

No, la tua scheda è supportata (anch'io ho una 9600, Pro, nel computer principale), come tutte quelle "di classe DirectX 9", quindi non hai di che preoccuparti... :p

^TiGeRShArK^
08-08-2005, 11:43
grande cesare! ;)

shodan
08-08-2005, 11:59
grande cesare! ;)

Posto solo per fare i complimenti a cesare...

grande e soprattutto utile modifica!

Complimenti ancora per l'idea! :)

cdimauro
08-08-2005, 13:38
Più che un'idea è stata la necessità che mi ha spinto a provare questa strada. :p

Grazie a tutti per i complimenti. :)

^TiGeRShArK^
08-08-2005, 13:49
Più che un'idea è stata la necessità che mi ha spinto a provare questa strada. :p

Grazie a tutti per i complimenti. :)

ho visto ke ci 6 pure tu nel thread del gioco da sviluppare sotto l' "ala protettrice" di fek! :D

Symonjfox
08-08-2005, 14:16
Da possessore di una Radeon 8500, un grazie è dovuto :cool: (anche se ora quello che mi manca è un procio 64 bit :rolleyes: )

Secondo te è (teoricamente) possibile creare una specie di driver modificato che supporta anche le altre schede (tipo rad 7000 o rad 9200 ecc.)?

Inoltre non capisco sta filosofia di fare drivers che non supportano (in teoria) alcune schede. Cavolo, mettete un messaggio "questi drivers sono beta, in caso di errore, arrangiatevi" e basta.
Basta vedere le mobility Radeon che non potevano essere mai aggiornate se non con gli Omega (o altri drivers modificati). Per fortuna ora si può (mi pare).

Vabbè, ottimo lavoro

cdimauro
08-08-2005, 15:56
Da possessore di una Radeon 8500, un grazie è dovuto :cool: (anche se ora quello che mi manca è un procio 64 bit :rolleyes: )
Compralo... :D
Secondo te è (teoricamente) possibile creare una specie di driver modificato che supporta anche le altre schede (tipo rad 7000 o rad 9200 ecc.)?
La 9200 (quasi) sicuramente, perché deriva direttamente dalla 8500.

Per la 7000, si potrebbe provare. D'altra parte ormai i Catalyst non supportano nessuna "vecchia" Radeon e neppure la mia 8500 avrebbe dovuto funzionare, ma buona parte del supporto è rimasto e si vede: può darsi che anche per la 7000 valga lo stesso... ;)
Inoltre non capisco sta filosofia di fare drivers che non supportano (in teoria) alcune schede. Cavolo, mettete un messaggio "questi drivers sono beta, in caso di errore, arrangiatevi" e basta.
Basta vedere le mobility Radeon che non potevano essere mai aggiornate se non con gli Omega (o altri drivers modificati). Per fortuna ora si può (mi pare).

Vabbè, ottimo lavoro
Grazie. Sì, infatti, il discorso è lo stesso ed è quel che chiedevo alla fine: magari in versione non ufficiale, ma dei driver con supporto abilitato anche per le vecchie schede...

Per quel che ci faccio, mi sarei accontentato anche del solo 2D... :)

x ^TiGeRShArK^: sì, siamo "compagni di merende"... :asd: :)

ShadowX84
09-08-2005, 01:26
Anche io mi limito a postare per fare i complimenti a Cesare...che dire sempre uno dei migliori ;)



1:

Non so se ti sei dimenticato, ma hanno scorso ti avevo promesso che prima o poi sarei sceso per scoprire le vostre famose granite...son sempre in tempo? :)



2:

Ma...sbaglio o hai cambiato residenza? hai trovato lavoro lontano da casa?



3:

[QUOTE]Inviato da:^TiGeRShArK^
ho visto ke ci 6 pure tu nel thread del gioco da sviluppare sotto l' "ala protettrice" di fek!



:confused: Quale gioco???????

Scusa per la mia collezione di OT

E ancora complimenti...son proprio meritati :)

conan_75
09-08-2005, 02:55
Avete provato l'installazione di un pannello esterno come ATT?
Magari risolve anche gli ultimi problemi ;)

cdimauro
09-08-2005, 06:37
Ottimo suggerimento: lo cerco e lo provo. :)

x ShadowX84: certo che sei in tempo. Fammi sapere quando scendi che organizziamo un incontro. Sì, sono andato via da Melilli e sto a Catania perché adesso lavoro qui. :)

Raven
09-08-2005, 09:42
Grandissimo lavoro! ;)

Lo metto in rilievo...

cdimauro
10-08-2005, 04:14
Ati Tray Tool funziona quasi perfettamente. A parte qualche "access violation error" che appare quando si seleziona qualche voce, e che comunque non manda assolutamente in crash il programma, permette di modificare tutte le varie impostazioni e anche di overclockare la scheda. :D

Pertanto consiglio di NON installare nemmeno il pannello di controllo di Ati e provvedere a usare quest'utilissimo programmino, che tra l'altro occupa pochissimo spazio ed è molto più immediato e versatile... :cool:

Un grazie a conan_75 per il suggerimento. :)

conan_75
11-08-2005, 17:56
Un grazie a conan_75 per il suggerimento. :)

Figurati, è stato un piacere aiutarti in questa "missione" ;) :D

yossarian
11-10-2005, 20:17
ottimo lavoro; aggiungo i miei complimenti a quelli degli altri :)

cdimauro
12-10-2005, 11:11
Ti ringrazio. :)

Sfortunatamente Ati continua con la sua politica di chiusura nei confronti delle "vecchie" schede... :(

yossarian
12-10-2005, 14:13
Ti ringrazio. :)

Sfortunatamente Ati continua con la sua politica di chiusura nei confronti delle "vecchie" schede... :(

siamo noi a doverti ringraziare pe il lavoro che hai fatto

:)

Davidello
23-11-2005, 10:58
Che spettacolo!

Un applauso... :eek:

Io se dovessi avere il problema però, cambierò sicuramente scheda video.. :muro:

cdimauro
23-11-2005, 11:11
Le schede video costano. ;)

E poi io sono un tipo testardo: volevo verificare se le mie idee avevano un fondamento, e questo, al di là dei risultati che le hanno poi confermate, è la molla che mi ha spinto nell'impresa. :p