Jump to content
ahmed_ais

Guide for Installing OS X on Lenovo IdeaPad Y510p

1,395 posts in this topic

Recommended Posts

...The words by Rehabman -- while most of it are suggestions I believe -- may not be very accurate

My words are suggestions for additional research based on theory. Like all theory, it must be tested.

 

because I'm not sure how the OS would need to re-initialize graphics just to turn off display then on (display sleep)

With the display off, the entire graphics subsystem can be shutdown to conserve power. Macs don't have great battery life without taking every opportunity to conserve power.

 

and the same goes for screen-saver and changing resolution.

Note that I was presented only with the post-display sleep/post-sleep symptoms...

 

If you have some issue post screen saver, that may point to some other issue...

Share this post


Link to post
Share on other sites
Advertisement

Note that I was presented only with the post-display sleep/post-sleep symptoms...

 

If you have some issue post screen saver, that may point to some other issue...

 

I actually never used screen saver and disabled it completely. But i'll try to reproduce it with screen-saver on. Give me 5 mins.

Share this post


Link to post
Share on other sites

It seems that screen saver prefs doesn't respect my settings. I changed the screen saver time from never to 1 min and it did not activate after 1 min. I had to reboot to actually register that setting. 

Coming to the point, the screen saver doesn't seem to affect the display problem. Simply stated, the screensaver works as usual and no graphics glitch whatsoever occurred.

Share this post


Link to post
Share on other sites

Coming to the point, the screen saver doesn't seem to affect the display problem. Simply stated, the screensaver works as usual and no graphics glitch whatsoever occurred.

 

I highly doubt that. But tell me when you activate screen saver then return from it, are you able to restart???

 

Edit:

I take that back. This used to be a way to replicate the problem but not anymore ... I'm using the latest FakePCI*.kext so I think something is fixed along the way.

Share this post


Link to post
Share on other sites

 

.....Waking system from sleep normally goes to log-in screen where there is a button to Cancel which should return it to sleep again but it does not............

 

This is from the bug section.

 

If you goto "Security & Privacy" in System prefs, under General tab you can see "require password in ....." change that to either immediately or 5 secs. You can see login screen after wake.

Share this post


Link to post
Share on other sites

This is from the bug section.

 

If you goto "Security & Privacy" in System prefs, under General tab you can see "require password in ....." change that to either immediately or 5 secs. You can see login screen after wake.

 

Nice one, I never notice this before. Thanks!

Share this post


Link to post
Share on other sites

With the patched ACPI tables or without them, the current graphics fix will insure the problems exist. However, without the graphics fix no problem ... I tend to believe it is not something missing in our _WAK or PNLF._BCM rather than a missing patch to complete the graphic fix ... I may be wrong but I hope not!

Share this post


Link to post
Share on other sites

With the patched ACPI tables or without them, the current graphics fix will insure the problems exist. However, without the graphics fix no problem ... I tend to believe it is not something missing in our _WAK or PNLF._BCM rather than a missing patch to complete the graphic fix ... I may be wrong but I hope not!

You simply cannot compare results with/without the Haswell graphics fix (FakePCID+device-id=0412).

 

Without the fix, QE/CI would be disabled and you'd be using VESA graphics drivers.

 

If you're talking about disabling only part of the fix, then you should clarify.

Share this post


Link to post
Share on other sites

You simply cannot compare results with/without the Haswell graphics fix (FakePCID+device-id=0412).

 

Without the fix, QE/CI would be disabled and you'd be using VESA graphics drivers.

 

If you're talking about disabling only part of the fix, then you should clarify.

 

I recently noticed something. With the fix (FakePCIID+FakeDeviceID+ig-platform-id) applied i have full QE/CI but in the login screen & launchpad (after a cold boot or reboot doesn't matter) i can see the 16-bit gradients barely but visible. I don't know how to post the image because its barely visible and my cam isn't picking up those details. To @ahmed try setting the "frog" as your wallpaper and see.

 

So why does this only affect login, launchpad & notification center but not other things?

 

EDIT: like this image http://oi60.tinypic.com/2sb2645.jpg

Share this post


Link to post
Share on other sites

I recently noticed something. With the fix (FakePCIID+FakeDeviceID+ig-platform-id) applied i have full QE/CI but in the login screen & launchpad (after a cold boot or reboot doesn't matter) i can see the 16-bit gradients barely but visible. I don't know how to post the image because its barely visible and my cam isn't picking up those details. To @ahmed try setting the "frog" as your wallpaper and see.

 

So why does this only affect login, launchpad & notification center but not other things?

 

EDIT: like this image http://oi60.tinypic.com/2sb2645.jpg

 

Regarding why, the gradients will mostly appear on translucent areas more than totally opaque areas. I can confirm that for a while I started to see these gradients even without display sleep (but as you say barely visible). I don't see this going anywhere so I guess I will focus mostly on Nvidia instead of Intel.

 

I tried again to get it to recognize the VRAM but was not successful with all FakeID combinations I know of ...

About.png

The first entry is for the built-in card with VRAM 0MB ...

Card1.png

The second entry is for the ultrabay card and frankly OS X recognizes its full VRAM though it will not utilize it:

Card2.png

This will need some effort to get it working ... at least we may need a specific FakeID with specific SMBIOS. I'm busy at the moment with my work so maybe I will look into it next week.

Share this post


Link to post
Share on other sites

 

Regarding why, the gradients will mostly appear on translucent areas more than totally opaque areas. I can confirm that for a while I started to see these gradients even without display sleep (but as you say barely visible). I don't see this going anywhere so I guess I will focus mostly on Nvidia instead of Intel.

 

I tried again to get it to recognize the VRAM but was not successful with all FakeID combinations I know of ...

 

The first entry is for the built-in card with VRAM 0MB ...

 

The second entry is for the ultrabay card and frankly OS X recognizes its full VRAM though it will not utilize it:

 

This will need some effort to get it working ... at least we may need a specific FakeID with specific SMBIOS. I'm busy at the moment with my work so maybe I will look into it next week.

 

Can you give me some directions on how I would go about switching to NVidia and getting to boot with dual GPUs in? My install won't boot. But if you give me the info, as well as which settings you would like me to cycle through, I would be glad to install the right kexts, boot, and try a list of 100 PCI IDs one by one and report results. Let me know how I would go about doing this though. I can't get a proper config to boot with both NVidia's in.

Share this post


Link to post
Share on other sites

Can you give me some directions on how I would go about switching to NVidia and getting to boot with dual GPUs in? My install won't boot. But if you give me the info, as well as which settings you would like me to cycle through, I would be glad to install the right kexts, boot, and try a list of 100 PCI IDs one by one and report results. Let me know how I would go about doing this though. I can't get a proper config to boot with both NVidia's in.

 

If you want to test-drive booting with Nvidia only (assuming you have the ultrabay card plugged in), you can with these settings (all from clover interface):

  • Disable dropping any table (i.e. use native tables because Nvidia will not be happy with IGPU patches)
  • Inject Nvidia
  • Inject EDID
  • FakeID: 0x10DE0FE9
  • Add boot-flag: nvda_drv=1
  • Boot without caches
  • Recommended SMBIOS: iMac 14.2 because it have the card already so should be supported

This should boot OS X with both Nvidia cards recognized but the built-in with 0 MB for VRAM and the ultrabay with 2048 MB VRAM. 

 

Now there is nothing I would advise you to try because I still don't have a clear idea. I've read somewhere that we should not Inject Nvidia and we should use this flag NVidia=False with clover for it to load the card. I have not have any success with these suggestions though. 

 

What I'm starting to think of is that we should not need any FakeID as the card should be fully recognizable by OS X since the ultrabay card is recognized with full VRAM. So one day we may find that using FakeID for the built-in card is totally wrong. It is not about using driver too, because as I said it should be natively supported as with the ultrabay one (they are almost the same chip).

Share this post


Link to post
Share on other sites

I made a new thread regarding Nvidia card problem: 

 

Help: Fixing Lenovo Y510p Nvidia GT 755M on OS X Yosemite 10.10.2

Hi Ahmed,

 

First of all, thank you so much for your clear language of explaining issues and solutions.  Do you know any way of having the possibility of choosing a different config.list in the boot time in Clover, each with its own setting and proper DSDT.aml file?

 

The idea is being able to use the same install/file system with  each of the cards by selecting a different config.list at boot time?  No, I do not have the possibility of turning on and off the card through BIOS.

 

Artimess

Share this post


Link to post
Share on other sites

Do you know any way of having the possibility of choosing a different config.list in the boot time in Clover, each with its own setting and proper DSDT.aml file?

 

The idea is being able to use the same install/file system with  each of the cards by selecting a different config.list at boot time?

 

As far as I know there is no such possibility. But you can workaround that by using a couple of USB to boot from each having Clover installation with certain settings and ACPI files.

 

No, I do not have the possibility of turning on and off the card through BIOS.

Normally no one have this possibility unless a modded BIOS is used. Only those with the extra graphics card can possibly disable Intel by just connecting the external card which is an automated process and nothing to do with BIOS.

Share this post


Link to post
Share on other sites

DSDT/SSDT AutoPatcher for Y510p

 

Hey guys,

 

I have created a script to auto-patch DSDT/SSDT's automatically.

Just point the script to the directory ( --target/-t ) where your extracted ACPI tables are stored that needs patching.

 

Some details:

 

At first i used this for my purposes only, that is, patching tables extracted from linux. I use a modded BIOS and due to increased settings it was troublesome to patch tables again and again after every setting change. So i made this script.

 

Now i am releasing this script to public. I've changed many things now.

 

For ex. now you can patch tables extracted from any method. Every method has unique naming of ssdt's.

If extracted from linux then ssdt1,ssd2,etc and ssdt6, ssdt7 & ssdt8 inside dynamic folder.

If extracted using clover then ssdt-0, ssdt-1, ssd-2, ssdt3x, ssdt-4x etc.

 

Now the script will look at the contents of SSDT and patch it with required patches. 

 

Also i've added logging system so that you can check afterwards what exactly has been done and if any errors are generated. There are many more changes. Give it a try.

 

NOTE: It is important that you check logs after running the script.

 

Also if you notice any SSDT-x.aml missing from the final "Compiled" folder it is likely that some errors were generated while compiling and thus the compiling is unsuccessful. Although that will not happen but keep a check on logs just to be sure.

 

For more info visit https://github.com/intruder16/Y510p-OS-X

 

Any feedback is appreciated.

 

Enjoy.

Share this post


Link to post
Share on other sites

DSDT/SSDT AutoPatcher for Y510p

 

Hey guys,

 

I have created a script to auto-patch DSDT/SSDT's automatically.

Just point the script to the directory ( --target/-t ) where your extracted ACPI tables are stored that needs patching.

 

Some details:

 

At first i used this for my purposes only, that is, patching tables extracted from linux. I use a modded BIOS and due to increased settings it was troublesome to patch tables again and again after every setting change. So i made this script.

 

Now i am releasing this script to public. I've changed many things now.

 

For ex. now you can patch tables extracted from any method. Every method has unique naming of ssdt's.

If extracted from linux then ssdt1,ssd2,etc and ssdt6, ssdt7 & ssdt8 inside dynamic folder.

If extracted using clover then ssdt-0, ssdt-1, ssd-2, ssdt3x, ssdt-4x etc.

 

Now the script will look at the contents of SSDT and patch it with required patches. 

 

Also i've added logging system so that you can check afterwards what exactly has been done and if any errors are generated. There are many more changes. Give it a try.

 

NOTE: It is important that you check logs after running the script.

 

Also if you notice any SSDT-x.aml missing from the final "Compiled" folder it is likely that some errors were generated while compiling and thus the compiling is unsuccessful. Although that will not happen but keep a check on logs just to be sure.

 

For more info visit https://github.com/intruder16/Y510p-OS-X

 

Any feedback is appreciated.

 

Enjoy.

 

Nice work man. I think this deserves a separate thread to get enough attention.

Share this post


Link to post
Share on other sites

Hey ahmed, do I have to enable KernelPm (Haswell early reboot) in Kernel and Kext Patches section?? In your clover config I see that option disable, however I am not able to boot to yosemite otherwise.

 

Or did you apply the patch directly to the kernel?

 

Thanks, awesome guide by the way.

Share this post


Link to post
Share on other sites

Nice work man. I think this deserves a separate thread to get enough attention.

 

That's a great idea. It will be better for those who are searching for patches and have some ideas as well! Thanks!

 

Hey ahmed, do I have to enable KernelPm (Haswell early reboot) in Kernel and Kext Patches section?? In your clover config I see that option disable, however I am not able to boot to yosemite otherwise.

 

Or did you apply the patch directly to the kernel?

 

Thanks, awesome guide by the way.

 

Yes. No need to patch kernel.

Share this post


Link to post
Share on other sites

That's a great idea. It will be better for those who are searching for patches and have some ideas as well! Thanks!

 

Yep, I will update the guide accordingly to embrace this work and link for your git until you get the thread ready (then I will link to it as well :) ). This work you made is essential part for the guide as all ACPI patches should have been at least listed but your method is way way better.

Share this post


Link to post
Share on other sites

Yep, I will update the guide accordingly to embrace this work and link for your git until you get the thread ready (then I will link to it as well :) ). This work you made is essential part for the guide as all ACPI patches should have been at least listed but your method is way way better.

 

