Contribute
Register

Radeon Compatibility Guide - ATI/AMD Graphics Cards

So I take it that the R9 390x works out of the box? Do I need to set any options in Clover?
 
Hi Fl0rian,

I had significant difficulties in getting my XFX R9-390X DD "operational" though i persevered and managed to get the DisplayPort output to work.

Current big issue (persistent frame buffer flickering with screen movement)

i'm using the Baladi framebuffer, with the following patch:

Code:
Normal Baladi Framebuffer;
000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

Code:
Patched Baladi Framebuffer for a working DisplayPort Connection;
000400000403000000010300120402010004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

What i've found neat was that all i had to change from the default was the Hotplug ID and the Sense ID and it was fine.

I'm currently using this with the 1080MHz MSI R9-390X BIOS, and it's functional (if a bit glitchy)

Here's the port map of the XFX card:
Code:
enc  / tx  / HP / Sense /Con
0x12 / 0x4 / ?  / 0x1 / DP
0x22 / 0x5 / ?  / 0x3 / HDMI-A
0x11 / 0x2 / ?  / 0x4 / DVI1
0x10 / 0x0 / ?  / 0x6 / DVI2

here's my working out to find out a suitable configuration;

Code:
$ radeon_bios_decode < ../Desktop/Hawaii.rom
ATOM BIOS Rom: 
	IOBaseAddress: 0x0000
	Filename: 390X8DF1.W84
	BIOS Bootup Message: 
C67130 Grenada XT A0 GDDR5 8GB 128Mx32 300e/150m                            

PCI ID: 1002:67b0
Connector at index 0
	Type [@offset 42566]: DisplayPort (10)
	Encoder [@offset 42570]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 42658]: 0x90, OSX senseid: 0x1
Connector at index 1
	Type [@offset 42576]: HDMI-A (11)
	Encoder [@offset 42580]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 42685]: 0x92, OSX senseid: 0x3
Connector at index 2
	Type [@offset 42586]: DVI-D (3)
	Encoder [@offset 42590]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 42712]: 0x93, OSX senseid: 0x4
Connector at index 3
	Type [@offset 42596]: DVI-D (3)
	Encoder [@offset 42600]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 42739]: 0x95, OSX senseid: 0x6


$ redsock_bios_decoder < ../Desktop/Hawaii.rom 
390X8DF1.W84:

C67130 Grenada XT A0 GDDR5 8GB 128Mx32 300e/150m                            

Object Header Structure Size: 271
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: ce
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [4] which is [DVI_D]
	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
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

Code:
a quick breakdown of the first port defined in the frame buffer of the Baladi personality with some annotations
00  04  00  00  		connector type - DP
04  03  00  00  		Control Flags - DP
00  01  				Features - DP
03  00  				unknown
12  					Transmitter or 22
04  					Encoder or 5
03 					Hotplug ID 01 or 02
03					Sense ID



I hope this is useful to other guys using an XFX R9-390x
 
Hi Fl0rian,

Current big issue (persistent frame buffer flickering with screen movement)

I've solved the flicker via DP issue-- or, rather, I put a few resources together to figure out a bit of a kluge solution based almost entirely on the work done by others on the PC side here: http://www.overclock.net/t/1561372/hawaii-bios-editing-290-290x-295x2-390-390x

Ultimately, the issue arises, it appears, from when the GPU moves between different memory clock/voltage states between idle and max. A temporary solution is to edit the video bios in a way that allows the GPU core clock and frequency to manage itself-- but force the card's memory to always run at full clock. The main cost to this is a few degrees higher idle temperatures and a slightly higher wattage pull at idle-- but it still up/down clocks the GPU core, which is responsible for most of the idle/load temps and wattage pull.

I plan to document the solution here (in a dedicated thread) with better information-- and perhaps better options that flashing a modded bios to the GPU-- once I have time to experiment more and make such a posting. One would assume that one can modify the VBios, but instead of flashing it to the card let Clover load the modified VBios at boot... but I have no tested this solution yet. And I think there may be a better way than just running the memory at full clock at all times. It's going to take some work.

But... DP flickering has been banished!
 
Ultimately, the issue arises, it appears, from when the GPU moves between different memory clock/voltage states between idle and max. A temporary solution is to edit the video bios in a way that allows the GPU core clock and frequency to manage itself-- but force the card's memory to always run at full clock. The main cost to this is a few degrees higher idle temperatures and a slightly higher wattage pull at idle-- but it still up/down clocks the GPU core, which is responsible for most of the idle/load temps and wattage pull.

But... DP flickering has been banished!

Fantastic! i've got rid of the flicker now! i set my maximum memory speeds to be less than the 1500MHz it was at stock as it was actually making it flicker more when set to that (so i set all of the states to 1450MHz instead, seems stable thus far)

Thanks a lot!! :D
 
Hi gents!I uploaded my results of the LuxMark and CineBench scores. I use a Sapphire R9 280x 3gb vapor-x gpu, OS X El Capitan latest ver.No DSDT patches, no framebuffer injections, simply nothing. Got pretty decent results in XBMC/Kodi (mkv decoding), nice video in user experience, overall the general Radeon framebuffer behaves ok, though this is a pain in my eye to see the card discovered as:AMD Radeon HD 7xxx 3072 MB

I have worked previoisly with Toleda to enable the HDMI audio and now it works like charm, but I have noticed that when I have runned patched DSDTs- with Ajy and Hamachi I got like over 15000 LuxMark v2 score and now under 12000.I am using the OS X for audio processing/synths only, so it`s ok with me what I ve got, though I am wondering if some more juice can be taken from the Sapphire R9 280x, cause its a beast after all.

Else my rig is a Asus PQ5 pro socket 775 mobo modded to work with socket 771 Xeon 5460 and I can tell you, my "old" rig just kills some I5s and some lame I7s (windows benchmarking), running most of modern games w/o any issues, top notchs settings.What do you think? Should I patch DSDT again, or leave it like this? Would I get more FPS when using Hamachi or Ajy? As the FBs mapp the inputs, so should not be having more, but who knows... I would like to have as much vanilla as I can have:)

I will test now with unigne Heaven and update results here and in the google xls.

Update: so Heaven gave me 73.4 fps on the out of the box text, i.e. no tesselation and etc, 1475 points, I am not sure if any other FB will beat this, so not sure if should change at all. Also using clover to choose FBname, does not work, dunno why, but again dont want to mess up my DSDT.

I do not observe any flickering, issues, running on a dual setup:R9 280x -> DP -> Dell P2314HR9 280x -> HDMI -> Phillips TVPlease comment if you went through this route.
 
Finaly i did it! These are my Settings for 2 different RADEON GFX-Cards with different FrameBuffers via "Arbitrary"-Key under "Devices":



Arbitrary-Settings-for-2-Radeon-GFX-Cards.jpg



Radeon HD6570 runs with FB "Gibba" while R9 380X runs with FB "Greyhound". Full QE and Accelleration.
Connected are actually 3 Monitors: 4k Iilyama DP and Samsung 48" TV HDMI via R9 380X and same 4k Iilyama HDMI via HD6570


HD6570 in PCI-Slot#1 (primary Boot-GFX), Radeon R9 380X in PCI-Slot#3

Maybe someone finds it hintfull...
 

Attachments

  • config.plist
    11.9 KB · Views: 167
Fantastic! i've got rid of the flicker now! i set my maximum memory speeds to be less than the 1500MHz it was at stock as it was actually making it flicker more when set to that (so i set all of the states to 1450MHz instead, seems stable thus far)

Thanks a lot!! :D

I'm curious, did you set all states to 1450 mhz by editing the VBios as per the guide I linked? And did you flash that VBios to your card, or are you letting Clover load the modified VBios at boot? This second question is of particular interest to me.

Yeah, it's a strange issue that I'd like to suss out a bit more before I make a dedicated thread to the topic (perhaps this coming weekend).

The key factor doesn't seem to be voltage or memory clock related in most cases-- it's simply the transition between ANY two memory clock frequencies.

It's possible there's a way to allow the memory clock frequencies to vary, and one possible route may be looking at VDDCI values, but there's a very small range of adjustment to VDDCI that are safe and/or stable. I tried adding 25mv and it didn't solve the problem. So, more adjustment.
 
I'm curious, did you set all states to 1450 mhz by editing the VBios as per the guide I linked? And did you flash that VBios to your card, or are you letting Clover load the modified VBios at boot? This second question is of particular interest to me.

Hi Justr, from the forum post you linked i used the HawaiiReader tool to edit the MSI VBios i had successfully booted with.
I played around with it, noting that when i ran my card at the full 1500MHz my graphical glitches were worse than before, it may be the case that it's specifically the higher 1500MHz setting that my hardware/software combination doesn't like (I haven't yet tested this), this bios isn't flashed to the card and it's loaded through Clover.
 
Hey,
I continue to have some trouble with my R9 280x as I said in my topic, R9 280x poor performance in games. Every time I try to InjectATI=True I got a black screen.
It was been very frustrating for me.
Thanks!
 
Back
Top