Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Yes, these are sister cards, the S7100X is the 8Gb version, the W7170M is the 4Gb version of the R9 390X/395X

I'm working on the modification now.
You have a non-workstation vbios which is excellent. This is what we need to get this to work.
The workstation vbios is 512KB in size and has some kind of ECC vram in its GPU controller code with redundancy and is very tricky to work with.
The problem with this card is also that it has 6929 as the ID, this is not part of the MacOS AMD9000Controller.kext and therefore you will not get acceleration:

View attachment 1978026

No problem, we can spoof it to use: 0x69391002 if we have to, which is part of the accelerator package. But first let's see if we can get it working with 0x6929 base ID.

I will try to put together a rom with the following parameters:
- patched OBJ table
- stock vram table for s7100x K4G80325FB
- manual FF to 00 bug fix for Resize app, @ offset 0000255
- GPUControlsBL changed to "1"
- your .ROM chip shows: 25Q41BT, which means we are dealing with a 512Kb flash SPI, but your dump file is only 128Kb. Can you explain?


Hello.
I don't own an imac but I do have a bios dump from a w7170m 8gb (black PCB) that I thought might come in useful for you imac users. I have successfully flashed this rom to the s7100x for use in mining with both amdvbflash (windows and linux) and with the ch341a. Software for ch341a "New_Oficial_ch341a_v134" has support for GD25Q41 chips.

The voltage controller for the w7170m 8gb is the NCP81022 and may be different on the s7100x. The samsung timings are the second set and I believe the first set of timings is mushkin. I have run the s7100x with this bios for mining with mem as high as 1725Mhz and core as high as 849Mhz both with undervolting (and water cooled). These cards run at higher clocks (mining) with 825mV core and 975mV mem voltages while consuming less power and maintaining lower temps.

If you know where the settings are for enabling vga video out for PC I would definitely be interested in changing those offsets.

This bios is similar to rx470-580? FYI these gpus are based on "Tonga" but are technically "Amethyst" as seen on techpowerup.

The folder attached is a stock bios dump and a text file readout from atombios reader.
 

Attachments

  • w7170m8gb.zip
    203.3 KB · Views: 210
Last edited:
Experimental S7100X - 512KB ROM GOP - OCLP - A1312 (2009)

:oops: My experience ...without much comments anymore ! ;)
(no Brightness / no Brightness Slider / Sleep Wake faults)...

Lower GPU steppings because of temperature faults (130°C) ??? on
HWMonitor - (maybe another GPU / CPU thermal error on same lane),
looking for disabling a resistor ?


IMG_1036.jpeg



IMG_1037.jpeg



IMG_1041.jpeg


CH341 WIN10.jpeg


IMG_1045.jpeg



IMG_1046.jpeg


IMG_1048.jpeg


"As you can see the video card have reserves to another level !"

Unigine Valley is not so meaningful, the video card should have much more power -
Geekbench / Metal (without temp faults / CPU Conflicts / graphics power scaleable to Core i7).

No native Brighness / Brightness Slider / Temperature faults (not only GPU & CPU)
Sleep Wake fault ...

Perhaps More development must been done - it's not enough
so let the GOPUpdater have a run on the ROM file ;) !

Wish to you all a Happy New Year... 🌈💥 very nice work !

ATTN: I don't forgot the video card temp sensor on pic 3 ! :)
 
Last edited:
  • Like
Reactions: Shnite
You will find my latest version on the GitHub repository. Basically we have independently made a similar mod to enable the brightness control. Your results are confusing.

On the other side we all know these cards have been used in crypto mining for years until last spring. So who knows in which shape these cards are?

There is a reason why I am not 100% convinced here. It is basically the same story as with the 880M cards burned to death in some gaming laptops. Give my version a try and report back.
 
You will find my latest version on the GitHub repository. Basically we have independently made a similar mod to enable the brightness control. Your results are confusing.

On the other side we all know these cards have been used in crypto mining for years until last spring. So who knows in which shape these cards are?

There is a reason why I am not 100% convinced here. It is basically the same story as with the 880M cards burned to death in some gaming laptops. Give my version a try and report back.
Ausdauer and/or nikey22 - I recommend you take a look at the bios I posted above (black). It's stock and is probably similar to the more successful w7170m bios when installed to the s7100x. At stock it uses less power and runs cooler than the s7100x bios.
If you want to run stock but also have the ability to set clocks higher you can insert the max core value at offset A387-A389 (i.e. 900=90000=905F01) and max mem value at A38B-A38D. Max mem is tricky and might also have to be set below at the PP to work properly. PP voltage values start at A3FD and end at A475. Max power and temp values start at A5A7. Be careful with TDC at A5AB - it can kill.
On Windows I use SRBPolaris V3.2 to fix checksum ONLY. I use NeoProgrammer 2.2.0.10 to edit bios values - Okteta on linux is also decent. There's a handy little endian converter online to convert any number to hex OR little endian and vice versa. New_Oficial_ch341a_v134 to flash with ch341a. AMDVBflash (ATIflash) also works.
I'm not familiar with the video out settings. There are other areas for the voltage, core states, and mem states which I could point out if you would like.
Incidentally I keep my mining cards at lower voltages and below 60c because I (for one) am not interested in burning them out. I do realize its a lot of repetitive writing to memory. Good luck :)
- writing from my macbook pro mid12 ;)
 
