[HowTo] Ati Radeon -> Ati FireGL (softmod)


#1

Easy HowTo Version 2.1
[size=1]by Martin Binczyk, for educational purposes only
[/size]
[b]Change Log:

  • 2.1 - Fixed PatchScript Modification section (thanks dokturpotfor!!)[/b]
    - 2.0 - Includes PatchScript Modification for use with PCIe cards (V7100, V5100 and V3200 are supported right now)[b]
    • 1.5 - [/b]Updated Radeon XXXX = FireGL XXXX list (thanks antrent)
      - 1.4 - Updated driver (fglmax too) links with newer version (8.083 - tested)[b]

      • 1.3 - [/b]FireGL 3dsmax driver softmod added[b]
      • 1.2 - [/b]adding custiom resolutions to your driver[b]
      • 1.1 - [/b]deviceID changing for multi-monitor setups explained[b]
      • 1.0 - [/b]Initial version[b]

      Foreword:[/b]

                   [i]This guide is entirely based on information from [Guru3D.com](http://www.guru3d.com) forums/site. I decided to rewrite it so it's all in one place, as easy to follow as possible. A special thanks goes to the man that made it all possible, author of RivaTuner and SoftFireGL scripts - [b]Alexey "Unwinder" Nicolaychuk[/b][/i]
                   [b]
                   1. The things you'll need[/b]
      

[ul]
[li]A Radeon card (should work with 9500 and up) under Windows 2000, XP or 2003[/li][li]ATI FireGL 8.083 driver Why this one? Because it’s tested and know to work with Riva Tuner 2.0 RC 15.4. Later versions will not work with this version of SoftFireGL patch script.[/li][li]RivaTuner 2.0 RC 15.4[/li][li]WinRAR (for unpacking the driver, others should work too)[/li][li]FireGL Driver for 3dsmax (if you are going to use it)[/li][/ul]2. Modifying the drivers

                    Once you have the driver downloaded, unpack it somwhere (right-click and select Extract Files...)
                    
                    Install RivaTuner
                    
 [b]>>> PatchScript Modification for PCIe Cards.
 [/b][b]
 [i]Special thanks goes to JoeJoe form Guru3D forums for providing these masks and Viktor Basso (Cell_v14) from CGTalk for testing that solution.[/i]
 [/b]
 a) Go to: [b]<directory where you installed RivaTuner>\PatchScripts\ATI\SoftFireGL\Unified\ [/b]and open file [b]SoftFireGL w2k.rts [/b]in Notepad.
 
 b) Find file section [b][Common][/b] .You need to replace following lines there (just paste the lines highlighted in red here to your own file and save it):

    [Common]
    SrcFile	= ati2mtag.sys
    BakFile = ati2mtag.old
    HlpFile	= SoftFireGLUnified.rth
    MakeCRC = 1
    Packed	= 1
    	
    	;common script for 649x+
    
    DstVar0	= force FireGL V7100 capabilities
     DstVar1	= force FireGL V5100 capabilities
     DstVar2	= force FireGL V3200 capabilities
    DstVar3    = force FireGL V5000 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 00 FF 66 0D 50 00 66 89 85 02 FF FF FF 90
     Dst2_1	= 0F B7 85 02 FF FF FF 66 25 00 FF 66 0D 51 00 66 89 85 02 FF FF FF 90
     Dst2_2	= 0F B7 85 02 FF FF FF 66 25 F0 FF 66 0D 04 00 66 89 85 02 FF FF FF 90
    Dst2_3	= 0F B7 85 02 FF FF FF 66 25 00 00 66 0D 48 5E 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
[b]>>> PatchScript Modification ends here[/b]


Go to [b]<directory where you installed RivaTuner>\PatchScripts\ATI\SoftFireGL\Unified\[/b] and run the [b]SoftFireGL w2k.rts[/b] script.
                    
                    Select the FireGL card you want to mod the driver for ([b]It has to be a workstation equivalent of your radeon![/b]):
                    
                    Radeon 9500 NP = FireGL Z1 (NP - Non Pro)
                    Radeon 9600 = FireGL T2
  Radeon 9500 Pro, Radeon 9700 = FireGL X1
                    Radeon 9800 = FireGL X2
                    Radeon 9800SE = FireGL X2 (4-pipeline mode)
                    Radeon X800 = FireGL X3
                    
 
 
 If you're using the PCIe version of the PatchScript then select:
 
 
 Radeon X800XT/XL (PCIe) = FireGL V7100

