Jump to content

Asus P8Z77-V LK

asus p8z77-v lk dsdt guide

  • Please log in to reply
47 replies to this topic

#1
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
This is a small guide to get as much as possible out of this motherboard. The focus is set on the board itself, not pluggable devices like CPUs or GPUs, meaning you will have to take care of the processor and video properties by yourself - if needed.

All further settings are chosen to run the board in full UEFI mode without legacy support.

The chosen boot manager is Clover, I use it to run Windows, OS X and Arch Linux in UEFI mode.

All links and attachments are collected at the bottom of this post.

General information:

To run OS X on this board, you need an SMC emulator, which is handled by the FakeSMC.kext extension and a way to overcome ASUS' MSR 0xE2 write protection that causes a kernel panic issued by AppleIntelCPUPowerManagement.kext and prevents you from running OS X. You have two choices:
Patch the kext to avoid writing or patch the BIOS to allow writing to this register. Patching the kext can be done in memory by Clover without touching any system files and is the easier one. Refer to Clover's option AsusAICPUPM.
 
Starting with BIOS version 1103 ASUS introduced a write protection preventing unauthorized BIOS modifications. Additionally writing to NVRAM from OS X is not possible anymore.
My recommendation is to stay with version 1001 and avoid all the new security/protection {censored} to keep the most compatibility to OS X.

BIOS patch:

Patching the BIOS is riskier and more time consuming than patching a kext. Should you decide to go for it, here is what needs to be done.
You can use the PMPatch utility by CodeRush on an official BIOS file from ASUS to do the patch yourself or use the attached modified BIOS version 1001, which additionally includes other modifications:
Spoiler


Regardless of the chosen method, use Flash Toolkit (FTK) to flash it. More information in the link section.
Read carefully, chances you can screw up something are high!
 
BIOS settings:

There is not much to say here. Initially I set most options to manual to ensure Mac won't have any problems recognizing them but it seems this is not needed. Feel free to adjust them to your liking. Overclocking is not a problem either, you just need to have the matching performance state array for your CPU supplied automatically by Clover or by injecting an SSDT.

If you have a CPU with support for VT-d, disable it - otherwise it may cause booting issues.

If you have a dedicated video card and do not need the built-in GPU (like HD4000):
Advanced \ System Agent Configuration \ Graphics Configuration >
  • Primary Display: PCIE
  • iGPU Multi-Monitor: Disabled
USB compatibility settings:
Advanced \ USB Configuration >
  • Enable all options - USB2.0 ECHI Controller, Legacy USB/USB3.0 support, xHCI Mode, EHCI Hand-off
Adjusting UEFI settings:
Boot >
  • Boot Logo Display: Disabled (Prevents Clover from displaying an incorrect resolution.)
Boot \ CSM (Compatibility Support Module) >
  • Launch CSM: Disabled (Disables legacy support. Only EFI application can be started now.)
Boot \ Secure Boot menu >
  • OS Type: Other OS (Disables Secure Boot and allows Clover to start.)
Clover configuration:

The attached configuration file is kept minimal. The most important settings are the DSDT patches and the device properties string.
You will need to create an SMBIOS section with your own generated serial number and also adjust the GUI\Theme setting to match the theme you want to use. Have a look at the wiki, it should answer most of your questions regarding settings.

DSDT:

Clover has a huge amount of options to patch the DSDT and other tables on the fly and we will make use of it. This way no BIOS update or hardware change will break your setup.

All modifications done to the DSDT can be found commented in Clover's config under the array ACPI\DSDT\Patches. Most of them are very common, others only remove errors and warnings. However no device properties are injected here.

For reference I will keep my earlier made patched DSDT that I don't use anymore. The changes made were:
Spoiler


Device Properties:

Recently I switched from a patched DSDT to Clover's method of DSDT patches and had to abandon the _DSM way of injecting device properties. Using an EFI string seems to be a very good alternative as the properties are not bound to a DSDT anymore and can be modified in a more convenient way - in my opinion.
 
The string is stored at Devices\Properties in hexadecimal format.
 
Use gfxutil by mcmatrix to adjust the string to your needs.