Last edited:
S7100X 8GB - IMac 27" 2009 - Core i5 2.66
running with Nikeys BIOS ;) from 19th Nov. 2022

S7100X BIOS

Valley 02 S7100X.jpeg


;) Boot Screen with OCLP - Brightness works - NO WIRE MOD ;)

...the Video card have (with this old CPU) AAA+++ values.

PEAK level max 80 watts with 50°C Heatsink / 60°C GPU
(After 2x Valley Benchmarks trying better thermal grease the next days) !

MacsFanControl: ODD=3500rpm / HDD=3500rpm / CPU=2000rpm

😄😄😄 This is absolutely excellent 😄😄😄
 

Attachments

  • S7100X_6939_imac.zip
    184.1 KB · Views: 163
S7100X 8GB - IMac 27" 2009 - Core i5 2.66

PEAK level max 80 watts with 50°C Heatsink / 60°C GPU

(After 2x Valley Benchmarks trying better thermal grease the next days) !
I've had great results with thermal grizzly carbonaut. It's conductive so be careful.
 

Attachments

  • images.jpeg
    images.jpeg
    14.9 KB · Views: 116
  • Like
Reactions: Pacific1972
S7100X 8GB - IMac 27" 2009 - Core i5 2.66
running with Nikeys BIOS ;) from 19th Nov. 2022

S7100X BIOS

View attachment 2138129

;) Boot Screen with OCLP - Brightness works - NO WIRE MOD ;)

...the Video card have (with this old CPU) AAA+++ values.

PEAK level max 80 watts with 50°C Heatsink / 60°C GPU
(After 2x Valley Benchmarks trying better thermal grease the next days) !

MacsFanControl: ODD=3500rpm / HDD=3500rpm / CPU=2000rpm

😄😄😄 This is absolutely excellent 😄😄😄
Thank you for this. I was able to flash my W7100X 8GB with this rom and it works perfectly. It's in a 2009 27" iMac and I can also verify that the brightness works without the wire mod.
 
Experimental S7100X - 512KB ROM GOP - OCLP - A1312 (2009)

:oops: My experience ...without much comments anymore ! ;)
(no Brightness / no Brightness Slider / Sleep Wake faults)...

Lower GPU steppings because of temperature faults (130°C) ??? on
HWMonitor - (maybe another GPU / CPU thermal error on same lane),
looking for disabling a resistor ?


View attachment 2134149


View attachment 2134150


View attachment 2134151

View attachment 2134255

View attachment 2134152


View attachment 2134155

View attachment 2134158

"As you can see the video card have reserves to another level !"

Unigine Valley is not so meaningful, the video card should have much more power -
Geekbench / Metal (without temp faults / CPU Conflicts / graphics power scaleable to Core i7).

No native Brighness / Brightness Slider / Temperature faults (not only GPU & CPU)
Sleep Wake fault ...

Perhaps More development must been done - it's not enough
so let the GOPUpdater have a run on the ROM file ;) !

Wish to you all a Happy New Year... 🌈💥 very nice work !

ATTN: I don't forgot the video card temp sensor on pic 3 ! :)

What is the power consumption of the S7100X in browsing mode or just idle?
 
What is the power consumption of the S7100X in browsing mode or just idle?
Only short:

I have max about 82 watts - with correct configuration and i5 2.66Ghz.

In other models (A1312 from 2009 or 2010 + core i7) max power consumption
of 55 watts and limited frame rate, perhaps because of the i7 CPU or thermal
resistance on same lane, maybe something wrong with newer OCLP or BIOS versions...

I don't make experiments with AMD GPUs at the moment, the A1311 & A1312
are going to be older & older, I have spend the last years enough time for it...
 
  • Like
Reactions: Shnite
Поэтому я вернулся к своему модифицированному vBIOS с включенной регулировкой яркости. Он работает на всех моих картах и выдерживает даже запуски Valley или Metalbench:

Why is VendorID 0x6930 and DiviceID 0x0 in your firmware?

It should be VendorID 0x1002, DiviceID 0x6939.
 

Attachments

  • Ausdauersportler  Unsupported DeviceID 0x0.JPG
    Ausdauersportler Unsupported DeviceID 0x0.JPG
    58.7 KB · Views: 95
  • Ausdauersportler S7100X-6930-LVTMA-GOP.jpg
    Ausdauersportler S7100X-6930-LVTMA-GOP.jpg
    186.1 KB · Views: 95