Thanks mate! Appreciated!

 

EDIT: Thread created :)http://www.insanelymac.com/forum/topic/305122-dsdtssdt-auto-patcher-for-lenovo-y510p-ideapad/

 

Also since you'll be updating the guide. A suggestion:

 

I have seen that GenericUSBXHCI has some problems in Yosemite and also the USB 3.0 speeds are not up-to the mark (25 MBps!). So i used Native usb kext with just one patch through clover and it works perfect! (upto 50 MBps)

 

Try this patch with clover :

<dict>
	<key>Comment</key>
	<string>Enable USB3 after wake for Intel 8 series chipset</string>
	<key>Find</key>
	<data>
	xoDIAAAAAQ==
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	xoDIAAAAAA==
	</data>
</dict>

No usb issues until this day!

 

(except usb power off if i unplug my usb wifi)

 

Try it and let me know!

Share this post


Link to post
Share on other sites

Guide updated. Change-log:

  • Removed all DSDT/SSDT patches from the guide in favour of Auto-Patcher by intruder16
  • Updated the already patched ACPI files (some useless tables are removed, and one table is included to allow Optimus disable)

Also since you'll be updating the guide. A suggestion:

 

I have seen that GenericUSBXHCI has some problems in Yosemite and also the USB 3.0 speeds are not up-to the mark (25 MBps!). So i used Native usb kext with just one patch through clover and it works perfect! (upto 50 MBps)

 