Radeon X800 (PCIe) = FireGL V5100 (can someone confirm this?)
Radeon X700/X700Pro (PCIe) = FireGL V5000
Radeon X600 (PCIe) = FireGL V3200

 (If I've made some mistakes here please let me know)
 
 
 and click Continue. 
                    
      The script will prompt you for a location of ati2mtag.sys file, change the file type to ati2mtag.sy_ and browse to [b]<location of your unpacked drivers>\Driver\2KXP_INF\B_19827\ati2mtag.sy_[/b] (select the file and click Open). 

A window will appear waring you that the file is not certified to work with this script, click OK and after a while you should see another window that says “Patch script has been successfully executed. Read log for details.” (if there is something else here then the patch has failed and there is a VERY good chance that the mod will not work).

                    Now you need to manually modify the drivers .ini files with your cards device ID.
                    
  First you need to know what your cards PCI deviceID is. Launch RivaTuner, in the Main tab you should see a line like this: 
                    
                    "256-bit R350 (8x1) with 128MB DDR memory     Customize..."
                    (of course yours will be most likely different).

Click on the little button next to “Customize…” and select “Graphics subsystem diagnostic report” (4th icon from the left). Scroll down till you see “Display adapter information” and right under that there should be a line Device ID : xxxx. Copy that number (where xxxx are) or write it down somewhere.

                    Go to [b]<location of your unpacked drivers>\Driver\2KXP_INF\[/b] and open in Notepad:
                    -> [b]C2_19953.inf[/b] if you are on Windows 2000
                    -> [b]CX_19953.inf[/b] if you are on Windows XP/2003
                    
                    You can modify both if you want.
                    
                    Inside those files you should see a section [b][ATI.Mfg.NTx86][/b] with adapters listed. Once again, [b]remember for which card you are moding your drivers[/b] (in my case it was R9800 -> FireGL X2 mod) and modify [b]ONLY[/b] the appropriate lines. 
                    
                    Find the firegl that you want to mod your radeon into and modify it's Device ID with your cards Device ID
                    
                 [b]Be aware that normal and Secondary adapter deviceID's usually differ in third digit. Change only the digit that is different between your deviceID and FireGL device id in both lines of the .inf file.[/b]
                 
                 In my case this was:
                    
                    Original file:
                    (....)
                    "ATI FireGL X2 AGP Pro" = ati2mtag_R350GL, PCI\VEN_1002&DEV_[b]4E4B[/b]
                    "ATI FireGL X2 AGP Pro Secondary" = ati2mtag_R350GL, PCI\VEN_1002&DEV_[b]4E6B[/b]
                    (....)
                    
                 RED DIGIT - different between primary and secondary
                 
                 YELLOW DIGIT - different between R9800 Pro and FireGL X2, the digit that i had to change from B to 8
                 
                 Moded file :
                    (....)
                    "ATI FireGL X2 AGP Pro" = ati2mtag_R350GL, PCI\VEN_1002&DEV_[b]4E48[/b]
                    "ATI FireGL X2 AGP Pro Secondary" = ati2mtag_R350GL, PCI\VEN_1002&DEV_[b]4E68[/b]
                    (....)
                    
              [b]ADDING CUSTOM SCREEN RESOLUTIONS TO YOUR FIREGL DRIVER[/b]
              
              - locate the [b][ati2mtag_XXXXX_SoftwareDeviceSettings] [/b]section for your card, where XXXXX is of course your cards chip name. You can find out what that is from the lines you edited earlier:
              
              In my case:
              
              "ATI FireGL X2 AGP Pro" = ati2mtag_[b]R350GL[/b], PCI\VEN_1002&DEV_4E48
                     "ATI FireGL X2 AGP Pro Secondary" = ati2mtag_[b]R350GL[/b], PCI\VEN_1002&DEV_4E68
              
              So the section I need to find is [b][ati2mtag_R350GL_SoftwareDeviceSettings]
              [/b]
              - in that section find a line that begins like this:[b] HKR,, DALNonStandardModesBCD2, %REG_BINARY%,17,92,13,44, (.....)
              [/b][b]
              -[/b] add [b],xx[/b][b],xx,yy,yy,00,00,00,rr[/b] at the end of that line where:
              [b]
           xx[color=White],xx [/b]- your screen width
              [/color][b]yy,yy [/b][color=White]- your screen height[/color]
              [b]rr [/b][color=White]- your desired refresh rate
              [/color][color=White]
              For example if you want to add 1280x960@75Hz then you need to add:
              ,12,80,09,60,00,00,00,75
              [/color]
              [b]Save the file(s)[/b]
                    
                    [b]3. Installing modified drivers[/b]
                    
                    Do not use the installer, instead update your drivers from the Device Manager.
                    Go to Start>Control Panel>System select Hardware tab and click on Device Manager.
                    
                    Under Display Adapters select your Radeon card (or cards), right click and select Update Driver...

Select “Install from a list or specific location (Advanced)”, click Next, select “Don’t search. I will choose the driver to install.”, click Next, select Have Disk… and point to one of the files you just modified in the directory where you unpacked your driver:

                    -> [b]C2_19953.inf[/b] if you are on Windows 2000
                    -> [b]CX_19953.inf[/b] if you are on Windows XP/2003

Click OK and the driver should install. If it complains about lack of driver certificates just click “Install anyway”. Reboot the system.

                    [b]4. FireGL control panel[/b]

Now that you have your drivers installed and working you can install the Control Panel that came with FGL drivers. There is no need to modify anything, just go to <location of your unpacked drivers>\CPanel and run Setup.exe.

After installation reboot your system. If all went well you should have a working FireGL drivers and instead of Catalyst panel a FireGL one, where you can select different application profiles.

         [b]5. FireGL driver for 3dsmax[/b]
         
         - unpack the driver (rightclick, Extract Files...)
          - go into your [b]&lt;riva tuner directory&gt;\PatchScripts\ATI\SoftFireGL\Unified\Antiprotection\FGLM[/b]
          - run the [b]Installer antiprotection.rts[/b] script, point it to the setup.inx in your unpacked driver dir
          - script should run without problems ("Patch script has been executed succesfully" message)
          - run [b]setup.exe[/b] and install the driver
          - run the [b]atiimxgl.exe antiprotection.rts[/b] script and point it to [b]atiimxgl.exe[/b] in [b]Program Files\ATI Technologies\FireGL 3D Studio Max\[/b] and select your cards device ID from the dropdown menu
          - script should run without problems ("Patch script has been executed succesfully" message)
          - restart the system
          - you should now be able to select the driver from your 3dsmax preferences
          
          If you are using max version later then 6 it might not work but there is a workaround:
          
          - go to [b]Start &gt; Run...[/b] type [b]cmd.exe[/b] and hit enter
          - type [b]cd "c:\Program Files\ATI Technologies\Fire GL 3D Studio Max\"[/b]
          - type [b]expand -r  atiom6gl.dr_[/b]
         - this should create a file called [b]atiom6gl.drv[/b]
         - copy this file to your 3dsmax "drivers" directory or 3dsmax root directory (try both places)
         - now the driver should be visible in 3dsmax opengl preferences
         
         [i] Special thanks to [b]JoeJoe[/b] from Guru3D forums for providing that workaround.[/i]
          
         [b]Enjoy[/b]

#2

Does this give any speed increases?

There are some softmods that unlocked pipelines that have been shutdown by ati, just wondering if this is kind of in the same boat as that.


#3

This softmod increases speed in professional 3d apps because it allows the FireGL OpenGL driver to work on Radeon cards (which are essentially the same hardware with different deviceID… and a much higher price tag :wink: ).


#4

looks nice as description thanks. I’ve been looking around for the equivalant of the X300 do you happen to know this one thanks in advance and thanks for the great description

greets


#5

The_Wicked_Caveman, I think that the FireGL V3200 (or V3100) would be the professional “brother” of the X300 but the patch scripts provided by Unwinder do not support it yet.

I think that there is a good chance that SoftFireGL will support it in the future though since the X3 (X800XT) is supported already…


#6

Since this is a softmod, am I correct in assuming that if I somehow screw this up, it won’t ruin my card and I’ll just have to reinstall the drivers?

Also, is there a mod for the ATI AIW 9800 Pro?


#7

Fibus - there is no way you can damage your card with this. The worst thing that can happen is driver reinstallation, but if you use the procedure here with the exact same files all should work fine.

You should be able to mod your 9800 AIW the same way you mod drivers for a normal 9800(NonPRO/PRO/XT) - only the deviceID may be different between these models - you’ll just have to check yours using the method I described.

Be aware that when you install the FireGL drivers you’ll probably loose your cards AIW functions (just like you loose TV-Out on regular radeons).


#8

For those of you wondering if this will work for the laptop 9700 cards, I spent a day trying to get the softmod to work on mine awhile back and was unsuccesful. Haven’t actually heard of anyone succesfully modding one of the laptop cards either, for that matter.
But hey, if you really really really know what you’re doing, I suppose you might still be able to find the trick to getting it working.


#9

I am having no luck with this. I have a His Excalibur Radeon 9550 so I am not sure which card to softmod upto. I have tried the t2 and X2 but when I try to use the modded inf to install the driver Windows just ignores it and finds my default oem driver inf.:shrug:

Help would be appreciated. Thanks


#10

Since the 9550 is basicly an underclocked 9600 (RV350 or RV360 chip) you need to mod your drivers for the FireGL T2 capabilities.

Check if what riva tuner reports as your cards device ID matches what you have entered into the .inf files:

“ATI FireGL T2” = ati2mtag_RV350GL, PCI\VEN_1002&DEV_<xxxx - your device ID here, change only the digit that is different between your ID and fireGL id>
“ATI FireGL T2 Secondary” = ati2mtag_RV350GL, PCI\VEN_1002&DEV_<xxxx - your device ID here, change only the digit that is different between your ID and fireGL id>

The third digit in the device ID is different between the normal and Secondary adapters.

Do not change other lines.

If that is correct, go one dir up and modify .inf files in there also with the same scheme (search for the T2 devIDs, replace with 9550s).

Hope it helps!


#11

Thanks, I got it to work with my Radeon9600.
The only problem is that 1280x960 is no longer avaible in the display settings. Is there a workaround?


#12

garu -

To add that resolution you need to:

  • open the CX_18678.inf orCX_18678.inf (depends on what OS you use) again

  • find the [ati2mtag_XXXXX_SoftwareDeviceSettings] section for your graphic card (chip name where XXXXX), for Radeon 9600 that would be [b][ati2mtag_RV350GL_SoftwareDeviceSettings]

[/b]-locate the HKR, DALNonStandardModesBCD2, %REG_BINARY%,17,92,13,44,00 (…) line

  • add ,12,80,09,60,00,00,00,85 at the end of that line where red numbers are responsible for screen resolution, in this case 1280x960 and yellow for refresh rate, 85Hz here.

  • reinstall the driver
    [color=White][/color]


#13

it’s working now, thanks again


#14

Got it working! Thanks! Does it increase the speed of regular opengl applications?
I kind of miss the catalyst control centre :sad:


#15

Glad to hear it :slight_smile:

Regullar OpenGL applications? You mean games? I don’t think so. Though there is a preset for them (OpenGL games) I don’t think it is any faster compared to what you can get from a regular Catalyst driver…

You get a speed benefit when running one of those you have a preset for in your FireGL panel (from what I can see XSI just got it’s wings on my R9800 pro). Mainly CAD/DCC 3d apps.

Scores in benchmarks like SPECviewpref will go (way) up aswell.


#16

Thanks again. I use Wings 3D lots but I have not noticed any improved performance since it runs quite well anyway. Well it a good mod to know anyway. Appreciated. :thumbsup:

Is there anyway to add applications so that the too benefit from the new drivers?


#17

You can add a configuration preset in your FGL panel and try messing with the settings then to see what gives better performance.


#18

Hi! To show that this softmod actually can give you a speed increase I’m posting my SPECviewpref 8 results:

Radeon 9800 Pro @ FireGL X2 (tested myself today with A64 2800+, 1GB DDR400 RAM, NF3 mobo)

3dsmax-03 Weighted Geometric Mean = 22.36

catia-01 Weighted Geometric Mean = 18.54

ensight-01 Weighted Geometric Mean = 18.56

light-07 Weighted Geometric Mean = 16.13

maya-01 Weighted Geometric Mean = 26.28

proe-03 Weighted Geometric Mean = 33.34

sw-01 Weighted Geometric Mean = 15.35

ugs-04 Weighted Geometric Mean = [b]17.87

[/b]To compare I’ll post some results of a X800 XT PE in that test (with CATALYST DRIVERS!). Sorry, I had no time to reinstall to catalyst drivers and do a SPECviewpref benchmark myself. This one was run on: 2x Opteron 250, 4x512 DDR400 ECC , IWill DK8N v1.0 (AMD-81xx + NVIDIA nForce 3) mobo.

3dsmax-03 Weighted Geometric Mean = 16.4

catia-01 Weighted Geometric Mean = 12.49

ensight-01 Weighted Geometric Mean = 18.71

light-07 Weighted Geometric Mean = 11.27

maya-01 Weighted Geometric Mean = 16.07

proe-03 Weighted Geometric Mean = 16.61

sw-01 Weighted Geometric Mean = 13.15

ugs-04 Weighted Geometric Mean = 13.53

Results form this review: AnandTech: Workstation Graphics: AGP Cross Section 2004


#19

I tried it on a R9800 and can’t see any apparent difference in 3ds max 6. I’m running it in D3D cause in OpenGL mode it’s ~3x slower.


#20

nice post and great instructions. I’ve tried searching, but no luck finding detailed intructions on how to do the nvidia 6800gt softmod. It would be very helpful for those of us that are not experienced in this area. (if there is and I just can’t find it can some one direct me?)

Thanks