Jump to content

No graphics / USB / Audio after wake


anor4k
 Share

586 posts in this topic

Recommended Posts

After playing around with the working configuration (Asrock H97M Pro4 + MSI Radeon R9 270X Gaming Twin Frozr 2)  I found out that wakeup depends on the connector or maybe the screen resolution. I'm using the default framebuffer because with it, all ports of the card are working (DVI, HDMI and DP) but there is a difference with regard to wakeup. I tested all ports and got the following result:

  • DVI: wakeup working using Full HD display
  • HDMI: wakeup working using Full HD display and 4k display
  • DP: no wakeup using a 4k display

Unfortunately I haven't been able to test DP with Full HD resolution but it looks like wakeup either depends on the connector used or maybe the resolution.

 

EDIT: I repeated the tests using framebuffer Futomaki which delivers similar results:

  • DVI: wakeup working using Full HD display
  • HDMI: not supported
  • DP: no wakeup using a 4k display

Mieze

Edited by Mieze
Link to comment
Share on other sites

I just wanted to summarize what I've found out during the last days investigating the AMD wakeup problem:

 

Making the IGPU the primary graphics adapter is no solution for the wakeup problem but it's more or less a presupposition for wakeup in case you are using a recent iMac as your system definition because Apple designed it to work in this way but even if you have a display connected to the IGPU which wakes up successfully there is no guarantee that the display connected to the AMD card will wake up too.

 

Some mainboards, e.g. the Asrock B85 Killer, disregard the BIOS settings for the primary GPU in case there is no display connected to it while booting and dynamically make the first GPU with an active display connection the primary one.That's the reason why I was unable to reproduce my results on this mainboard. In case you are affected swapping the graphics card or mainboard might be the way to go.

 

The real problem is the fact that several of the supported framebuffer personalities are broken in El Capitan and won't work after wakeup anymore. For example neither the default framebuffer of AMD7000Contoller.kext nor Futomaki are able to wake a 4k display connected to the DP although this configuration is supported in principle and used to work fine in the past. As these framebuffer personalities aren't used in Apple machines it is unlikely that the problem will be fixed in future releases of OS X. This also defines a new approach for a solution: Instead of using those framebuffer personalities which used to work best for your GPU, I think it would be better to use the personality Apple uses on the machine you are faking and patch it in order to adapt it to your graphics card. For example a Radeon R9 270X based card should use framebuffer personality "Namako", which is the personality used for the R9 270X in iMac15,1. Of course it needs to be patched in order to work with your card.

 

Mieze

Link to comment
Share on other sites

@Mieze: thank you very much for your efforts!

 

I have an Asus X99/A USB3.1 MB (no IGPU) + R9 270x with 4k resolution @60Hz through DP - I am experiencing the very same issue both using Radeon and Futumaki Framebuffers.

 

In order not to get the black screen when waking up the display I connected a second graphics card (very old NVIDIA 8500GT) to the HDMI port of the same monitor. When I wake up the Display the second card takes over (FullHD @30Hz), but of course this is not a satisfactory solution.

 

Following your last post I patched the Namako FB via Clover patching, and forced Namako as the Framebuffer also using an iMac15,1 system definition. The system works fine, but the problem persists when trying to wake up the display...

Link to comment
Share on other sites

@Mieze: thank you very much for your efforts!

 

I have an Asus X99/A USB3.1 MB (no IGPU) + R9 270x with 4k resolution @60Hz through DP - I am experiencing the very same issue both using Radeon and Futumaki Framebuffers.

 

In order not to get the black screen when waking up the display I connected a second graphics card (very old NVIDIA 8500GT) to the HDMI port of the same monitor. When I wake up the Display the second card takes over (FullHD @30Hz), but of course this is not a satisfactory solution.

 

Following your last post I patched the Namako FB via Clover patching, and forced Namako as the Framebuffer also using an iMac15,1 system definition. The system works fine, but the problem persists when trying to wake up the display...

