Jump to content

R9 380, can't boot directly, have to do it via Intel 4600, Ghost monitor.


pcpaul
 Share

146 posts in this topic

Recommended Posts

I'm on a same boat here. I have sapphire r9 380 nitro and can't get into a login screen after verbose on El Capitan.

So far I'm using Xeon E3-1230v3, so I can't try integrated graphics first due to hardware limitations.

 

But look like Mac Pro can use R9 380 OOB on El Capitan, what I can think is.. El Capitan force to use internal graphics first when OS X recognize Intel i series cpu.

 

I'm not sure why my Xeon recognized as i7 processors on OS X, I will try other cpu id on FakeCPUID or other kexts later.

Link to comment
Share on other sites

I'm not sure why my Xeon recognized as i7 processors on OS X, I will try other cpu id on FakeCPUID or other kexts later.

That's interesting, would like to know how it goes for you once your cpu is properly recognized, I was thinking something similar about why it doesn't load, maybe it's unloaded regardless of display policy info.plist and system definition? 

 

What happens in "normal" circumstances once a card is unloaded under a mac pro? Does OS fail to boot altogether or just screen loses signal? Because in my case it seems as if OS "pauses" to boot after it fails to initialize ATI, it doesn't react to shortcut keys to sleep,restart, shut down, no sound, but never KPs, hardrive led indicators stops blinking and there's no noise of some action, you know, as if OS "paused" booting or vent into a "void/blackhole".

Link to comment
Share on other sites

What happens in "normal" circumstances once a card is unloaded under a mac pro? Does OS fail to boot altogether or just screen loses signal? Because in my case it seems as if OS "pauses" to boot after it fails to initialize ATI, it doesn't react to shortcut keys to sleep,restart, shut down, no sound, but never KPs, hardrive led indicators stops blinking and there's no noise of some action, you know, as if OS "paused" booting or vent into a "void/blackhole".

 

I also recogniced, that system is still active after the verbose boot, cause i enabled filesharing on El Capitan and could connect to it after the boot process from my MacBook. So system seems to be fully active - only without showing Desktop on any connected Monitor. No chance to connect remotely to the El Capitan Machine - even with Apple Remote Desktop, neither with TeamViewer.

 

And i stay with it: i think, the problem kext here ist the "AMDRadeonX4000.kext". Don't know, why it gets loaded successfully with CSM and IntelGFX enabled. Also if i remove this kext form System/Extension folder, system runs fine on all connected monitors - only w/o acceleration.

Link to comment
Share on other sites

Try to inject Edid of your monitor in DSDT.

It seems to be a problem of frame buffer / monitor recognition.

 

Extrect Edid from Linux (live cd) or Windows 160 bytes, then Search how to inject Edid on forum and patch your DSDT .

Btw if you use Clover try to insert Edid in config.plist

Link to comment
Share on other sites

Try to inject Edid of your monitor in DSDT.

It seems to be a problem of frame buffer / monitor recognition.

 

Extrect Edid from Linux (live cd) or Windows 160 bytes, then Search how to inject Edid on forum and patch your DSDT .

Btw if you use Clover try to insert Edid in config.plist

Tried it by creating an override file for it, it injects it ok, tried to put my monitors hex edid into clover, it also injects it, didn't try DSDT, in all cases after verbose OS stops loading, I know that it injects it, because I've tested it by booting though IGPU.

OS should boot without a monitor attached to it, I'll leave DSDT thing to test for other guys, because first, I've no clue how to inject dsdt EDID, second, is it worth it? 

Link to comment
Share on other sites

That's interesting, would like to know how it goes for you once your cpu is properly recognized, I was thinking something similar about why it doesn't load, maybe it's unloaded regardless of display policy info.plist and system definition? 

 

What happens in "normal" circumstances once a card is unloaded under a mac pro? Does OS fail to boot altogether or just screen loses signal? Because in my case it seems as if OS "pauses" to boot after it fails to initialize ATI, it doesn't react to shortcut keys to sleep,restart, shut down, no sound, but never KPs, hardrive led indicators stops blinking and there's no noise of some action, you know, as if OS "paused" booting or vent into a "void/blackhole".

 

