Contribute
Register

MSI GS70 - Audio, graphics and sleep

Status
Not open for further replies.
Joined
Sep 27, 2012
Messages
41
Motherboard
MSI GS70
CPU
Intel Core i7 4710HQ @ 2.50 Ghz
Graphics
GTX 870m / Intel HD4600 Mobile
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Good morning all,

I've been talking to Rehabman in a thread that originally was about a completely different subject than that we are talking about 7 pages later. So I decided to create a new thread to keep things clean.

I have an MSI GS70 laptop with an Intel Core i7 4710HQ in combination with 16GB of ram, ALC892 audio, GTX 870M 3GB and Intel Graphics HD 4600. I'm aware of the fact that Optimus simply isn't going to work so I have disabled the Nvidia card in my BIOS.

Currently I have a nicely working 10.10.3 Hackintosh but I would love to have a couple of things fixed:
  • My LVDS only shows what looks like 16-bit colors. As I am a graphic designer I need this issue fixed. The 9mb framebuffer patch doesn't change anything.
  • Connecting an HDMI screen works. Connecting a DisplayPort screen works. Connecting an HDMI monitor and a DisplayPort monitor at the same time freezes OSX for about 10 seconds before rebooting. I always work with 2 external monitors and my LVDS for work. (I have 1 HDMI port and 2 DisplayPorts)
  • My audio kind of works with Toleda's ALC892 driver. But hot-plugging doesn't work, only 1 of my 2 internal speakers work, sounds dull (bass seems low) and HDMI audio doesn't work. Similar results are achieved with several other patched AppleHDA's and VoodooHDA's.
  • Sleep doesn't work. Beast goes asleep fine, but never wakes up (locks up, can't even ping the machine after 'wake'. Black screen).

I have extracted and patched my DSDT and SSDT's with Rehabman's guide. I followed Rehabman's guide for power management which works fine. I have also implemented Rehabman's Backlight control fix which also works great.

I would love to see if we can fix these issues. I'm excited about having a powerful mobile hackintosh working, and if we can fix these 4 points I would be forever grateful.

Attached is my Patchmatic output, current Clover config.plist, audio codec dumps from Linux and my IOreg. If anybody needs any more information please let me know.

I would like to sincerely thank Rehabman's effort so far in helping me. It's amazing how much patience, knowledge and heart this man has.

Thanks again and have a nice day,
Bas
 

Attachments

  • GS70.zip
    679.3 KB · Views: 173
Last edited:
Good morning all,

I've been talking to Rehabman in a thread that originally was about a completely different subject than that we are talking about 7 pages later. So I decided to create a new thread to keep things clean.

I have an MSI GS70 laptop with an Intel Core i7 4710HQ in combination with 16GB of ram, ALC892 audio, GTX 870M 3GB and Intel Graphics HD 4600. I'm aware of the fact that Optimus simply isn't going to work so I have disabled the Nvidia card in my BIOS.

Currently I have a nicely working 10.10.3 Hackintosh but I would love to have a couple of things fixed:
  • My LVDS only shows what looks like 16-bit colors. As I am a graphic designer I need this issue fixed. The 9mb framebuffer patch doesn't change anything.
  • Connecting an HDMI screen works. Connecting a DisplayPort screen works. Connecting an HDMI monitor and a DisplayPort monitor at the same time freezes OSX for about 10 seconds before rebooting. I always work with 2 external monitors and my LVDS for work. (I have 1 HDMI port and 2 DisplayPorts)
  • My audio kind of works with Toleda's ALC892 driver. But hot-plugging doesn't work, only 1 of my 2 internal speakers work, sounds dull (bass seems low) and HDMI audio doesn't work. Similar results are achieved with several other patched AppleHDA's and VoodooHDA's.
  • Sleep doesn't work. Beast goes asleep fine, but never wakes up (locks up, can't even ping the machine after 'wake'. Black screen).

I have extracted and patched my DSDT and SSDT's with Rehabman's guide. I followed Rehabman's guide for power management which works fine. I have also implemented Rehabman's Backlight control fix which also works great.

I would love to see if we can fix these issues. I'm excited about having a powerful mobile hackintosh working, and if we can fix these 4 points I would be forever grateful.

Attached is my Patchmatic output, current Clover config.plist, audio codec dumps from Linux and my IOreg. If anybody needs any more information please let me know.

I would like to sincerely thank Rehabman's effort so far in helping me. It's amazing how much patience, knowledge and heart this man has.

Thanks again and have a nice day,
Bas

Use config.plist from guide: http://www.tonymacx86.com/yosemite-...oting-os-x-installer-laptops-clover-uefi.html

