• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Turning a RX580 2048SP into a RX570 for MacOS support

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
By any chance, have you tried to do "the other way around"..?? try to change the original bios id 6FDF to id 67DF..?? I tried, and it didn't work...
I believe thats the same thing as spoofing the dev ID through clover/opencore...

Hello.
Here you have a short guide:


and recover guide :

Thanks! Im actually using a CH341A clipped directly to the bios chip, and I've backed up the original bios first thing. So Im able to roll it back to stock any time.

The problem seems to be finding an alternative bios with the same physical ports configuration.

I've got this RX470 bios to "work":
Only HDMI output works, but unfortunately when MacOS takes over I get black screen.

I guess I'll give up on this. I just flash the card back to original and sell it. With the amount of time I've spent on this would have been much better to get a real RX580 in the used market...
 
Last edited:

alkin

New Member
Joined
Apr 17, 2023
Messages
8 (0.01/day)
I believe this is the same as spoofing the developer ID via clover/opencore...


Thank you! I'm actually using a CH341A attached directly to the bios chip, and the first thing I did was back up the original bios. So I can roll it back to the drain at any time.

The problem seems to be finding an alternative BIOS with the same configuration of physical ports.

This RX470 BIOS "works" for me:
Only the HDMI output works, but unfortunately when MacOS takes over, I get a black screen.

Perhaps I will refuse it. I just flash the card to the original and sell it. With the amount of time I've spent on it, it would have been much better to get a real RX580 on the used car market...
you give up easily, I didn't give up and everything works 50 tried! bios and found mine. I'm from Russia, it's the only way to live here. We don't give up. I wish you good luck.
 
Last edited by a moderator:

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
you give up easily, I didn't give up and everything works 50 tried! bios and found mine. I'm from Russia, it's the only way to live here. We don't give up. I wish you good luck.
Really? Wow...

It really depends on how much you value your time.

I spent about 8 hours already troubleshooting this card. Lets say, for the sake of the argument, I get paid 10€ an hour. Thats already 80€ I could have spent on a good card...

I'll probably let it rest for now and I might give it another chance in a few days
 
Last edited by a moderator:

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
Just as an update...

I figured out a way to give some use to the card. Basically I flashed it with the Asus 470 bios I linked a couple of post ago and I run it side by side with a legit RX 560, so I get my monitors working trough the 560 and use the chinese card as a processing unit. Thats for now the best use I can make of it.

The card is seen automatically as a 470/570. On Geekbench OpenGL/metal benchmark the chinese GPU almost doubles the performance of the 560. For Final Cut Pro it makes a huge difference in rendering (FCP is able to choose and use the card automatically).

I will keep it like this until I can figure out how to edit the physical output configuration on the bios (if thats possible at all)....

Thank you all for the help!
 
Last edited:

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
Just as an update...

I figured out a way to give some use to the card. Basically I flashed it with the Asus 470 bios I linked a couple of post ago and I run it side by side with a legit RX 560, so I get my monitors working trough the 560 and use the chinese card as a processing unit. Thats for now the best use I can make of it.

The card is seen automatically as a 470/570. On Geekbench OpenGL/metal benchmark the chinese GPU almost doubles the performance of the 560. For Final Cut Pro it makes a huge difference in rendering (FCP is able to choose and use the card automatically).

I will keep it like this until I can figure out how to edit the physical output configuration on the bios (if thats possible at all)....

Thank you all for the help!

Congratulations...
Post the geekbench results "before and after" to exemplify...
I use the card as an "rx580" in geekbenck it gives me around 35k in Metal/Opengl/Vulkan... For me... It's wonderful... but, if there is something to be done to improve.... and always welcome... :)
 

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
Congratulations...
Post the geekbench results "before and after" to exemplify...
I use the card as an "rx580" in geekbenck it gives me around 35k in Metal/Opengl/Vulkan... For me... It's wonderful... but, if there is something to be done to improve.... and always welcome... :)
Sure thing!

You can see the chinese RX580 2048SP card is now recognized as a RX570. This is without any injection from OpenCore whatsoever (only the required Lilu and WEG kexts).

In Geekbench you need to select which of the two cards you want to run the benchmark with. So the 560 is around 22k whereas the 570 is giving about 41k, both in Metal.

Again, you will only see performance improvements in applications that make use of both cards, like DaVinci Resolve or Final Cut X.

It would be nice to get the video outputs working on the chinese card though but I guess I'll just run it like this for now, so at least I dont feel I completely wasted money.