So far no luck, I've tried few IDs.. then failed again. No login screen on El Capitan. I may want to ask someone who owns E5 Xeon processors.

Link to comment
Share on other sites

Replaced a kernel with a kernel from yosemite, it boots, but the same behavior, of course it shows that it can't make to work some IOs, so I'v replaced all amd, ati, iofamily kexts with yosemite ones, and opengl/cl frameworks.

 

While booting through igpu it "complained" about not being able to do something with "metal" because of opengl/cl and gave endless mesagge about too many corpses being generated.

 

So I put back all orig frameworks, still couldn't boot, got literally stuck in verbose, at the very end it would freeze.

 

Put back all iofamily kexts, the same thing as above.

 

Put back all kexts apart from AMDRadeonX4000.kext and AMDRadeonX4000GLDriver.bundle, I got some different message in verbose and got a little bit further.

 

Replaced AMDRadeonX4000GLDriver.bundle and it booted, reconnected monitor to ATI and it had full acceleration, checked loaded extensions, AMDRadeonX4000.kext wasn't loaded, yes I did rebuild cache by touching extensions and running update-volume.

 

Rebooted to try PCI, I got the same thing, when I get with all kext intact, monitor lost signal, but I can fully boot with black screen while connected to PCI, when booting via igpu.

 

Replaced 9000.kext and the same thing as above, monitor lost signal, but didn't test if I can boot via igpu with monitor attached to pci.

 

So probably AMDRadeonX4000.kext and  9000.kext have nothing to do with not being able to boot via PCI, it's either that AMDRadeonX4000GLDriver.bundle or some frameworks. 

 

I don't don't know if had acceleration without 9000.kext, because I've only tried to boot via PCI, so got the usual black screen.

 

I remember that when I replaced these kexts some time ago before this without replacing kernel, I was able to boot via PCI, boot there was no acceleration, and now it doesn't boot it acts the same as with original kexts.

 

BTW, I've ssdt_hdmi-amd-default-PEG0 referred by toleda, injected into clover.

Link to comment
Share on other sites

Hey pcpaul,

 

I built a new mini-itx build and installed Yosemite on it and have been running it happily ever after (i7-4790k, R9 380, GA-Z97N-WIFI)

I erased it, made a new El Capitan installer with Clover and installed it however I am in the same issue as you. I cannot use R9 380 with El Capitan even though with Yosemite it was supported OOB.

I can set my BIOS to use Integrated as primary and then once in desktop switch HDMI cord to R9 380 however it creates ghost monitor and slow performance.

Everything you said in earlier thread I didn't understand, do you think there will soon be a way to use R9 380 flawlessly?

Link to comment
Share on other sites

I can set my BIOS to use Integrated as primary and then once in desktop switch HDMI cord to R9 380 however it creates ghost monitor and slow performance.

Everything you said in earlier thread I didn't understand, do you think there will soon be a way to use R9 380 flawlessly?

Ghost monitor happens either because of a wrongly patched framebuffer for ATI or integrated card is not properly injected, most likely integrated card isn't properly injected, because you don't need to patch framebuffer for this card. That's how it's in my case.

 

Doesn't look like there will be a way for it to work flawlessly, it depends either on Apple or someone who has a deeper understanding how AMD drivers work, I'm neither an Apple nor have such knowledge about drivers, so I don't expect for it to ever work flawlessly without outsiders help or Apple's fix.  

 

I was naive seeing device id in amd kexts and buying this card, stupid f***ing me, Nvidia provides it's own drivers, so anyone who's looking at this card to buy, buy GTX 960. I've only bought this card for a few extra fps's on games and few extra features like iron, whatever, funny thing is, since buying this card in mid summer, I've haven't played a single game, I don't even have a single game installed on a pc partition or for that matter have any games at all.....  

 

Which opengl version does GTX 960 support with Nvidia drivers? 

