Jump to content

SAPPHIRE RX460 NITRO with SIERRA beta...


Mork vom Ork
 Share

20 posts in this topic

Recommended Posts

Here are the results of my new SAPPHIRE RX460 NITRO (Device-ID: 67EF-1002)

BIOS DATA:

ATOM BIOS Rom:
SubsystemVendorID: 0x174b SubsystemID: 0xe344
IOBaseAddress: 0x0000
Filename: 344P05M6.OH9
BIOS Bootup Message:
C99401 Baffin PRO A1 GDDR5 128bit 4GB 214e/300m

PCI ID: 1002:67ef
Connector at index 0
Type [@offset 40810]: DisplayPort (10)
Encoder [@offset 40814]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 40884]: 0x90, OSX senseid: 0x1
HotPlugID: 5
Connector at index 1
Type [@offset 40820]: HDMI-A (11)
Encoder [@offset 40824]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 40911]: 0x93, OSX senseid: 0x4
HotPlugID: 3
Connector at index 2
Type [@offset 40830]: DVI-D (3)
Encoder [@offset 40834]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 40938]: 0x94, OSX senseid: 0x5
HotPlugID: 4

- - - - -

344P05M6.OH9:

C99401 Baffin PRO A1 GDDR5 128bit 4GB 214e/300m

Subsystem Vendor ID: 174b
Subsystem ID: e344
Object Header Structure Size: 212
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: a1
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [4] which is [DVI_D]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

used Framebuffer:

ACRE Framebuffer (original):
000400000403000000010101000000001102020100000000
000800000402000000010200000000002103050400000000
040000000402000000010300000000000000030500000000

ACRE Framebuffer (patched):
000400000403000000000001000000001102050100000000
000800000402000000000001000000002103030400000000
040000000402000000000001000000001000040500000000

Results: plugged into PCI slot#1, configured CLOVER config.plist like this in the desired sections and placed VBIOS file into ROM folder of EFI-Partition:

<key>Graphics</key>
<dict>
<key>FBName</key>
<string>Acre</string>
<key>VideoPorts</key>
<integer>3</integer>
<key>DualLink</key>
<integer>0</integer>
<key>Inject</key>
<dict>
<key>ATI</key>
<true/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>
</dict>
<key>ig-platform-id</key>
<string>0x19120000</string>
<key>LoadVBios</key>
<true/>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>ATIConnectorsController</key>
<string>9500</string>
<key>ATIConnectorsData</key>
<string>000400000403000000010101000000001102020100000000000800000402000000010200000000002103050400000000040000000402000000010300000000000000030500000000</string>
<key>ATIConnectorsPatch</key>
<string>000400000403000000000001000000001102050100000000000800000402000000000001000000002103030400000000040000000402000000000001000000001000040500000000</string>
</dict>

Tried to give it a go... but... NOTHING! Doesn't work out-of-the-box! ;-(

I could only make it run and display a picture with the following entry in CLOVER config.plist:

<key>FakeID</key>
<dict>
<key>ATI</key>
<string>0x67DF1002</string>
</dict>

If i try to choose INJECT ATI = FALSE, it would show the same effect like with Radeon R9 380x: black screen after verbose boot and not possible to connect to it via ARD from my MacBook (ARD says, there is no ARD active on the remote SIERRA machine). It may use the RadeonFrameBuffer than, but it won't use my connected Displays to show the dektop.

I'll keep on trying to make it work with some more framebuffer patches. Using the above Framebuffer-patch (Acre) with fake ID 67DF, it will give me full access to DP- and HDMI-connected Monitor - but w/o Accelleration.

Maybe all this is just because it is NOT an AMD RX460 reference card - as mentioned before it is Sapphire RX460 Nitro 4BG.

  • Like 1
Link to comment
Share on other sites

Is the Device ID presented in the AMDControllers and AMDRadeonX4000 ? If yes then it should be natively supported. For some reasons Apple force GCN1.2 and newer cards to run RadeonFramebuffer. Problem is like you describe, black screen is somewhat related to the card run at mirroring with nothing to mirror, you need another GPU to force the AMD to mirror it iirc

Link to comment
Share on other sites

Yes, device-id of RX460 (67ef1002) is present in kext. But anyway... the AMDRadeonX4000.kext still doesn't get loaded.

Also i find out, that if i use iMac17 as smbios settings, HDMI setup gives black screen on HDMI connected Monitor. Same settings with MacPro5,1 as smbios will make the screen work. weird.

Also: screens get NOT detected, if i run CLOVER w/o FakeID set to 67DF1002 - but: if i run w/o setting FakeID to 67DF1002 in safemode, system is running to desktop, only showing on HDMI connected screen and AMD,RadeonFramebuffer get used. If i restart normal (w/o selecting safemode) with AMD,RadeonFramebuffer used, i just get blackscreen after verbose boot.

 

So for now all ican say: yes, you can use RX460 and RX480 under Sierra so far - but w/o accelleration (which is pain in the ass).

Link to comment
Share on other sites

For SMBios, it is recommended to edit the AppleGraphicsDevicePolicy of iMac17,1 to none as Config2 is related to 5K display, not for normal use, do the same for MacPro6,1 ( dual AMD GPU setting ). Try that first

Already did this - but no effect. When using iMac17,2 and AppleGraphicsPolicy set to "none", then still no go if device-ID isnt set to 67DF1002 with fake-id and still no HDMI signal.

It is just working "usable" when using McPro5,1 as smbios.

Link to comment
Share on other sites

Do you have reference card or one RX460 from any other vendor? the three kexts shown in screenshot 3 are the same kext i get loaded when normal boot to desktop.

Also i made another test: just deleted AMDRadeon4000.kext from S/L/E and rebooted with device-ID left original (67EF1002), the system loads the same way, as it does, when AMDRadeon4000.kext is present in S/L/E and FakeID 67DF1002 was used..

Link to comment
Share on other sites

Ok, I've made some more tests... and i was some kind of successfull!

 

RX460 card is plugged into PCI-Slot#1... no Monitor attached to it.

Internal INTEL HD530 switched on via BIOS (Settings: primary GFX is Onboard, Shared Memory is set to 64MB, Multimonitor is enabled). Connect Monitor to either HDMI, DP or DVI and boot to System.

Following Settings in CLOVER config.plist:

 

Inject ATI: true

FakeID: 0x0

VideoPorts: 7

Inject Intel: true

ig-platform-id: 0x19120000

 

With this config i booted into SIERRA DeveloperBeta 6 (built 16A294a). Opened Systemmonitor to check, if AMDRadeon4000.kext was loaded:

 

Bildschirmfoto2016-08-16um04.39.03.jpg

Bildschirmfoto2016-08-16um05.32.48.jpg

Guess what: as you can see - it truely was loaded!!! So i switched Monitorcable (used DP here) from INTEL onbaord into RX460 DP-Port.

Et voila: i got full resolution and FULL accelleration. YEAH.

 

Now i just got one problem: even if Primary Grafikadopter is set to "Onboard", system allways started from RX460 as primary card when Monitor is connecte to both internal HD530 and RX460,

which results in NO GO. It only works when HD530 is really the primary or only GFX-card detected on PowerOn System or Reset System.

 

I was not able yet to get my system work with Monitors connected to both cards and make the HD530 the real primary GFXcard. It allways use the RX460 to diplay BIOS settings, whenever it detects a connected monitor. Hope you understand what i mean with that - don't know how to describe it better in english (not my native language).

Bildschirmfoto2016-08-16um05.07.25.jpg

So if there is anyone around there to tell me how to get this problem fixed, i am half way done in using the Sapphire RX460 NITRO.

 

Oh, one thing i forgot to mention: with all the above discribed, i no longer have to change device-id of RX460 from original 67ef1002 to 67df1002 - i just let the system detect the correct device-id.

  • Like 1
Link to comment
Share on other sites

Please check if Unigine Valley test passes on rx460 or it  crashes like on rx480

 

First test appear to be ok, but it shows me CPU in the upper right corner, so i dont know, if he uses the RX460.

But wait... i havn't connected any Monitor to internal Connectors, just DP and HDMI via RX460 - and i made the test on the DP display. So i would say yes: it was fully running.

 

Will make test again, when i have more time, cause first test was applied when i was "on the run" to work. Will report tonight

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...