Just for comparison, a legit RX580 4Gb scores 52k. In mi opinion, if you can get a second hand legit RX580 locally it will makes much more sense.

Screenshot 2023-04-23 at 09.54.24.png
Screenshot 2023-04-23 at 10.02.28.png
Screenshot 2023-04-23 at 10.20.04.png
Screenshot 2023-04-23 at 10.20.23.png
 
Last edited:

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
Congratulations...
Post the geekbench results "before and after" to exemplify...
I use the card as an "rx580" in geekbenck it gives me around 35k in Metal/Opengl/Vulkan... For me... It's wonderful... but, if there is something to be done to improve.... and always welcome... :)
Got some good news!

So, after trying multiple BIOSes and getting nowhere I kind of give up on that approach. I guess the main problem with flashing different bios blindly is that the physical video ports configuration is different, so unless you find a bios that has the same config as your card you'll end up with (partially or totally) no video output.

With that in mind the most logic path to follow would be to modify the original bios that came with the card, by editing the particular values that makes the board to be seen as a 580, 570 or whatever model it is seen as... and of course keeping everything else (port configs, memory timings, etc)

On my quest I came upon this thread that explain the RX470/480 conversion procedure:

See post nr 3, where they explain how to edit a 4 byte string at offset 0xD4 (which I believe is a little-endian DCBA byte swapped value containing the device ID). For each RX model the string is different:

470: F0 7D C6 0F
570: F0 7D E6 0F
580: F0 7D E6 07
590: F0 7D E6 01

What I did was backup the bios that came with my Chinese 580 2048SP, open it on a hex editor and look at offset 0xD4. Got this value:

F0 FD E6 0F

Which is none of the above, as you can see. I proceeded to replace the string with the one for the 570:

F0 FD E6 0F >>> F0 7D E6 0F

Following this I edited the device ID value. The original dev ID on the card was 6FDF and it needed to be changed to 67DF. So, we look for this string:

02 10 DF 6F

And replace it with:

02 10 DF 67

In my case there were only two occurrences of this in the whole binary.

After the modifications the BIOS CRC needs to be fixed. For that we need to open the modified bios with Polaris BIOS Editor utility. Upon opening the file, it will complain the CRC is wrong and tell you need to save the file to fix it. I Just save it and that's it.

Flashed the resulting binary into the card and its now running 100% with macOS! I still need test it in everyday use but so far I got about 44k in Geekbench 5 metal test, full GUI acceleration and multiple screens!

Notice that Im using a CH341a programmer with clips attached directly to the BIOS chip.

I believe this could be a solution to get most of the RX580 2048SP cards out there working under macOS.

Screenshot 2023-05-13 at 19.06.38.png
Screenshot 2023-05-13 at 19.10.54.png


Cheers!
 
Last edited:

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
Got some good news!

So, after trying multiple BIOSes and getting nowhere I kind of give up on that approach. I guess the main problem with flashing different bios blindly is that the physical video ports configuration is different, so unless you find a bios that has the same config as your card you'll end up with (partially or totally) no video output.

With that in mind the most logic path to follow would be to modify the original bios that came with the card, by editing the particular values that makes the board to be seen as a 580, 570 or whatever model it is seen as... and of course keeping everything else (port configs, memory timings, etc)

On my quest I came upon this thread that explain the RX470/480 conversion procedure:

See post nr 3, where they explain how to edit a 4 byte string at offset 0xD4 (which I believe is a little-endian DCBA byte swapped value containing the device ID). For each RX model the string is different:

470: F0 7D C6 0F
570: F0 7D E6 0F
580: F0 7D E6 07
590: F0 7D E6 01

What I did was backup the bios that came with my Chinese 580 2048SP, open it on a hex editor and look at offset 0xD4. Got this value:

F0 FD E6 0F

Which is none of the above, as you can see. I proceeded to replace the string with the one for the 570:

F0 FD E6 0F >>> F0 7D E6 0F

Following this I edited the device ID value. The original dev ID on the card was 6FDF and it needed to be changed to 67DF. So, we look for this string:

02 10 DF 6F

And replace it with:

02 10 DF 67

In my case there were only two occurrences of this in the whole binary.

After the modifications the BIOS CRC needs to be fixed. For that we need to open the modified bios with Polaris BIOS Editor utility. Upon opening the file, it will complain the CRC is wrong and tell you need to save the file to fix it. I Just save it and that's it.

Flashed the resulting binary into the card and its now running 100% with macOS! I still need test it in everyday use but so far I got about 44k in Geekbench 5 metal test, full GUI acceleration and multiple screens!