Switch off the wire mod and observe the boot phase. You have OpenCore installed through OCLP I guess. It should give you the OC emulated boot picker (which does not react on option/alt but ESC on boot, but OpenCore is mostly configured to show it automatically without any key pressed.

I have included a simple switch from normal mode to wire-mod direct connect to power supply. This way I can have both. After macOS booting the macOS takes over to control brightness, the wire mod always sets it to 100%. No way to change this.

You should have saved the original 8GB vBIOS from the card and posted it here.
I know it’s been a long time since I posted, but I was still learning to flash the card and didn’t have a lot of time to invest. I was able to spend some time with it recently. I think I saved the bios, and will post here when I get a chance to. It turned out to be a 4GB vBios. I am sure the vBios was exactly the same as the one nikey22 posted. I used amdvbflash from Ubuntu installed on a partition to flash it. I had to reinstall osx because I made the mistake of trying to upgrade the OS to Sonoma without the recent opencore version. Right now I have High Sierra and Big Sur in separate partitions. Everything seems to be working so far. I have brightness control and I think acceleration. The only thing I haven’t done is modify opencore config.plist. I tried to on an earlier version of opencore legacy patcher and it gave some error from secure boot and wouldn’t boot. I had to wipe and do a fresh install. I looked at the config.plist and it doesn’t look exactly like the one to modify posted here. It has an enablegvasupport line added. Do you think still need to mod the config.plist? Thank you for your help.
IMG_2138.jpeg
 
I know it’s been a long time since I posted, but I was still learning to flash the card and didn’t have a lot of time to invest. I was able to spend some time with it recently. I think I saved the bios, and will post here when I get a chance to. It turned out to be a 4GB vBios. I am sure the vBios was exactly the same as the one nikey22 posted. I used amdvbflash from Ubuntu installed on a partition to flash it. I had to reinstall osx because I made the mistake of trying to upgrade the OS to Sonoma without the recent opencore version. Right now I have High Sierra and Big Sur in separate partitions. Everything seems to be working so far. I have brightness control and I think acceleration. The only thing I haven’t done is modify opencore config.plist. I tried to on an earlier version of opencore legacy patcher and it gave some error from secure boot and wouldn’t boot. I had to wipe and do a fresh install. I looked at the config.plist and it doesn’t look exactly like the one to modify posted here. It has an enablegvasupport line added. Do you think still need to mod the config.plist? Thank you for your help.View attachment 2319630
There is no need to change the configuration, the initial post contains a configuration needed only for a different GPU family. OCLP will auto-detect the card and configure the settings accordingly.
 
S7100X - Brightness Control - Experimental

Let's recall some facts, The S7100X is a HP based SERVER card. It does not need to natively control a video card's parameters to do its job in a server. Second, the later GNC cards use a different way to modulate the backlight operation than the previous generation of cards, based on some reading I've done about the GNC variations that exist.

Let's take a look at "father Linux" to get some help. Specifically, let's interrogate the DISPLAY_DEVICE_OUTPUT_CONTROL_PARAMETERS section of atombios.h. In it we can easily see that there is an interesting module for these GNC/DCE3.0 based cards like Tonga/Amythest that unlike previous generations, combines the LVDS and TMDS into one control center, it is the LVTMAOutputControl:

View attachment 2070871

As you can see above, there is a section on controlling the brightness. Let's get more proof. Let's look at the exact registers involved on the AMD prioprietary repository:
View attachment 2070874

Okay, more good news. The backlight can be controlled by a simple module. Now, thankfully, we have a "consumer" version of the S7100X known as the W7170M which is NOT meant to be in a server, but used in an actual computer that people use everyday. Interrogating the differences between the modules:

View attachment 2070877

You can see the multiple register values that are codded to the framebuffer via the WS_FB_WIN etc.. Undoubtedly some of these will be for varying the power level to the backlight of the display.

I've put together a ROM for testing by downloading a HP version from Techpowerup.


Mods to this rom:
-LVDMAOutputcontrol patched to turn on the extra missing registers
- patched DeviceID to 0x6939 which MacOS will allow AMDRadeonX4000 acceleration kext to initalize the card since it is present in the IOPCIMatch natively.
- GOP 1.69 - (needs OpenCore for now)
- kept 384Kb data at end, I think this is needed for vram functionality, possibly this is server ram redundency stuff?; Don't touch it or delete it.
-Firmwareinfo module modded to allow USHORT GPUControlsBL:1 = 0x0000, basically just changed "401F" to "403F" to allow this to be turned on.
-OBJ-Info changed to allow internal screen and 1 miniDVI screen to turn on

Anyone with a S7100X @Ausdauersportler and a few other members, test it out and provide feedback, please be prepared to clip-resuce your card so make a backup of your VBIOS first! Thanks.
Great job, but can you please help building a working vbios for a nomal laptop? Problem is no edp output, black screen
 
Last edited by a moderator:
I have already tried, black screen. S7100X only works when the laptop has an iGPU. I don't know why iMac can light up, by the way, i tried OpenCore EFI to use S7100X on my laptop too, black screen. The laptop Model is Tornado F5. Have you tried #51 vBIOS on this card? what's your laptop model?
You can try the vBIOS from post #51 above.
 
I have already tried, black screen. S7100X only works when the laptop has an iGPU. I don't know why iMac can light up, by the way, i tried OpenCore EFI to use S7100X on my laptop too, black screen. The laptop Model is Tornado F5. Have you tried #51 vBIOS on this card? what's your laptop model?

I don't have a laptop. The poster of post #51 said he got the rare W7170m 8GB card with proper video output port setting.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.