Jump to content

No graphics / USB / Audio after wake


anor4k
 Share

586 posts in this topic

Recommended Posts

Has anyone had the opportunity to check this with a card that is flashed with mac firmware? Like a typical mac radeon? The ones you can find in older mac pros.

I am not sure if someone did this. Be the first!

Link to comment
Share on other sites

Has anyone had the opportunity to check this with a card that is flashed with mac firmware? Like a typical mac radeon? The ones you can find in older mac pros.

On a Hack the Apple EFI portion in the VBIOS will simply be ignored, and the legacy VBIOS will be used instead. Injection of device properties (stored in the EFI portion of the VBIOS) is done by Apple EFI initialization. Obviously on a real Mac (Pro, or other Mac with TB eGPU), the EFI portion is used. AFAIK (earlier pages in this thread) sleep/wake works fine on a real Mac Pro, even with an unflashed (no Apple EFI portion in VBIOS) card.

  • Like 2
Link to comment
Share on other sites

On a Hack the Apple EFI portion in the VBIOS will simply be ignored, and the legacy VBIOS will be used instead. Injection of device properties (stored in the EFI portion of the VBIOS) is done by Apple EFI initialization. Obviously on a real Mac (Pro, or other Mac with TB eGPU), the EFI portion is used. AFAIK (earlier pages in this thread) sleep/wake works fine on a real Mac Pro, even with an unflashed (no Apple EFI portion in VBIOS) card.

Yes, the problem is not in the BIOS by itself. Those cards work in Yosemite.

As well we already checked many possible configurations of DeviceProperties what injected by real Macs and by Clover. We had enough time to said that the reason is not here.

(Chameleon, Osmoziz, custom DSDT injections: same results?)

Link to comment
Share on other sites

Yes, the problem is not in the BIOS by itself. Those cards work in Yosemite.

As well we already checked many possible configurations of DeviceProperties what injected by real Macs and by Clover. We had enough time to said that the reason is not here.

(Chameleon, Osmoziz, custom DSDT injections: same results?)

 

I can tell something about DSDT injections. I injected my R9 390 into DSDT with following flags:

AAPL,slot-name: "Slot-1"

AAPL,boot-display: 0x01

@0,name: "Baladi"

@1,name: "Baladi"

@2,name: "Baladi"

@3,name: "Baladi"

device-id: 0xB0, 0x67, 0x00, 0x00

model: "AMD Radeon R9 390"

hda-gfx: "onboard -1"

 

Unfortunately without any effect on wake. Screen stays black, as always.

Link to comment
Share on other sites

AFAIK (earlier pages in this thread) sleep/wake works fine on a real Mac Pro, even with an unflashed (no Apple EFI portion in VBIOS) card.

Exactly. My old MP always wakes fine, no matter if the card is properly flashed or unflashed. Obviously flashing a card in a Hackintosh is useless.

Link to comment
Share on other sites

Exactly. My old MP always wakes fine, no matter if the card is properly flashed or unflashed. Obviously flashing a card in a Hackintosh is useless.

 

Would you share your full ACPI tables with the graphics inserted in your MP?

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

Link to comment
Share on other sites

 

Now since using 10.11.2 I have much bigger problems than just wake not working.

Console gives me sometimes: WindowServer[163]: GPU Driver appears to be hung (over 5 continuous seconds of unreadiness)

 
And the screen freezes. Sometimes it will react after a short time, but sometimes i have to restart my computer.
 
Greets
theandy

 

 

Me too, same console message as you. The only issues I had in 10.11.1 was the screens not waking from sleep. Now with 10.11.2 I go from 91fps in Cinebench to 70fps, graphics are choppy, and like you, I get screen freezing which occurs when I am watching YouTube videos in Safari or if I play games that are windowed. The fix is to simply click to the desktop and everything starts up. Most frustrating.

Link to comment
Share on other sites

:santa:  :santa:  Yeah, it's Christmas and it looks like Santa Claus hasn't forgotten me! The Radeon Card wakes up with 10.11.2 but I still don't know why.  :santa:  :santa:

 

First let me describe the background. As need to upgrade my primary machine to El Capitan in the near future I to pulled the AMD Card and replaced it with a Geforce GTX950 so that I got the Radeon R9 270X laying around and decided to try it with my test machine equipped with an Asrock H97M Pro4 (V2.0 BIOS) with onboard graphics. I got a perfectly working DSDT for this machine which I had patched myself and upgraded Clover to v3330. I inserted the Radeon card and booted the machine but got an instant kernel panic caused by the ACPIPlatformExpert. I removed the DSDT and the machine booted. Well, I thought that I must have missed something while patching the DSDT and patched it again but still got the kernel panic. After that I tried to inject the vanilla DSDT I extracted with Clover but the kernel panic persisted. The only way to boot OS X with the graphics card installed, is without DSDT injection. This is the first strange phenomenon I have no explanation for.

 

Next I decided to go on without a pre-patched DSDT, selected system definition iMac14,2, enabled Intel graphics injection using ig-platform-id=0x04120004, which is a configuration without any frame buffers and the same value the original iMac14,2 uses. As expected the machine booted successfully, the Radaon Card was working perfectly and, that's the best part, it wakes up form sleep. Radeon graphics continues to work after wakeup! No joke! That's the second phenomenon I don't understand but at least it gives me hope that there is a solution.

 

:yoji:

 

Ok, lets assume that my DSDT patches are the reason why it didn't wake up before. Here is a list of the changes I made in my patched DSDT:

  • Assigned IRQ 0 and 8 to device HPET.
  • Renamed the onboard graphics from GFX0 to IGPU and injected the platform id.
  • Identify Darwin as Windows 2001.
  • Changed the device ID of device LPC to make AppleLPC.kext load on non-Z chipsets. Checked, no problem!
  • Injected the layout ID for device HDEF.
  • Injected SBUS properties.
  • Patched device XHC to be fully functional with El Capitan.

My next job will be to find out if any of these patches triggers the problem.

 

I attached my Clover config file and an IOReg dump to the post!

 

Mieze  :cat:

IOReg-Wolf-2015-12-24.zip

Wolf-config.plist.zip

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

UEFI boot with CSM enabled. I selected the UEFI VBIOS of the Radeon card to be used.

 

Mieze

Congratulation with your success!

I think it happens because you make intel graphics 

 

 

  • Renamed the onboard graphics from GFX0 to IGPU and injected the platform id.

It is already known trick. If both graphics working then Radeon can wake up.

 

Anyway if you made CSM enabled then Radeon card will not using UEFI VBios. Do you have native resolution in Clover GUI without black borders?

Link to comment
Share on other sites

Great to hear that something is going on. I've got one question. When I set PEG to Primary Graphics on my MB, the Intel Graphics is not visible in IORegistryExplorer. I enabled IGD Multi-Monitor with 512MB of shared RAM, and it does pop up in IORegistryExplorer, but OS X boot takes longer (about 10 seconds). I proceeded to inject the ig-platform-id into my DSDT, since Clover doesn't show any options related to Intel Graphics:

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x04)
                            {
                                "AAPL,ig-platform-id", 
                                Buffer (0x04)
                                {
                                     0x03, 0x00, 0x22, 0x0D                           /* ..". */
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

And after that, the boot up time is normal, and also I can see "PPGTT is enabled" in verbose mode - so it means the OS X loads Intel Graphics drivers. It is confirmed by my kextstat:

88    0 0xffffff7f81eff000 0x4c000    0x4c000    com.apple.driver.AppleIntelFramebufferAzul (10.1.2) DE26F8C0-6AA7-3AC2-8F30-59D308C90542 <87 73 68 15 12 11 7 6 5 4 3 1>
   91    0 0xffffff7f81e60000 0x6c000    0x6c000    com.apple.driver.AppleIntelHD5000Graphics (10.1.2) 4F2EA008-61FC-32A5-A272-DFD707182261 <90 87 68 12 7 6 5 4 3 1>

that Intel kexts are loaded. But there is one thing I want to ask you @Mieze: does your Intel Graphics pop up in your system report at Graphics/Displays? On my computer it only shows up the Radeon. Anyway, with all above, the sleep still does not work, either with CSM on or off. I am attaching my IOReg if it helps anyone.

Link to comment
Share on other sites

@cecekpawon: With PEG set as primary, the Intel Graphics chip is not visible in IORegistryExplorer, even with DSDT injection - so it looks like my MB is pretty much disabling it. PEG primary = no Intel graphics, no sleep. About blank Intel framebuffer, I tried it also (you mean 0x04001204, right?) and Radeon does not wake up from sleep. I will try to do a clean install of El Capitan, maybe I forgotten about some kext patch I did. About that patch you mentioned, you mean it will make Intel Graphics operational?

Link to comment
Share on other sites

Congratulation with your success!

I think it happens because you make intel graphics 

It is already known trick. If both graphics working then Radeon can wake up.

 

Anyway if you made CSM enabled then Radeon card will not using UEFI VBios. Do you have native resolution in Clover GUI without black borders?

Asrock's UEFI Setup allows you to select which OpRom should be used, "Legacy only" or "UEFI only", and I selected "UEFI only" and yes, I have native resolution in Clover (Full HD).

 

The patches I described are not implemented in the working configuration that's why I think they might be the reason for the trouble. Onboard graphics is set to be the first GPU but it shuts down when the Radeon graphics is initialized. There is no frame buffer attached to the HD4600 and it doesn't show up in System Information. Please see my IOReg dump.

 

Mieze

Link to comment
Share on other sites

Nice trick, everything working ok, just remove any graphical DSDT injection, choose BIOS and everything working IGFX sleep, wake up, everything.

Now in my case my Intel's HD2000, unsupported by Hackintosh but shown in information system, only problem I have no home screen BIOS or presentation Clover diagnosis, can not choose HDD boot but little use Windows, thanks, sorry mi english
Link to comment
Share on other sites

In my configuration the Radeon Card as well as onboard graphics are connected to the same display via DVI (onboard uses a DVI-HDMI adapter to connect to the display's HDMI port). Onboard graphics is selected as the primary GPU in BIOS. The BIOS messages, Clover's splash screen and the early boot messages are shown via onboard graphics until the Radeon card is initialized which is indicated by the following kernel message. It is also the last line you can see on the onboard graphics screen.

kernel[0]: ** GPU Hardware VM is enabled (multispace: enabled, page table updates with DMA: enabled)

After that the onboard graphics display immediately freezes, shuts down after a few seconds and the Radeon graphics takes over. From that point on all graphics output is shown on the Radeon's display and it wakes up from sleep perfectly.

 

Disconnecting the onboard graphics cable has no influence on the system. I can still boot successfully and the Radeon card still wakes up but of course I have to blind-boot in this scenario. It looks like onboard graphics is only needed to bring up the system.

 

Mieze

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...