Notice that Im using a CH341a programmer with clips attached directly to the BIOS chip.

I believe this could be a solution to get most of the RX580 2048SP cards out there working under macOS.

View attachment 295768View attachment 295771

Cheers!

Wowww...
Good news for sure.... Tomorrow I'll try with my board, and I'll post the results... congratulations for your commitment to the cause....
 

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
Got some good news!

So, after trying multiple BIOSes and getting nowhere I kind of give up on that approach. I guess the main problem with flashing different bios blindly is that the physical video ports configuration is different, so unless you find a bios that has the same config as your card you'll end up with (partially or totally) no video output.

With that in mind the most logic path to follow would be to modify the original bios that came with the card, by editing the particular values that makes the board to be seen as a 580, 570 or whatever model it is seen as... and of course keeping everything else (port configs, memory timings, etc)

On my quest I came upon this thread that explain the RX470/480 conversion procedure:

See post nr 3, where they explain how to edit a 4 byte string at offset 0xD4 (which I believe is a little-endian DCBA byte swapped value containing the device ID). For each RX model the string is different:

470: F0 7D C6 0F
570: F0 7D E6 0F
580: F0 7D E6 07
590: F0 7D E6 01

What I did was backup the bios that came with my Chinese 580 2048SP, open it on a hex editor and look at offset 0xD4. Got this value:

F0 FD E6 0F

Which is none of the above, as you can see. I proceeded to replace the string with the one for the 570:

F0 FD E6 0F >>> F0 7D E6 0F

Following this I edited the device ID value. The original dev ID on the card was 6FDF and it needed to be changed to 67DF. So, we look for this string:

02 10 DF 6F

And replace it with:

02 10 DF 67

In my case there were only two occurrences of this in the whole binary.

After the modifications the BIOS CRC needs to be fixed. For that we need to open the modified bios with Polaris BIOS Editor utility. Upon opening the file, it will complain the CRC is wrong and tell you need to save the file to fix it. I Just save it and that's it.

Flashed the resulting binary into the card and its now running 100% with macOS! I still need test it in everyday use but so far I got about 44k in Geekbench 5 metal test, full GUI acceleration and multiple screens!

Notice that Im using a CH341a programmer with clips attached directly to the BIOS chip.

I believe this could be a solution to get most of the RX580 2048SP cards out there working under macOS.

View attachment 295768View attachment 295771

Cheers!
Oh my God...

It really works....

All ports (DP - HDMI - DVI) 100% working on Windows/MacOS/Linux...

Congratulations, this will definitely help a lot of people who use MacOS with these more affordable cards.....
 

Attachments

  • Captura de Tela 2023-05-15 às 10.22.41.png
    Captura de Tela 2023-05-15 às 10.22.41.png
    51.4 KB · Views: 333
  • sc_bios_editada.gif
    sc_bios_editada.gif
    29.4 KB · Views: 324
Last edited:

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
Oh my God...

It really works....

All ports (DP - HDMI - DVI) 100% working on Windows/MacOS/Linux...

Congratulations, this will definitely help a lot of people who use MacOS with these more affordable cards.....

Great. Glad you got it working.

I see you patch yours to show as a 580 instead of the 570.

Cheers
 

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
Great. Glad you got it working.

I see you patch yours to show as a 580 instead of the 570.

Cheers
Yes...

I correct the id because my board has an RX580 GPU....

"215-0910038"
 

Attachments

  • rx5801.jpeg
    rx5801.jpeg
    261.5 KB · Views: 198
  • rx5802.jpeg
    rx5802.jpeg
    146.9 KB · Views: 212

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
Nice! That chip should have 2304 stream processors instead of 2048
I believe so...
But I haven't found any "true" RX580 bios that work the video outputs correctly...
So let's go with 2048SP anyway.... :)
 

clausmix

New Member
Joined
May 17, 2023
Messages
6 (0.01/day)
352 / 5.000

Hello everyone. I have followed the steps that my colleague blackCH has put but when I flash the bios it recognizes it and it works perfectly on mac but in Windows 10 it gives me an error I get the screen with low resolution and it won't let me change it and in the device manager I get that there is a problem in the Radeon RX570. What could be the problem.
 

clausmix

New Member
Joined
May 17, 2023
Messages
6 (0.01/day)
Hello everyone. I have followed the steps that my colleague blackCH has put but when I flash the bios it recognizes it and it works perfectly on mac but in Windows 10 it gives me an error I get the screen with low resolution and it won't let me change it and in the device manager I get that there is a problem in the Radeon RX570. What could be the problem.