Link to comment
Share on other sites

Ghost monitor happens either because of a wrongly patched framebuffer for ATI or integrated card is not properly injected, most likely integrated card isn't properly injected, because you don't need to patch framebuffer for this card. That's how it's in my case.

 

Doesn't look like there will be a way for it to work flawlessly, it depends either on Apple or someone who has a deeper understanding how AMD drivers work, I'm neither an Apple nor have such knowledge about drivers, so I don't expect for it to ever work flawlessly without outsiders help or Apple's fix.  

 

I was naive seeing device id in amd kexts and buying this card, stupid f***ing me, Nvidia provides it's own drivers, so anyone who's looking at this card to buy, buy GTX 960. I've only bought this card for a few extra fps's on games and few extra features like iron, whatever, funny thing is, since buying this card in mid summer, I've haven't played a single game, I don't even have a single game installed on a pc partition or for that matter have any games at all.....  

 

Which opengl version does GTX 960 support with Nvidia drivers? 

Time to move to the GTX 960? I can get one out to me from Amazon and return my R9 380. I don't want to be messing with a bunch of configurations and stability issues. Do you think within the next day or two there will be a solution for the R9 380 or should I go ahead and order the 960?

Link to comment
Share on other sites

Do you think within the next day or two there will be a solution for the R9 380 or should I go ahead and order the 960?

Don't know that, but from what i see people repeatedly try to inject framebuffer and it's obvious that framebuffer is not a solution here... injection method in itself might, but not f8*8ing framebuffers, it actually can brick a card, no sh*t, when injecting wrong framebuffer and trying to "hotplug" anything... 

 

I don't know if anyone works on this problem or not, but don't hold your breath, if I were you, I'd return this card immediately and get 960, check out the forum, to see if it works flawlessly for others, Nvidia provides it's own drivers for mac, while ATI don't, so you can't go wrong with Nvidia, provided that there's a driver for your card.   

 

As a matter of fact I was thinking today about "bricking" this card by injecting a wrong framebuffer and hotplugging it until it smokes, lol, so that I could return it and ask for 960, I'd even pay extra for allowing me to choose 960. Retailer would't know wtf happened, they expect graphics to be used on a pc and worst case is end user flashing the card, but they don't expect some pissed off lunatic to run it on a mac with wrong framebuffers, purposely switching ports until it bricks , roflmao...

Link to comment
Share on other sites

Don't know that, but from what i see people repeatedly try to inject framebuffer and it's obvious that framebuffer is not a solution here... injection method in itself might, but not f8*8ing framebuffers, it actually can brick a card, no sh*t, when injecting wrong framebuffer and trying to "hotplug" anything... 

 

I don't know if anyone works on this problem or not, but don't hold your breath, if I were you, I'd return this card immediately and get 960, check out the forum, to see if it works flawlessly for others, Nvidia provides it's own drivers for mac, while ATI don't, so you can't go wrong with Nvidia, provided that there's a driver for your card.   

 

As a matter of fact I was thinking today about "bricking" this card by injecting a wrong framebuffer and hotplugging it until it smokes, lol, so that I could return it and ask for 960, I'd even pay extra for allowing me to choose 960. Retailer would't know wtf happened, they expect graphics to be used on a pc and worst case is end user flashing the card, but they don't expect some pissed off lunatic to run it on a mac with wrong framebuffers, purposely switching ports until it bricks , roflmao...

If I purchase the 960, what would the process be of getting that running?

 

Does it work completely OOB, just plug and it works?

Link to comment
Share on other sites

If I purchase the 960, what would the process be of getting that running?

 

Does it work completely OOB, just plug and it works?

You have to get Nvidia drivers, install it

and add "nvda_drv=1" bootflag to your bootloader. Not sure about OBB, check out the forum.

Folks say this driver works with 960 http://www.nvidia.com/download/driverResults.aspx/92173/en-us

Link to comment
Share on other sites

@pcpaul 

 

hey man. I have AMD R9 285 and same exact problem. {censored}! I hope this can be resolve.