Well, the problem might be that your system doesn't have an IGPU but using an iMac system definitions requires the IGPU to be present as IGPU and the AMD card are tightly coupled in this configuration forming some kind of team. For your configuration, system definition MacPro6,1 would be a more appropriate solution. Please keep in mind that the IGPU is initiating the wakeup of the AMD card on recent iMacs.

 

Mieze

Link to comment
Share on other sites

@macandrea: I'm currently trying it myself. Switched the system definition to iMac15,1, injected the proper platform-id (0x0b001204), patched framebuffer Namako with the data of Futomaki and injected Namako as the framebuffer. As of now, the system is working with this configuration using DVI, even sleep/wake is fine. I will now try it with the 4k display (DP) but will have to move it as the display is located in another room. I will report back later!

 

EDIT: Bingo! Complete success! The AMD card wakes up with the 4k display connected via DP. Problem solved!  :thumbsup_anim:

 

Mieze

IOReg-Wolf-2015-12-26.zip

config-Wolf-2015-12-26.plist.zip

Edited by Mieze
  • Like 2
Link to comment
Share on other sites

 

Get MaciASL: http://sourceforge.net/projects/maciasl/

Go to preferences, find ACPI compiler or something like that - it should be set to 4.0 in standard - select 5.1

Choose option "New from ACPI" and save DSDT and all SSDT's in DSL file format. The thing is IOReg might be not enough. I got an idea, that something in PC's DSDT is missing, and lack of that thing prevents AMD Graphics from waking properly. E.g. in MacPro6,1 DSDT, the _WAK method is Notifying the PCI bus and the GPU itself to wake, so it would be very helpful to see how it's working in MacPro with non-stock graphics.

 

My best

Okay, I'll do this in the next days! :)

Will there be a difference if a PC or Mac GPU is installed? If you'd expect a difference, I'd make dumps both with PC ROM and Mac ROM on my R9 280.

 

@latest discussion: I don't think mismatched framebuffers are causing this problem, in my MacPro3,1 sleep is *always* working (e.g. 7870 with Futomaki, 7770 with Dashimaki, R9 280 with Hamachi or RadeonFramebuffer).

 

 

Link to comment
Share on other sites

@latest discussion: I don't think mismatched framebuffers are causing this problem, in my MacPro3,1 sleep is *always* working (e.g. 7870 with Futomaki, 7770 with Dashimaki, R9 280 with Hamachi or RadeonFramebuffer).

It depends on the system definition. A MacPro is different than an iMac. In particular it doesn't have the IGPU which is crucial for iMacs. All in all things have become much more complicated with El Capitan and we've lost a lot of freedom with regard to hardware configurations.

 

Mieze

Link to comment
Share on other sites

I'll keep my "Never sleep" setting until a new approach for non-IGPU setups is found  :(

System definition MacPro6,1 is the solution for your system, in particular as this machine uses the R270X too, although Apple has given it another name. Find out which framebuffer personality it is using and patch it according to your needs. AFAIK Vlada managed to get sleep/wake working with this system definition some time ago. Please see this thread!

 

Mieze 

Link to comment
Share on other sites

I use a Sandy Bridge system with HD3000 (no platform-id) and an iMac12,2 definition, with a 280X (Hamachi). Does this mean I'd have to patch whatever personality the 6700M uses in the real iMac and make my 280X use it?

No, you will have to use a personality of the AMD7000Controller anyway. Mixing different generations of CPUs/GPUs imposes additional problems and I'm not quite sure if it's possible to find a working configuration for your machine at all. As I already mentioned, we've lost a lot of flexibility with El Capitan and upgrading the GPU might be difficult or even impossible.

 

Mieze

Link to comment
Share on other sites

I already tried patching all amd7000controller framebuffer personalities using macpro6,1 but it is not working with 4K resolution...