HDMI-audio on Haswell has several requirements:
- the device at address 0x00030000, usually called B0D3, must be renamed to HDAU
- the resulting HDAU device must be recognized by AppleHDAController (config.plist patches required if not natively recognized... or you can use FakePCIID_Intel_HDMI_Audio.kext)
- your framebuffer must be patched for HDMI-audio (there are patches in my default config.plist (disabled) files: https://github.com/RehabMan/OS-X-Clover-Laptop-Config). It is trial/error to determine which port your HDMI is connected (actually, they are positional and you can tell by looking at ioreg).
- patched AppleHDA is required (sometimes VoodooHDA works, but my experience has been not good)
- you have to inject "hda-gfx"="onboard-1" for IGPU/HDEF/HDAU objects. This is usually done with DSDT/SSDT edits (_DSM methods)

Your config needs work:
- GFX0 (should be renamed to IGPU) is missing "hda-gfx"
- HDEF is missing "hda-gfx"
- HDM0 needs rename to HDAU, it has already "hda-gfx" injection (likely from your config.plist)
- because HDM0 is device-id 0c0c (not recognized natively), you'll need FakePCIID_Intel_HDMI_Audio.kext
- the framebuffer has a patch for HDMI-audio, but it is on the wrong connector
- there are framebuffer patches you can enable in my repo

As for sleep, first clean up your install. I see non-essential things already installed (com.driver.LogJoystick). Make sure hibernation is disabled (sudo pmset -a hibernatemode 0).

Patchmatic output is missing DSDT.aml.
 
Thank you for your reply. What would you recommend me to fix first?

EDIT: Re-uploaded ZIP with DSDT.aml
 
Thank you for your reply. What would you recommend me to fix first?

EDIT: Re-uploaded ZIP with DSDT.aml

Start with a different config.plist. I'd work on sleep first, but you can choose any order...
 
Okay. I have taken your 4600 config from your repo, adjusted it and tried everything. It's now all working with a clean install.

I can't see com.driver.LogJoystick anywhere. Is it supposed to be a kext?

Nothing changed in the sleep situation though. Let's try to get sleep/wake to work first. What is the next step?

I have attached the updated files.
 

Attachments

  • MSI GS70.zip
    496 KB · Views: 116
...
I can't see com.driver.LogJoystick anywhere. Is it supposed to be a kext?

It is something you installed.

You removed SortedOrder. It is required with multiple SSDTs in ACPI/patched. You're getting lucky that your SSDTs are loading in the correct order right now...

You should not inject kexts for your main install. Install everything needed to /S/L/E.

Since you're including all OEM SSDTs, you must set ACPI/SSDT/Generate=false. The default is true.


Nothing changed in the sleep situation though. Let's try to get sleep/wake to work first. What is the next step?

You may have an issue with IAOE references from DSDT (_PTS and _WAK). IAOE is not defined in any SSDT that is loaded (patchmatic output). I dealt with the same issue on my u430 and fixed with patches/iaoe.txt: https://github.com/RehabMan/Lenovo-U430-Touch-DSDT-Patch
 
Funny thing is, if I use SortedOrder my Intel Grahics doesn't kick in anymore and I'm stuck with my 3MB Display again.

Screen Shot 2015-05-04 at 23.22.39.png

It does the same thing if I put DSDT.aml before the rest.
 
Funny thing is, if I use SortedOrder my Intel Grahics doesn't kick in anymore and I'm stuck with my 3MB Display again.

View attachment 136283

It does the same thing if I put DSDT.aml before the rest.

DSDT.aml does not go in SortedOrder. SortedOrder is only for SSDTs.

And details matter...

Look closely at your bootlog:
Code:
3:421  0:001  Inserting SSDT.aml from EFI\CLOVER\ACPI\patched ... Success
3:423  0:001  Inserting [B]SSDT1.aml[/B] from EFI\CLOVER\ACPI\patched ... Success
3:424  0:001  Inserting SSDT2.aml from EFI\CLOVER\ACPI\patched ... Success
3:426  0:001  Inserting SSDT3.aml from EFI\CLOVER\ACPI\patched ... Success
3:428  0:001  Inserting SSDT4.aml from EFI\CLOVER\ACPI\patched ... Success
3:429  0:001  Inserting SSDT5.aml from EFI\CLOVER\ACPI\patched ... Success
3:431  0:001  Inserting SSDT6.aml from EFI\CLOVER\ACPI\patched ... Success

Your files in ACPI/patched do not have a dash... eg. SSDT1.aml not SSDT-1.aml.

Now look at the file names in your SortedOrder specification. I think you should see your mistake clearly now.
 
OK sorry I'm embarrassed now.

Booting fine now. I have applied your patch to my DSDT. No change in wake though. I have also noticed that going to sleep takes like 20 seconds. It's that supposed to be pretty much instant? (Or a few seconds?)

What can I do next?

Attached the usual files again
 

Attachments

  • MSI GS70.zip
    492.9 KB · Views: 101
Last edited:
OK sorry I'm embarrassed now.

Booting fine now. I have applied your patch to my DSDT. No change in wake though. I have also noticed that going to sleep takes like 20 seconds. It's that supposed to be pretty much instant? (Or a few seconds?)

What can I do next?

Attached the usual files again

Your bootloader is still generating CState/PState SSDTs.

Generate should be a Boolean type set to false. Not a string set to 'false'. It can also be a string type with the first character not 'y' or 'Y'.

Note Clover code:
Code:
BOOLEAN
IsPropertyTrue (
  TagPtr Prop
  )
{
  return Prop != NULL &&
        ((Prop->type == kTagTypeTrue) ||
        ((Prop->type == kTagTypeString) && Prop->string &&
          ((Prop->string[0] == 'y') || (Prop->string[0] == 'Y'))));
}

Also, check BIOS settings. Disable weird stuff (TPM, etc.)

You still have that joystick driver loaded. I would eliminate all unnecessary software. Test with no external devices plugged in. Do a fresh install if needed.

Note that PNOT should not be patched when using OEM CPU PM SSDTs.

You have unpatched multi-byte EC fields. Refer to battery patch thread for details. If those fields are accessed, they will cause ACPI abort, which will lead to strange things.

Make sure your ACPI files were patched based on a recent extract with the exact BIOS version, hardware configuration, and BIOS options you have now. If not, re-extract, re-patch.

Eliminate non-essential drivers or make sure you have up-to-date versions.

You're still injecting kexts. Read what I wrote in my prior post.
 
Status
Not open for further replies.
Back
Top