Try this patch with clover :

<dict>
	<key>Comment</key>
	<string>Enable USB3 after wake for Intel 8 series chipset</string>
	<key>Find</key>
	<data>
	xoDIAAAAAQ==
	</data>
	<key>Name</key>
	<string>AppleUSBXHCI</string>
	<key>Replace</key>
	<data>
	xoDIAAAAAA==
	</data>
</dict>

No usb issues until this day!

 

(except usb power off if i unplug my usb wifi)

 

Try it and let me know!

 

I will try it and I hope other's do to so any issue could be raised. By the way, have you had any success with this Intel gfx issue?

Share this post


Link to post
Share on other sites

.....I hope other's do to so any issue could be raised.....

 

I doubt it. No feedbacks in this thread.

 

But anyway it seems to work great. The only problem is with usb wifi and i suspect its a usb wifi driver's issue (from debug). Try it coz you don't have any usb wifi. And if you have time try benchmarking usb too. I wanna know if its stable.

 

.......By the way, have you had any success with this Intel gfx issue?

 

Till now nothing.

 

1. DVMT pre-alloc in BIOS does not help.

2. Manually editing framebuffer does not either.

 

Two ideas where there may be a fix (searched a lot on forums and this will fix most of the issues)

 

1. Using custom EDID (especially gradients)