Finaly i did it under EL CAPITAN !

 

Attached you find my CLOVER info.plist file, which i use to connect my RADEON R9 380 STRIX Card with DP and HDMI-Monitor.

 

I copied just the "AMDRadeonX4000.kext" from YOSEMITE to the System/Library/Extensions from EL CAPITAN (GM) /backing up original before, set ATI FakeID=0x69391002, DualLink=1, FBName=Greyhound, VRAM=2.048, Video Ports=6, Load VBios=Enabled, Patch VBios=Enabled, Inject ATI=Enabled

 

ATI Connectors Data = 000400000403000000010107100001030004000004030000000102072001020400040000040300000001030711020301000400000403000000010407210304020004000004030000000105071204050500040000040300000001060722050606

 

ATI Connectors Patch = 000400000403000000010107110204010008000004020000000102072103050304000000140000000001040712040106000200001402000000010307100006050004000004030000000105072006020200040000040300000001060722050304

 

ATI Connectors Controller = 9000

 

For SMBios i set it to "iMac 15,1"

 

With these Settings on first boot i got the same issues as "pcpaul" described: verbose messages finished - Monitor says "No Signal" and turned black. But i was able to connect from my MacBook via RemoteDesktop to El Capitan, could remote control it, opened Monitiors Control Panel and synced the connected Monitors. Restarted El Capitan: et voila: got Signal on primary Monitor (HDMI) and secondary Monitor (DP). After this restart i just "unsynced" all Monitors and dragged the Menubar to my primary DP Monitor, making the HDMI Monitor the secondary one.

 

Now after Restart i got a signal on all connected Monitors, having my Iilyama ProLite B2888UHSU Displaymonitor my primary Systemmonitor. HDMI- and DP-Audio also working perfect.

 

Systeminformation says, that "AMDRadeonX4000.kext" isn't loaded, but "IOAcceleratorFamily2.kext" gets loaded, enabling full Quarz/CE-Support (see attached Screenshot)

 

Hope this Info will help "pcpaul" to make it work 4 him too.

 

Hello. Thanks for your answer. I have AMD R9 285 and I have same problem but...

 

I copied AMDX4000 kext from yosemite to el capitan S/L/E

 

I Booted UEFI your settings :

 

"ATI FakeID=0x69391002, Video Ports=6, Load VBios=Enabled,  Inject ATI=Enabled    in Clover boot options. 

 

El capitan shows my R9 2XXX   2048 mb but no Acceleration.

 

Then I tryed FakeID=0X6939  Video Ports=6, Load VBios=Enabled,  Inject ATI=Enabled    in clover boot options this time el capitan shows R9 285 but memory 7 MB

 

How to set VRAM 2048 mb in clover ? I did not see VRAM settin in clover graphics options menu,

 

Pls help me.

 

Note: I did not use your config.pls for clover  should I use ?

Link to comment
Share on other sites

You have to get Nvidia drivers, install it

and add "nvda_drv=1" bootflag to your bootloader. Not sure about OBB, check out the forum.

Folks say this driver works with 960 http://www.nvidia.com/download/driverResults.aspx/92173/en-us

With some discussion with other people in IRC, it will be worth keeping the R9 380 but using Yosemite for the time being until we have a solution for El Capitan.

@pcpaul 

 

hey man. I have AMD R9 285 and same exact problem. {censored}! I hope this can be resolve.

 

Hello. Thanks for your answer. I have AMD R9 285 and I have same problem but...

 

I copied AMDX4000 kext from yosemite to el capitan S/L/E

 

I Booted UEFI your settings :

 

"ATI FakeID=0x69391002, Video Ports=6, Load VBios=Enabled,  Inject ATI=Enabled    in Clover boot options. 

 

El capitan shows my R9 2XXX   2048 mb but no Acceleration.

 

Then I tryed FakeID=0X6939  Video Ports=6, Load VBios=Enabled,  Inject ATI=Enabled    in clover boot options this time el capitan shows R9 285 but memory 7 MB

 