What parameters do I have to change so that it appears to me that it is an RX580 since I have also changed it and it continues to appear that it is a Radeon RX570.
 

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
Hello everyone. I have followed the steps that my colleague blackCH has put but when I flash the bios it recognizes it and it works perfectly on mac but in Windows 10 it gives me an error I get the screen with low resolution and it won't let me change it and in the device manager I get that there is a problem in the Radeon RX570. What could be the problem.

What parameters do I have to change so that it appears to me that it is an RX580 since I have also changed it and it continues to appear that it is a Radeon RX570.
That might be a windows driver problem. I havent use Windows since Win 7 days so I cannot help much with that.

Whats the ASIC model on your card?
 

clausmix

New Member
Joined
May 17, 2023
Messages
6 (0.01/day)
What do you mean by ASCI model?
My graphic is an ENVINDA RX580 2048SP 8gb
 

blackCH

New Member
Joined
Apr 16, 2023
Messages
25 (0.04/day)
What do you mean by ASCI model?
My graphic is an ENVINDA RX580 2048SP 8gb
You need to remove the cooler and see what ASIC chip is on your card (because it can vary from card to card, regardless of the model shown by the BIOS).

There is a part/model number etched on the frame of the chip (lower-right corner):

Screenshot 2023-05-17 at 13.23.18.png
 
Last edited:

Hector_BR

New Member
Joined
Mar 17, 2023
Messages
11 (0.02/day)
352 / 5.000

Hello everyone. I have followed the steps that my colleague blackCH has put but when I flash the bios it recognizes it and it works perfectly on mac but in Windows 10 it gives me an error I get the screen with low resolution and it won't let me change it and in the device manager I get that there is a problem in the Radeon RX570. What could be the problem.
greetings...
I had the same problem once, with me, the card only worked correctly in windows with the id of a 580, or a 470...
Using the id of 570, the windows driver does not correctly recognize the card ... Try changing the id to 580 by looking at the friend's blackCH post data... not sure it works for you, but it doesn't hurt to try... ;)
 

clausmix

New Member
Joined
May 17, 2023
Messages
6 (0.01/day)
saludos...
Tuve el mismo problema una vez, conmigo la tarjeta solo funcionaba correctamente en windows con el id de un 580, o un 470...
Usando la identificación de 570, el controlador de Windows no reconoce correctamente la tarjeta... Intente cambiar la identificación a 580 mirando los datos de la publicación blackCH del amigo... no estoy seguro de que funcione para usted, pero no está de más intentarlo ...;)
Gracias....
Eso es lo que estoy tratando de probar, pero puse lo siguiente en el desplazamiento 0xD4, que en teoría es de un RX580 (580: F0 7D E6 07) y sigue apareciendo una vez que se flashea el BIOS, que es un RX570.
 

clausmix

New Member
Joined
May 17, 2023
Messages
6 (0.01/day)
greetings...
I had the same problem once, with me, the card only worked correctly in windows with the id of a 580, or a 470...
Using the id of 570, the windows driver does not correctly recognize the card ... Try changing the id to 580 by looking at the friend's blackCH post data... not sure it works for you, but it doesn't hurt to try... ;)
Thank you....
That's what I'm trying to test, but I put the following at offset 0xD4, which is theoretically from an RX580 (580: F0 7D E6 07) and it still shows up once the BIOS is flashed, which is an RX570.
 

rtrampox

New Member
Joined
Apr 15, 2023
Messages
4 (0.01/day)
Hey, so i followed @blackCH steps and modded my gpu original bios to make it looks like an RX 570, at the beggining it worked with macOS, but when i checked the Hardware Acceleration, it isn't working. Is this normal to happen or did i messed up when modding it?
 

lufan

New Member
Joined
May 21, 2023
Messages
3 (0.01/day)
I also need to use the same requirement under Mac OS, which is a graphics card with mining experience. I cleaned it and replaced the heat sink. The graphics memory chip is from Hynix, but its bios is from Samsung. I am looking for its RX570 2048SP original BIOS
 

Attachments

  • RX588G.rom
    256 KB · Views: 60
  • _20230521121742.jpg
    _20230521121742.jpg
    475.6 KB · Views: 102
  • _202305211217421.jpg
    _202305211217421.jpg
    488.8 KB · Views: 113
  • _202305211217422.jpg
    _202305211217422.jpg
    428 KB · Views: 100

lufan

New Member
Joined
May 21, 2023
Messages
3 (0.01/day)
Top