2. Dumped intel registars in linux, windows and mac. I have to study them (it'll take some time i have no idea).

 

Also i have been meaning to ask you this. You have tried Mavericks with this laptop too, right? Were the same problems with display existed back then? If not then maybe rollback AppleIntel kexts to previous versions will help (temporary fix of course).

 

I really wish somebody else should try then it'll be fixed way faster but nobody's interested i think. There are a lot of things that can be done but it'll take very long.

 

Also there are many things that should be fixed (DSDT fixes):

 

1. LID detection does not work.

2. FAN is not detected - only rpm speed. (NOT fan control coz that would never work )

3. other's i don't remember now.

 

They are easy to fix. But i'm amazed nobody said anything.

Share this post


Link to post
Share on other sites

Till now nothing.

 

1. DVMT pre-alloc in BIOS does not help.

2. Manually editing framebuffer does not either.

 

Two ideas where there may be a fix (searched a lot on forums and this will fix most of the issues)

 

1. Using custom EDID (especially gradients)

2. Dumped intel registars in linux, windows and mac. I have to study them (it'll take some time i have no idea).

 

Also i have been meaning to ask you this. You have tried Mavericks with this laptop too, right? Were the same problems with display existed back then? If not then maybe rollback AppleIntel kexts to previous versions will help (temporary fix of course).

 

I really wish somebody else should try then it'll be fixed way faster but nobody's interested i think. There are a lot of things that can be done but it'll take very long.

 

Also there are many things that should be fixed (DSDT fixes):

 

1. LID detection does not work.

2. FAN is not detected - only rpm speed. (NOT fan control coz that would never work )

3. other's i don't remember now.

 

They are easy to fix. But i'm amazed nobody said anything.

 

I had Mavericks installed few times back when I started experimenting OS X on Y510p.  I didn't see the issue with Mavericks initially because I had more concerns to get a basic installation of OS X running so I was busy trying to fix other stuff. Later on when I start using Yosemite I found this issue and at one time I thought to try Mavericks kexts which didn't do it. I thought to return to Mavericks permanently but then I remember I saw the same issue as well though not much noticeable since Mavericks does not use much translucency as Yosemite.

 

Anyway, I think we have to work together, I was hoping for a collaboration as I told you before but it seems everyone is researching something different. 

 

You are keen to get Intel gfx fixed which should be perfect if fixed. I'm looking into ways to get nvidia working as main display adapter for two reasons:

  1. Intel gfx is not fixed yet so sleep is broken among other defects. There doesn't seem to be interest from much people to get their hand dirty and try to fix it.
  2. Those who have ultrabay nvidia card suffer to take it out every time to boot OS X. An alternative is to keep it out and only connect it in case there is a benefit from an extra GPU (like a game that support SLI or some CUDA work). This would leave the slot empty and the laptop would be prone to dust and it is not beauty. We could buy a hard disk caddy to close the space even if not utilised by HDD/SSD but all this defy the reason to have ultrabay GPU in the first place!

You are right about LID detection but it is of no use if sleep is broken because of Intel gfx !! I also don't know if the card reader is working or not, I never tested it. All in all, yes there are more things to consider but we should have priorities. Fixing AppleHDA and HDMI audio was a good steps but was not the most urgent. After all, this is a hackintosh and not a mac so it wouldn't be a surprise if somethings are not working in the correct way and we should be fine as long as workaround or alternative ways exist. But the graphics issue is really urgent problem so I would not think about any other thing until I get it fixed (either Intel or nvidia).

 

I also want to add that fixing Intel gfx has privilege to me over nvidia because all Y510p have Intel gfx. Having a perfectly working Intel gfx under OS X while using a caddy for those with ultrabay GPU is better than having working nvidia but nothing for non-ultrabay GPU users and of course better than having none working!

 

So I will leave the work on nvidia for now and focus more on Intel. And let's start where you currently at by saying flashing modded BIOS didn't help fixing the issue. As far as I understand it only made you more confident that there's something not correct (for OS X) with the hardware and how it is configured especially since changing DVMT pre-alloc affected the problem (even if the effect is just in the worst direction).

 

Let's try the two suggestions you stated and see where would we be at.

Share this post


Link to post
Share on other sites

I had Mavericks installed few times back when I started experimenting OS X on Y510p.  I didn't see the issue with Mavericks initially because I had more concerns to get a basic installation of OS X running so I was busy trying to fix other stuff. Later on when I start using Yosemite I found this issue and at one time I thought to try Mavericks kexts which didn't do it. I thought to return to Mavericks permanently but then I remember I saw the same issue as well though not much noticeable since Mavericks does not use much translucency as Yosemite.

 

Anyway, I think we have to work together, I was hoping for a collaboration as I told you before but it seems everyone is researching something different. 

 

You are keen to get Intel gfx fixed which should be perfect if fixed. I'm looking into ways to get nvidia working as main display adapter for two reasons:

  1. Intel gfx is not fixed yet so sleep is broken among other defects. There doesn't seem to be interest from much people to get their hand dirty and try to fix it.
  2. Those who have ultrabay nvidia card suffer to take it out every time to boot OS X. An alternative is to keep it out and only connect it in case there is a benefit from an extra GPU (like a game that support SLI or some CUDA work). This would leave the slot empty and the laptop would be prone to dust and it is not beauty. We could buy a hard disk caddy to close the space even if not utilised by HDD/SSD but all this defy the reason to have ultrabay GPU in the first place!

You are right about LID detection but it is of no use if sleep is broken because of Intel gfx !! I also don't know if the card reader is working or not, I never tested it. All in all, yes there are more things to consider but we should have priorities. Fixing AppleHDA and HDMI audio was a good steps but was not the most urgent. After all, this is a hackintosh and not a mac so it wouldn't be a surprise if somethings are not working in the correct way and we should be fine as long as workaround or alternative ways exist. But the graphics issue is really urgent problem so I would not think about any other thing until I get it fixed (either Intel or nvidia).

 

I also want to add that fixing Intel gfx has privilege to me over nvidia because all Y510p have Intel gfx. Having a perfectly working Intel gfx under OS X while using a caddy for those with ultrabay GPU is better than having working nvidia but nothing for non-ultrabay GPU users and of course better than having none working!

 

So I will leave the work on nvidia for now and focus more on Intel. And let's start where you currently at by saying flashing modded BIOS didn't help fixing the issue. As far as I understand it only made you more confident that there's something not correct (for OS X) with the hardware and how it is configured especially since changing DVMT pre-alloc affected the problem (even if the effect is just in the worst direction).

 

Let's try the two suggestions you stated and see where would we be at.

 

I agree. But if for a moment we forget about gfx problem then as far as sleep goes, its perfect no problem at all with sleep! it works as it should. But the reason i am not putting my laptop to sleep is i am afraid that the gfx issue would have adverse effects on LCD. That's the only reason keeping me away from sleep and trying to fix it. Because you know after sleep->restart the display does not initialize at all. That in my opinion is a major issue (as u pointed).

 

Why i want intel gfx to work is only one reason: OS X is already running flawless with intel gfx. It doesn't need nvidia (nobody's going to game on this). Disabling nvidia saves battery & makes laptop runs cooler. But as you pointed out SLI is a pain in the a**.

 

Also, the fix for the lid is this:

 

In your DSDT search for device "LID0" and then remove the following:

Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
{
    0x1F, 
    0x03
})

What this will do is, if you close the lid the laptop will go to sleep as it should, but the problem is it doesn't wake up automatically with lid open (which it should). It wakes up fine if you press any key or click mouse button. This is a minor problem (easy to fix) but i'm happy with it as it is. After gfx issue is fixed i'll try to make this work too.

 

Sorry but i cannot withstand bugs. Now i'll focus more on gfx issue since you'll be doing that too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×