Here is a an overview of the important devices and their names (in square brackets), as defined by the DSDT:
  • PciRoot(0x00)/Pci(0x01,0x00) - Dedicated video card [PEGP], renamed [GFX0]
  • PciRoot(0x00)/Pci(0x02,0x00) - Integrated video card [GFX0], renamed [IGPU]
  • PciRoot(0x00)/Pci(0x14,0x00) - USB Intel [XHC]
  • PciRoot(0x00)/Pci(0x1a,0x00) - USB Intel [EHC2]
  • PciRoot(0x00)/Pci(0x1b,0x00) - Sound [HDEF] 
  • PciRoot(0x00)/Pci(0x1c,0x04)/Pci(0x00,0x00) - Ethernet [RP05\PXSX]
  • PciRoot(0x00)/Pci(0x1c,0x05)/Pci(0x00,0x00) - PCI Bridge ASMedia [RP06\PXSX]
  • PciRoot(0x00)/Pci(0x1c,0x07)/Pci(0x00,0x00) - USB ASMedia [RP08\PXSX]
  • PciRoot(0x00)/Pci(0x1d,0x00) - USB Intel [EHC1]
Ethernet:

The built in ethernet chip Realtek RTL8168 needs a driver.
Several extensions exist and personally I can recommend Mieze’s version, which is linked below. It performs great under load and has no IP assignment problems.

Sound:

The sound chip ALC892 needs a patched AppleHDA.kext and a way to inject the layout-id, which is already present in my device properties string.
You can find a link to a patched AppleHDA by toleda below. It works great including microphone and front panel.

USB:

USB3 Intel:

Intel USB3 ports work out of the box. However they are not backwards compatible and you won't be able to run any USB2 devices. An option to fix this is to use Zenith432's GenericUSBXHCI USB 3.0 driver.

USB3 ASMedia:

The ASM1042 USB3 chip will be controlled by Zenith432's driver, too.

USB2 Intel:

Intel USB2 ports work natively.

Reboot/Shutdown:

Using Clover in UEFI mode will cause a bad reboot/shutdown with OS X in approximately one out of ten times and no fix exists for this issue yet. The OS has already exited, you see a black screen, fans spin up and you can only do a hard reset.

Sleep:

Sleep works well here.
 
The provided device properties string includes "AAPL,clock-id" keys, which prevent Sleep to be interrupted by any USB device - meaning you will have to press the Sleep/Power button to wake up the system. If you don't want this behavior, remove these keys.

---

Have fun setting things up. :)

Link section:

(Bootloader) Clover: http://clover-wiki.zetam.org/Home
(BIOS) Power management patch: http://www.insanelym...tching-utility , http://hardforum.com...d.php?t=1726429
(Device properties) gfxutil: http://forum.netkas....topic,64.0.html
(Ethernet) driver: http://www.insanelym...realtek-rtl8111
(FakeSMC) driver: https://sourceforge....ects/hwsensors/
(Sound) driver: http://www.insanelym...realtek-alc892/
(USB3) driver: http://www.insanelym...-x-with-source/
 
History:
 
2014-03-20:
  • Aaand again: module updates for BIOS version 1001
2013-12-27:
  • Further module updates for BIOS version 1001
2013-11-20:
  • Module updates for BIOS version 1001
2013-10-16:
  • Changes in config.plist: Corrected device properties string, added AppleRTC patch for 10.9, removed SSDT settings.
2013-10-05:
  • New link to patched AppleHDA extension for the upcoming 10.9 Mavericks GM.
2013-10-03:
  • Recommendation to use BIOS version 1001 due to BIOS and NVRAM write protections of later versions.
  • Updated Clover config.plist with more DSDT patches to disable unused devices.
  • Some weird news regarding reboot and shutdown in UEFI mode.

Attached Files


Edited by k3nny, 20 March 2014 - 10:02 PM.


#2
buoo

buoo

    The Prodigal Son

  • Moderators
  • 4,534 posts
  • Gender:Male
  • Location:Italy
Could you add the GeekBench score please?

#3
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
Sure: http://browser.prima...kbench2/1555823
No overclock, no main applications running.

Edited by k3nny, 20 January 2013 - 03:20 PM.


#4
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
Hi Kenny,
i have a similar system, but i don't understand why it does not work the sleep.
My system is signed, the BIOS is changed, I disabled the usb3 asmedia and I'm using Clover EFI bootloader.
With Clover In UEFI mode I extracted the DSDT, correct errors and warnings, added DTGP, HDEF, ALC892, injected HDMI audio.
What is missing to run the sleep?
If you have time and want to help me and I can attach DSDT IOreg
Thank you for the interest, sorry for my bad english (google translate)
Marco

#5
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
i did LX model and sleep was fun to get to work... very similar setup of bios, i think i didnt use USB3 in bios.

and i had to use SSDT.aml made with a script.