Vlada is using macpro6,1 but he has a completely different configuration as far as I can see from here (IGPU)... I'm looking at his posts again to see if I can find something.

i also tried to inject the pci id for the actual macpro6,1 graphics card (d300)... Same result.

Andrea

Link to comment
Share on other sites

I already tried patching all amd7000controller framebuffer personalities using macpro6,1 but it is not working with 4K resolution...

Vlada is using macpro6,1 but he has a completely different configuration as far as I can see from here (IGPU)... I'm looking at his posts again to see if I can find something.

i also tried to inject the pci id for the actual macpro6,1 graphics card (d300)... Same result.

The D300 of the Mac Pro is nothing else than a renamed R9 270X (same PCI dev ID). According to IOReg the Mac Pro uses framebuffer personalities Maguro and MaguroS. It also has this strange device GCON which seems to play a special role in graphics management. Maybe it's possible to fake it? At least the AMD GPUs don't depend on the IGPU with this system definition but I must confess that I'm not very familiar with the Mac Pro.

 

Anyway I attached an ACPI and IOReg dump of a 2013 Mac Pro. Maybe it will help you? 

 

Mieze

MacPro6_1-ioreg.zip

MacPro6_1-ACPI.zip

Link to comment
Share on other sites

@macandrea - I don’t know for 4K resolution because I don’t have such monitor so I can't test it, but on 1080p everything is working properly in my case with Futomaki FB. 

 

Also, you probably won’t be able to use any FB which has LVDS connectors in combination with MP6,1 definition, so you should stick to those with DP, DDVI and HDMI, because they are probably most compatible. I will leave here ATY personality dump from 10.11.2, for those who want to make further tests.

 

@Mieze - When IGPU is first booting device (master) and PEGP is second (slave), everything is working properly, so you basically confirmed what I said 15 days ago. Two things more: I don’t think that current DSDT patches that we using had anything with this GPU problem, because nothing indicates that, but also, UEFI boot is not to much important option, because I am using legacy boot and as I said in that combination on my machine everything is working properly too.

 

All in all, what you got is more a kind of workaround solution, but I guess that is better than nothing. So it’s good to know that is possible to make it work with HDMI adapter, like you did...

 

Nevertheless, we should continue to search another solution.   

ATY personality dump 10.11.2.zip

Link to comment
Share on other sites

@Mieze - When IGPU is first booting device (master) and PEGP is second (slave), everything is working properly, so you basically confirmed what I said 15 days ago. Two things more: I don’t think that current DSDT patches that we using had anything with this GPU problem, because nothing indicates that, but also, UEFI boot is not to much important option, because I am using legacy boot and as I said in that combination on my machine everything is working properly too.

 
All in all, what you got is more a kind of workaround solution, but I guess that is better than nothing. So it’s good to know that is possible to make it work with HDMI adapter, like you did...

No it's not a workaround, it's just a perfect clone of the 2014 Retina iMac. Also, selecting the IGPU as the first GPU is not enough, its a necessary but not a sufficient condition to make it work. In order to drive a 4k display you need the Namako configuration. Maybe the reason why can be found within these few lines of the driver's Info.plist:

			<key>ATY,Namako</key>
			<dict>
				<key>aty_config</key>
				<dict>
					<key>CFG_DEF_DITH</key>
					<integer>0</integer>
					<key>CFG_NVV</key>
					<integer>2</integer>
					<key>CFG_USE_AGDC</key>
					<true/>
				</dict>
				<key>aty_properties</key>
				<dict>
					<key>PP_ActivitySamplingInterval</key>
					<integer>1300</integer>
					<key>PP_MediumStateDownHysteresisTimeOut</key>
					<integer>2162162</integer>
					<key>PP_SISLANDSMediumStateHysteresisDown</key>
					<integer>3</integer>
				</dict>
			</dict>

There might be more configurations supporting 4k displays but that's a topic for more research.

 