How to set VRAM 2048 mb in clover ? I did not see VRAM settin in clover graphics options menu,

 

Pls help me.

 

Note: I did not use your config.pls for clover  should I use ?

Hello, please do not stress yourself out over this issue. I would downgrade to Yosemite and begin new Clover installation for the time being. It is supported right from boot without any need for modification.

 

I spent the entirety of last night with the IRC chat-room and we still did not find any solution.

Link to comment
Share on other sites

Yes, my 280X is set as my primary GPU. I do have the IGPU enabled, but it's for AirPlay mirroring (using an ig-platform-id with 0 connectors so no display output) and my monitor is connected to the 280X. I was previously using a patched Futomaki framebuffer but I'm now using the default RadeonFramebuffer with a binpatch to fix the name (AMD Radeon 7xxx -> AMD Radeon R9 280X, Clover/DSDT injection of name doesn't work, probably hardcoded value when using default FB).

 

Hey, I would like to know what do you see in System Information - Graphics/Displays, under your monitors "pixel depth" row?

Because in my case it says some nonsense lol "CGSThirtyBitColor" while on Yosemite it says "32-bit Color (ARGB8888)"

Obviously I'm using EDID override, but it's the same nonsense without override, so maybe we're up to something... lol 

How to force "32-bit Color (ARGB888)" under El Capitan? 

post-981248-0-40334200-1443813460_thumb.png

post-981248-0-99515600-1443813569_thumb.png

Link to comment
Share on other sites

OK, we're moving a little bit further, remember my retarded post about rolling back kexts from Yosemite and then noticing that there's something with AMDRadeonX4000GLDriver.bundlehttp://www.insanelymac.com/forum/topic/307248-r9-380-cant-boot-directly-have-to-do-it-via-intel-4600-ghost-monitor/?p=2171101

 

So now I'm on a clean El capitan system, no kexts are tempered with, because yesterday or day before yesterday I've update El Capitan to a new version 15B22c. Plus I always carefully put things back to their places after testing.

 

So today I booted as usually with a monitor connected to ATI card and IGPU set in BIOS as a Primary, to both Yosemite and El Capitan, Saved their IORegs and noticed one thing that on El Capitan under "GFX0@0" there's no reference to AMDRadeonX4000GLDriver. I've looked at my older IORegs of El Capitan and there was never a reference to it under El Capitan, while under Yosemite there is.

Any Ideas? this might be the thing?

 

I'm attaching both IOregs.

 

post-981248-0-61613600-1443817708_thumb.png

El_CapitanIOReg.zip

YosemiteIOReg.zip

Link to comment
Share on other sites

Yes, I was thinking the same, maybe some SSDT injection, this is probably the final wall for me, I've no clue how and what to do next, and this looks like the closest thing I've gotten to identifying a possible problem or maybe it's just a meaningless string, anyway, see you in hell, this is it for me, my empirical tinkering ends here. 

article-2000482-03C251CC000005DC-483_468

 

Link to comment
Share on other sites

Yes, I was thinking the same, maybe some SSDT injection, this is probably the final wall for me, I've no clue how and what to do next, and this looks like the closest thing I've gotten to identifying a possible problem or maybe it's just a meaningless string, anyway, see you in hell, this is it for me, my empirical tinkering ends here. 

article-2000482-03C251CC000005DC-483_468

:lol:  :lol:  :lol:  :lol:

 

to 10.10.5 it is!

Link to comment
Share on other sites

Oct  3 02:27:16 localhost kernel[0]: SMC: successfully initialized
Oct  3 02:27:16 localhost kernel[0]: Kext com.apple.AMDRadeonX4000 - library kext com.apple.iokit.IOAcceleratorFamily2 not found.
Oct  3 02:27:16 localhost kernel[0]: Can't load kext com.apple.AMDRadeonX4000 - failed to resolve library dependencies.
Oct  3 02:27:16 localhost kernel[0]: Kext com.apple.AMDRadeonX4000 failed to load (0xdc00800e).
Oct  3 02:27:16 localhost kernel[0]: Failed to load kext com.apple.AMDRadeonX4000 (error 0xdc00800e).
Oct  3 02:27:16 localhost kernel[0]: 000000.790646 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching

 

Oct  3 02:27:16 localhost kernel[0]: Couldn't alloc class "AMDTongaGraphicsAccelerator"
 
This is what I got. I can see login screen(!) when I force to update few kexts but get 'Graphics Display 8MB'
 
Investigating...
Link to comment
Share on other sites

OK guys, the solution must be in that "CGSThirtyBitColor".

 

Because when booting via IGPU with a monitor connected to PCI, it f***ing injects that retarded "CGSThirtyBitColor" space under R9 380,

if booting via IGPU with a monitor connected to IGPU it injects normal "32-bit Color (ARGB888)" under IGPU, when reconnecting a monitor to PCI and reloading System information window, it says "32-bit Color (ARGB888)" under R9 380

 

So it means that when booting via PCI, R9 380 gets injected with CGSThirtyBitColor heroin, and after verbose screen, most likely that "loading apple" transitional screen can't handle CGSThirtyBitColor heroin, so it doesn't find what it's looking for and card gets unloaded or whatever, system stops, dark void, no life.

 

When booting via IGPU, but monitor connected to PCI, IGPU handles that transitional screen, hence it gets injected with a pure 32-bit Color (ARGB888) cocaine, having its needs satisfied, it allows to pass transitional screen by and load OS, when OS is about to load a screen, it realizes that where's no monitor connected to IGPU so it shows main screen on PCI.    

That's all theory, I've no clue, but CGSThirtyBitColor is out of place here, because as I mentioned in post #92, there's no CGSThirtyBitColor on Yosemite.

 

After reboot I'll attach IORegs, one from system loaded via IGPU, monitor connected to PCI, and one loaded via IGPU, monitor connected to IGPU.

El_Capitan_Via_IGPU_connected_to_PCI.zip

El_Capitan_Via_IGPU_connected_to_IGPU.zip

Link to comment
Share on other sites

OK guys, the solution must be in that "CGSThirtyBitColor".

 

Because when booting via IGPU with a monitor connected to PCI, it f***ing injects that retarded "CGSThirtyBitColor" space under R9 380,

if booting via IGPU with a monitor connected to IGPU it injects normal "32-bit Color (ARGB888)" under IGPU, when reconnecting a monitor to PCI and reloading System information window, it says "32-bit Color (ARGB888)" under R9 380

 

So it means that when booting via PCI, R9 380 gets injected with CGSThirtyBitColor heroin, and after verbose screen, most likely that "loading apple" transitional screen can't handle CGSThirtyBitColor heroin, so it doesn't find what it's looking for and card gets unloaded or whatever, system stops, dark void, no life.

 

When booting via IGPU, but monitor connected to PCI, IGPU handles that transitional screen, hence it gets injected with a pure 32-bit Color (ARGB888) cocaine, having its needs satisfied, it allows to pass transitional screen by and load OS, when OS is about to load a screen, it realizes that where's no monitor connected to IGPU so it shows main screen on PCI.    

That's all theory, I've no clue, but CGSThirtyBitColor is out of place here, because as I mentioned in post #92, there's no CGSThirtyBitColor on Yosemite.

 

After reboot I'll attach IORegs, one from system loaded via IGPU, monitor connected to PCI, and one loaded via IGPU, monitor connected to IGPU.

CGThirtBitColor is just a coloring profile which is used from the EDID, you should try the same method that people with a 280 uses which is in the forums, 380 is just a rebranded 280.

Link to comment
Share on other sites

@Pavo

 

R9 280 (679A) is Tahiti (AMDRadeonX4000 + AMD7000Controller)

R9 380 (6939) is Tonga (AMDRadeonX4000 + AMD9000Controller)

 

R9 380 is rebadged R9 285 (same device id). It seems only Tonga is affected by this problem.

Link to comment
Share on other sites

 Share

×
×
  • Create New...