#6
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
@carbo178:
As far as I remember Sleep started working without any additional modifications with 10.8.3.
My first guess would be - as LatinMcG said - power management.
The IOReg would be nice to have.

Currently I'm using these SSDTs: http://www.projectos...643
Additionally you need to use one of the Board-IDs provided by X86PlatformPlugin. iMac13,1 is one of them for example - Board-ID: Mac-00BE6ED71E35EB86.
You will need to adjust the steps for your processor but I believe you can use RevoGirl's script to generate them.

PS: Google seems to do a good job so far :)

EDIT:
Just found LatinMcG's thread. According to him he needed to patch AppleRTC to get Sleep working.
I encountered some BIOS setting resets with the LK, too. So I guess it is a good thing to keep it patched and you can even use Clover to do it on the fly.

EDIT2:
Forgot to add that I had many random kernel panics when using Clover UEFI together with Compatibility Support Module (CSM).
Turning it off fixed almost all my problems.

#7
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
@Kenny:
Thanks for the reply, I checked out the SSDT with the script Revogirl (I forgot to mention in the first post), but I only have 2 steps (16 and 34) occurred with msrdumper; selecting or deselecting generated p-states/c-states in the Clover startup options does not change anything.
I added the string board-id -Mac 00BE6ED71E35EB86 in config.plist under SMBIOS but still I see no changes, the sleep does not work :hammer:

I enclose DSDT, SSDT and IOreg, if you can see if there is something wrong ... thanks again

Attached Files



#8
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
Please try to enable the AppleRTC patch in Clover.

Next step is to disable CSM. For this to work you will need a video card that supports UEFI Graphics Output Protocol (GOP).
As far as I know, gigabyte is giving out new VBIOS versions with GOP support on request. Write an email to their support and you should receive one.
With CSM disabled you will be able to boot much faster and - according to my experience - fix many random kernel panics.

By the way, i didn't ask yet: What happens if you try to enter sleep mode?

I will look into your files later.

EDIT:

Regarding your DSDT:
You could try using the _PTS method from my board. I doubt it will change much though.

SSDT:
Change SMBIOS to iMac13,1 with Board-ID: Mac-00BE6ED71E35EB86 and try these:
Attached File  SSDT_Core-i7-3770.zip   2.21KB   52 downloads
Do not drop existing OEM SSDTs and turn off the generate functions in Clover.
You should reach 3,9 GHz at least, maybe even get SpeedStep.

Let me explain the structure of ssdt-0:
1) Method _DSM changes the CPU plugin-type to X86PlatformPlugin instead of ACPI_SMC_PlatformPlugin.
It seems to be fairly new and it is used in Ivy Bridge iMac models.
2) APSS is the usual array with performance states in 100 MHz steps; one state must be doubled for it to work. I chose 0x00000320 (800 MHz) for this.
3) Name (APSN, 0x05) is the amount of turbo speed states. In this case they range from 3,4 GHz to 3,9 GHz -> 5
4) Name (APLF, 0x04) adds steps to the lowest frequency in APSS and defines the final lowest frequency which will be used.
Example: 0x00000320 (800 MHz) is the lowest in this case. Add 0x04 (4) steps to it and you get 1200 MHz -> The CPU will never go under 1200 MHz.

The first thing to check if it worked, is to verify ioreg.
1) CPU0@0: "plugin-type" must be 0x1.
2) CPU0@0 > X86PlatformPlugin > CPUCStates should be filled
3) CPU0@0 > X86PlatformPlugin > CPUPstates should be filled
4) SpeedStep, obviously.

Source: http://www.applelife...rboboost.38283/

Last but not least - if nothing else works - wait for 10.8.3 :-)

Edited by k3nny, 10 February 2013 - 03:09 PM.


#9
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
i used imac 12.2 with ati 6870 dsdt device id changed

#10
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
K3nny @, @ LatinMcG:
Thanks to both,
I'll try as soon as advised, but first I have a couple of questions:
1) The tables SSDT and SSDT-1 attached are used to replace or supplement the one I use now? I have to rename them?
2) I put board-id in config.plist:

<key>SMBIOS</key>
<dict>
<key>ProductName</key>
<string>iMac13,1</string>
<key>Board-ID</key>
<string>Mac-00BE6ED71E35EB86</string>
</dict>

Is that correct?

3) I use AppleACPIPlatform.kext original 10.8.2 (ver. 1.7), but if I do not use the option Drop OEM DMAR in Clover I do not get to the desktop, I put this string in config.plist but does not work:

<key>ACPI</key>
<dict>
<key>DropOEMDMAR</key>
<string>Yes</string>
</dict>

I doing something wrong (i'm so noob....)?

What Happens when trying in sleep mode...
With Chameleon: It turns off everything, but after a few seconds the system wakes up except Monitor and USB, and this operation is repeated for 3 times then finally wakes up except Monitor and USB and I have to force shutdown.
With Clover: The system is trying to go to sleep, but you only turn off Monitor and USB, the rest stays on, I have to force shutdown.

Thanks again.

Greetings

Marco

#11
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
1) They supplement the BIOS SSDT tables. If you have any other SSDT files in ACPI\patched, remove them. Set DropOemSSDT, GenerateCStates, GeneratePStates = No. You can leave the names, Clover will find them.
2) That should be enough. I additionally set things like SerialNumber but i do not believe they are important in this case.
3) Try to disable VT-d in BIOS (Advanced -> CPU Configuration -> Intel Virtualization Technology), you will not need DropDMAR anymore, I think.
4) Advanced -> Onboard Device Configuration -> ASmedia USB 3.0 Controller: Please check again if you disabled it, as it causes problems with proper sleep mode.
5) Do you have any modified system extensions? I see you use an additional driver for the Marvell controller. My board does not have it. Are you sure it is working as it should? I have no experience with this.
6) Did you install the newest Nvidia drivers?
7) Out of curiosity, try this please. Boot -> UEFI/Legacy Boot: Disable Legacy. If it does not boot, set PCI ROM Priority: EFI Compatible ROM.

EDIT:
One thing I am curious about. If everything else fails, please try to boot without a DSDT file and see if Sleep works. Thanks.

Edited by k3nny, 09 February 2013 - 11:34 AM.


#12
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
Thank you for reply,
1) OK, i tried, but only 16 - 34 steps :-(
2) OK
3) VT-D disabled, but without DMAR the system won't boot (it's not a problem)
4)-5) AsMedia and Marvell disabled, deleted kext marvell, sleep not work :-(
6) Drivers originals by Apple
7) Tried, system boot fine, integrated HD4000 graphics work with wrong resolution (see this) sleep not work :-(
Tried boot without DSDT, HD4000 not recognized, Gtx650 OK, sleep not work :-(

I don't know which way to turn :help:

#13
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
1) Can you please upload an ioreg when using my SSDT files?
6) I don't have an Nvidia card and don't have experience with installing them but I think there is a driver package available at nvidia.com. Probably you meant the same :)

Did you try using the _PTS method from my DSDT?

Hm, you didn't try one thing yet: 10.8.3. That might be the solution.

#14
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
Hi,
Official nVidia drivers are for Mac Pro 3,1, i don't install this because the boot fail with my SMBIOS.
I don't tried method _PTS from your DSDT, as soon as I can, I try it.
At the very least, wait for the update

Wow, App Store notify me an update: Firmware EFI for iMac last 2012...

Thank you

Attached Files



#15
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
It will place a Firmware.scap in your EFI partition but will not be able to apply the update. Just hide it when it appears again.

I believe I read that you must delete the AppleTYMCE.kext when using a MacPro SMBIOS.

#16
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana

I believe I read that you must delete the AppleTYMCE.kext when using a MacPro SMBIOS.


Only for versions 4,1 and 5,1 (in first install, i using 3,1)

#17
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 538 posts
  • Gender:Male
Did a mistake with the DTGP method in the SSDTs. They should work now :-)

Edited by k3nny, 10 February 2013 - 04:02 PM.


#18
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana

Did a mistake with the DTGP method in the SSDTs. They should work now :-)

Yeah,
finally i see 4 steps (12 37 38 39), but now I'm at work until tomorrow and I can not give you more informations;
in ioreg I see 8 values in P-states and C-states, I can just attach the new ioreg and do a test for sleep:
Thanks :thumbsup_anim:
P.S. I apologize again for my bad english, now i have not used Google Translate...

#19
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
EFI update = SMBIOS.plist is using older identifier.

#20
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 5,980 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana

EFI update = SMBIOS.plist is using older identifier.


Hi all,
@ LatinMcG:
Thank you for clarification

@ K3nny:
I did some quick tests, I haven't modified DSDT because I haven't got time, we'll talk about it in a couple of days.
I attach Bootmessages, an image of MSRDumper and the new ioreg.

Thank you very much for the aid

Attached Files







Also tagged with one or more of these keywords: asus, p8z77-v lk, dsdt, guide


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy