Jump to content

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


169 posts in this topic

Recommended Posts

Extract it using Linux, or AIDA64. Gigabyte and Lenovo are 2 different companies here, so their technology might differ

Would you kindly point me how to dump it using AIDA64? I'm trying with the extreme version and can only view VBIOS info but not able to dump them.

 

PS: I used nvflash tool to dump the VBIOS for the second Nvidia GPU (the external) but it refused to extract the one for the internal. The VBIOS extracted for the external GPU is the same as the supplied by Lenovo (which only supply the firmware for the external/2nd card).

 

Gigabyte and Lenovo are 2 different companies here, so their technology might differ

Yea but lets hope for the best ...

 

EDIT:

I found how to dump the VBIOS using AIDA64. However, it only dump the VBIOS for the 2nd GPU and not the first. This is driving me insane!

Okay, so I tried using "nvagetbios" from envytools (https://github.com/envytools/envytools) and I extracted using both methods for card 0, and that didn't work. Extracting for card1 does work. It says in the docs that extracting with the card in use by the driver will not work. I will try using SSH to connect to my laptop and dump it with the NVidia card not in use. See if that works.

 

EDIT: I also found this: http://forum.techinferno.com/lenovo-ibm/4668-lenovo-y410p-y510p-unlocked-bios-wlan-whitelist-mod-vbios-mod.html#post65200 Will try that as well.

Okay, so the above methods didn't work. I tried dumping both from headless Linux with the driver unloaded and from NVFLASH from a DOS boot drive. NVFLASH gave me some errors which got me to some info on the VBIOS possibly being packed in the BIOS, something I think you guys also mentioned. So, I dumped the BIOS using PhoenixTools and found several VBIOSes.

 

I found 7 VBIOS files packed inside the BIOS. Of those, 3 were duplicates with the exception of a header. For some reason, 3 of them had an exact duplicate of the other file but with a few bytes before the 55AA BIOS header. The one that didn't have a copy was just one with the extra bytes in the header so I removed those. I also included the dump from my external GT755M.

 

The files are in the following ZIP: https://mega.co.nz/#!1QATCaaA!TbbkKTQtoLDX0c7QRu-ufezperiLF0RMmoGM78TqZYM

 

The included files are:

 

-rwxr--r--  1 user  staff   95744 Jun 12 23:39 DUMPED_FROM_EXTERNAL_GK107_2044nb751_80.07.A8.00.32.rom  <---- This is from the external card

-rwxr-xr-x  1 user  staff  162816 Jun 12 23:19 GK107_2044nb3q_80.07.9D.00.3C.rom

-rwxr-xr-x  1 user  staff   95744 Jun 12 23:22 GK107_2044nb751_80.07.A8.00.0F.rom

-rwxr-xr-x  1 user  staff  162816 Jun 12 23:24 GK107_2044nb751_80.07.A8.00.2E.rom

-rwxr-xr-x  1 user  staff   60416 Jun 12 23:40 REMOVED_LEADING_BYTES_GK107_2044nb3q_80.07.9D.00.06.rom <--- This is the VBIOS that didn't have a matching file without the prepended bytes.

 

I am now looking for a way to specify a VBIOS for each card in Clover. I think that we need to set separate VBIOSes for each card. Is this possible with the current Cloevr? I'm also trying to find out which VBIOS my current internal GPU is using. I think CPU-Z might tell me on Windows.

 

EDIT: I actually found more VBIOSes, these were the ones containing the string "NVIDIA". I also found several Intel VBIOSes.

To add to the above, that is all extracted from the v3.05 BIOS downloaded from the Lenovo site (http://download.lenovo.com/consumer/mobiles/5dcn34ww.exe). I also booted Windows and found the following info with HWiNFO64:

 

NVIDIA Geforce GT 755M #0 is running 80.07.A8.00.32 rev A1 located at PCI 7:00:0

NVIDIA Geforce GT 755M #1 is running 80.07.A8.00.2E rev A1 located at PCI 1:00:0

 

The hardware ID for both cards is PCI\VEN_10DE&DEV_0FCD&SUBSYS_380017AA&REV_A1 so not easy to distinguish. The only way would be by PCI location.

 

If this works the same as that other laptop, then all we probably need is a proper config.plist that loads the right VBIOS for the right card, and the proprietary NVIDIA driver and we're set. I've got the NVIDIA driver loaded, I just need to play around with the config.plist tomorrow. If any of you beat me to it, please post ASAP. I'm excited to see this working for everyone.

 

 

EDIT: I just realized my dumped file named as dumped from the second card is labeled as the version marked for the first card in this post. Will verify in Windows. Unless someone else can. 

EDIT2: So, in the list above, card #0 in HWiNFO64 was actually the secondary. I think it's safe to assume that, at least on my laptop, 80.07.A8.00.2E is the correct VBIOS to use. I tried playing with the config mentioned above (web driver, nvda_drv=1, VBIOS inject, NVidia Inject, place VBIOS file in Clover), but I couldn't get it to boot properly. I am a bit tired though. I can't tell if I've done it right.

EDIT2: So, in the list above, card #0 in HWiNFO64 was actually the secondary. I think it's safe to assume that, at least on my laptop, 80.07.A8.00.2E is the correct VBIOS to use. I tried playing with the config mentioned above (web driver, nvda_drv=1, VBIOS inject, NVidia Inject, place VBIOS file in Clover), but I couldn't get it to boot properly. I am a bit tired though. I can't tell if I've done it right.

 

Thanks for your work. I might not be able to tell if you made the dumping correctly or not, I myself had hard time doing it and still not successful. But are you saying you were not able to even boot? try nv_disable=1 (yes it doesn't make sense).

Thanks for your work. I might not be able to tell if you made the dumping correctly or not, I myself had hard time doing it and still not successful. But are you saying you were not able to even boot? try nv_disable=1 (yes it doesn't make sense).

I tried and it dumped correctly and I even got it to load the VBIOS and show it in the System Report or whatever it's called, but still 0MB. I don't know that I did everything right though. You can dump the VBIOS yourself.  Use the download link from my previous post, then use WinRAR to extract the BIOS installer EXE, use PhoenixTools to extract the parts of the BIOS into a directory, take that directory to Linux or OS X, and search all the files for the string "VGA" and keep those files, then search all the files for the string "NVIDIA" and keep those files. Then use a HEX editor to verify the different versions of the VBIOS. They all start with AA55 so I'm pretty sure they dumped properly.

 

I got the machine to boot with a bunch of changes to the config.plist. I will upload my NVIDIA config.plist later today ( don't have the machine right now ). This may be a dead-end, which would be really disappointing. One thing I didn't try, is to install the CUDA drivers. That might help push one of the graphics cards in to 3D accelerator (compute device/whatever) mode, and that might let the other one work as a graphics card.

 

EDIT: I remember sometimes the NVIDIA card booted with 7MB and sometimes with 0MB. I think I need to get it to boot with 7MB and VBIOS and that will prob get us QE+CI. However, with my current config, I can only get 0MB. Can anyone get that 7MB state and want to try my VBIOS dumps? I put mine in /Volumes/EFI/EFI/CLOVER/ROM/10de_0fce.rom or something like that.

I can say that mine is booting with 7MB, but I am a little dumb for such an experiments :)

Download the ZIP from my last post, find the file that has the VBIOS version ending in 23, mount your EFI partition using Clover (it should ask you to do it when you open Clover), copy the file to /Volumes/EFI/EFI/ROM/ with the filename 10de_0fce.rom and reboot. Check System Report or whatever it's called in the Mac menu, and then go to the details screen and check your video adapters. It should say the VBIOS version instead of 1 or 1.0 if it worked.

No one here have success with this stuff? I got the VBIOS version to show up, but still 0MB on the card. However, I can't get it to the state where it had 7MB showing. I figure it would prob go from 7MB to 2048MB with the VBIOS. I can't really tell though. Also, I didn't try having both VBIOSes.

No one here have success with this stuff? I got the VBIOS version to show up, but still 0MB on the card. However, I can't get it to the state where it had 7MB showing. I figure it would prob go from 7MB to 2048MB with the VBIOS. I can't really tell though. Also, I didn't try having both VBIOSes.

 

I have not had time to try. But the one thing that makes me doubtful about the whole issue is that OS X should read Nvidia card connected to "built-in" display and this is not the case. My previous experiment showed that the card is read as connected to 30.5" external display as in post #35. This could mean the built-in Nvidia GPU is routed through IGPU after all which is a bummer but I am not sure. 

... and secondly I don't know how to disable hd graphics? 

 

There is no option for disabling it (at least with the default BIOS). Just plug in the second Nvidia GPU and Intel GPU will just disappear (not sure if it will be disabled).

There is no option for disabling it (at least with the default BIOS). Just plug in the second Nvidia GPU and Intel GPU will just disappear (not sure if it will be disabled).

The weird thing is that if I plug in my second card, I can't boot into OS X, it just reboots before logging. BTW I am using config.plist that you attached on your tutorial.

The weird thing is that if I plug in my second card, I can't boot into OS X, it just reboots before logging. BTW I am using config.plist that you attached on your tutorial.

 

It is totally normal and not weird at all. There are differences between booting with IGPU and Nvidia. Try to boot using the USB installer (if you still have it) and ignore anything Intel GPU related (like: don't inject Intel). Try injecting/or not injecting Nvidia and also try nv_disable=1 boot-flag (weird but try it). 

The weird thing is that if I plug in my second card, I can't boot into OS X, it just reboots before logging. BTW I am using config.plist that you attached on your tutorial.

So, if you go read through the posts in this thread you'll get all the info you need. 1st page shows you how to boot with NVIDIA graphics, further down there's a post about how to get it to work with both NVIDIA and Intel, and then on page 4 there should be posts by me with the VBIOS included. At a minimum, configure your config.plist based on post #1, and download the VBIOSes from post #85. Then reference post #79 for the correct VBIOS files to use based on my setup, and post #78 for how I extracted VBIOSes from the v3.05 BIOS. If you upgraded your BIOS to 3.08 (or you're on an older or hacked version) then you should follow the extraction procedure that I used.

I am so dumb, At first I forgot to insert the second GPU but these are new pictures, second card inserted too  :D

 

http://www.upload.ee/image/4814679/IMG_0056.jpg

 

http://www.upload.ee/image/4814680/IMG_0057.jpg

 

But what is system profiler? I don't see this thing there.

 

The system profler is what you attaching pictures from. Since you were using Intel and now both Nvidia, check again that display says Built-in as I previously asked you.

×
×
  • Create New...