Mieze

Link to comment
Share on other sites

tried the new oz and newly modded bios updated with ubu tool my 290x  wakes from sleep still 

 

Newest Ozmosis 167X, bios updated with UBU, R9 390 doesn't wake from sleep at all, though I don't get AMDFramebufferCI message anymore - only GPU Asic Log after wake.

Link to comment
Share on other sites

Thank you Mieze and Vlada!

@Vlada: I was already following your threads on framebuffers, thank you for your hard work!

 

Funny thing I found out today - if I:

- turn off the monitor before/during sleep

- wake up the display (moving mouse/keyboard)

- turn on the monitor 

 

wake works properly... 

 

Andrea

Link to comment
Share on other sites

Thank you Mieze and Vlada!

@Vlada: I was already following your threads on framebuffers, thank you for your hard work!

 

Funny thing I found out today - if I:

- turn off the monitor before/during sleep

- wake up the display (moving mouse/keyboard)

- turn on the monitor 

 

wake works properly... 

 

Andrea

Tested hundreds of such tricks. Nothing work.

I also can't use a trick with IGPU because it is not working for me: Intel HD2000 without any chance.

 

I need full explanation what is happen and why Radeon cards on hackintoshes will not wake up. Having such explanation I can make a patch or even a new kext....

Link to comment
Share on other sites

With that hard (GA-H61M i3-2120, Radeon HD 6670) should work as it did for me (Z68-MA d2H-B3 and i5 2400S+HD6850), just choose IGFX and eliminate injection ATI and Intel will have no screen until you start the driver of 6670.

My case is a single monitor with a DVI input, a simple cable in "Y" give me two outputs to one monitor connection, it seems a pretty good temporary solution, because Mieze for showing the way, the rest will be testing, sorry for my English
Link to comment
Share on other sites

@Slice: I understand your point, I'm sorry I cannot help you

 

I do confirm the monitor switch-off workaround is working fine 100% of the times on my setup:

 

Asus X99/A USB3.1

i7 5820k

Radeon R9 270x using Display Port and 4k resolution - Futumaki FB personality

MacPro6,1

Link to comment
Share on other sites

Thank you Mieze and Vlada!

@Vlada: I was already following your threads on framebuffers, thank you for your hard work!

 

Funny thing I found out today - if I:

- turn off the monitor before/during sleep

- wake up the display (moving mouse/keyboard)

- turn on the monitor 

 

wake works properly... 

That's a good trick and it shows that at least a part of the problem is centered around the DP as there are several framebuffers which are able to wake up as long as they don't have a display connected to the display port.

 

Have you tried to use the patched Namako framebuffer with MacPro6,1?

I also can't use a trick with IGPU because it is not working for me: Intel HD2000 without any chance.

HD2000 shouldn't be a problem as long as you inject a platform id with 0 framebuffers leaving only the accelerator of the IGPU functional. That's the way Apple designed each and every iMac with a discrete GPU since the 2013 generation.

 

The real question is, does your BIOS respect the selection you made with regard to the primary GPU? The BIOS of my Asrock B85 Killer doesn't as it dynamically selects the first GPU with a display connected as the primary GPU (the BIOS splash screen appears on the AMD card's display even if you selected onboard to be the first) and that's the reason why it doesn't work with AMD graphics under El Capitan anymore. On the other hand the Asrock H97M Pro4 does and it works fine with the configuration I described (even with DP).

 

Mieze

Edited by Mieze
Link to comment
Share on other sites

Maguro did the trick. It only has one connector (this is the reason why I never tried it earlier), but I'm using DP only so it's not a problem for me.

I've patched the single connector in Maguro with the DP entry from Futumaki and the display is now waking correctly. The configuration works for both MacPro5,1 and MacPro6,1

 

Thank you Mieze, Vlad and Slice!!! 

 

My Nvidia goes back where I found it  :)

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...