Jump to content
ahmed_ais

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

168 posts in this topic

Recommended Posts

The second card used to work fine since Yosemite but the problem has always been getting the first one connected to the display and being recognized as built-in. My previous investigations led me to conclude that IGD (Intel Graphics Display) does not completely go out of the scene even with two dedicated GPUs are on. That is, IGD is the only graphics device directly connected to the display and while the two Nvidia GPUs are active IGD fades out but still responsible (alone) to deliver all the processed graphics to the display. This behavior may be fine in Windows and Linux as the driver knows how to deal with it ignoring that gateway (IGD) but it is not the case for macOS where this setup just does not exist (for real macs) and the driver is not aware of it.

 

So with 2 Nvidia GPUs --> IGD fades out (to be a gateway only) --> macOS see the 2 GPU's --> macOS cannot see the display (only a gateway) --> macOS assume the gateway is the display for the system (which is not exactly true) --> configurations for 1st Nvidia with display fails --> macOS does not work correctly graphics wise.

 

This is all a theory and could be completely wrong (I hope). For that, I'm reading into how IGD work with Optimus (how the connections are designed). I wish if there were any technical manual for this type of gaming PCs where the details of the hardware are shown.

Ok, but we have open source drivers like noveau for Linux and they support our configuration. I think the problem is that OS X can't read VBIOS to read config however we can extract it from BIOS and try to inject values.

 

 

 

Wysłane z iPhone za pomocą Tapatalk

Share this post


Link to post
Share on other sites
Advertisement

Ok, but we have open source drivers like noveau for Linux and they support our configuration.

Yea, I will try to take a look inside the source code for hints.

 

 

I think the problem is that OS X can't read VBIOS to read config however we can extract it from BIOS and try to inject values.

Take a read few pages back as the idea of extracting VBIOS have been discussed before (by notten) although I don't remember we did any injections.

Share this post


Link to post
Share on other sites

We need probably EFI strings which describes connectors used by our card so OS X will know where to route display. Probably Lenovo uses different config for internal 755m which is not supported by OS X

 

 

Wysłane z iPhone za pomocą Tapatalk

Yea, I will try to take a look inside the source code for hints.

 

 

Take a read few pages back as the idea of extracting VBIOS have been discussed before (by notten) although I don't remember we did any injections.

Look at this: https://github.com/skeggsb/linux/commit/714a98fc3f20934ce8098667b809de954ebab93c

 

 

Wysłane z iPhone za pomocą Tapatalk

Share this post


Link to post
Share on other sites

We need probably EFI strings which describes connectors used by our card so OS X will know where to route display. Probably Lenovo uses different config for internal 755m which is not supported by OS

The problem with EFI strings is to know priori what are the available connections and then to implement them within the strings. I have been trying to understand this the past few days but it gets more complicated. So here are my findings so far ...

 

On Windows with Intel GPU active (ultrabay card is out), the Intel GPU is connected to a display with these properties (taken from device manager):

Device instance path: DISPLAY\LGD0416\4&7A74E6D&1&UID265988
Hardware IDs: MONITOR\LGD0416
BIOS device name: \_SB.PCI0.GFX0.DD1F
Parent: PCI\VEN_8086&DEV_0416&SUBSYS_380117AA&REV_06\3&11583659&0&10

Now when booting with ultrabay card in, the built-in Nvidia GPU controls a display with theses properties:

Device instance path: DISPLAY\LGD0416\5&339079E2&2&UID4353
Hardware IDs: MONITOR\LGD0416
BIOS device name: \_SB.PCI0.PEG0.PEGP.LCD
Parent: PCI\VEN_10DE&DEV_0FCD&SUBSYS_380017AA&REV_A1\4&57d6125&0&0008

And that made me thinking because while in both scenarios the GPU connected to the same type of monitor (LGD0416), each GPU had a different code to execute to connect to the monitor as defined in ACPI. Intel GPU uses DD1F device within GFX0 (SSDT-6) while Nvidia GPU uses LCD device defined in PEG0.PEGP (SSDT-7). So I thought to check in OS X and see how both GPUs connect using IOREG. In case of Intel GPU, it was connected correctly to display defined by device DD1F [iGPU@20000 -> DD1F@410] as AppleBacklightDisplay. For Dual-Nvidia setup, I found the built-in GPU connects through device LCD (as in Windows) [PEG0@1000 -> PEGP@0 -> LCD@8000a450] but as AppleDisplay.

 

The first thing to note here is having the built-in GPU connected to display that is identified as AppleDisplay. I have read multiple times that this identification is used when connecting to external displays and this is why we see the same information in display settings in System Preferences. I have also read that this could be fixed by injecting some properties to the Nvidia GPU (using EFI strings for example) but all my attempts to fix this failed so far.

 

The second thing I found is that GFX0 device (at address @20000 which is Intel GPU) is still available in Dual-Nvidia setup and visible in IOREG:IODeviceTree and still owns device DD1F (a device to control monitor). I think this is just because it exist in ACPI tables but have no effect. To verify this, I made an SSDT to disable/hide the GFX0 device using a call to _STA method and the Dual-Nvidia setup booted normally with GFX0 not found any more in IOREG.

 

Now what I'm trying to understand is why OS X is seeing monitor at PEG0.PEGP.LCD as external (i.e. AppleDisplay instead of AppleBacklightDisplay) and maybe if we compare the code of devices GFX0.DD1F and PEG0.PEGP.LCD we could find some clues. In addition, I'm still wondering why I can't boot without nv_disable=1 and what can we do about it. Maybe both are related and without nv_disable=1 flag the driver attempts to loads but can't find the display it expects so it stalls (but no KP here).

Share this post


Link to post
Share on other sites

A long time ago when y510p has been just released Linux also couldn't boot with open source drivers and it had similar issue. Then they fixed this issue in open source driver and now it works out of box. We should find this issue and see how it was fixed. I think there is a simple workaround.

 

 

Wysłane z iPhone za pomocą Tapatalk

Just adding a reference to another laptop having similar issue. Although the topic is old, Imaurad had posted the same observations I posted above ..

Look at this

https://git.backbone.ws/linux/backbone-sources/commit/714a98fc3f20934ce8098667b809de954ebab93c?diffmode=sidebyside

 

 

Wysłane z iPhone za pomocą Tapatalk

https://github.com/ulli-kroll/linux-comcerto/commit/205877f9156daebb975fb46205488da6fdf5b3f5

 

This workaround used for sure our Y510p. Probably OS X doesn't implement it.

 

 

Wysłane z iPhone za pomocą Tapatalk

Share this post


Link to post
Share on other sites

A long time ago when y510p has been just released Linux also couldn't boot with open source drivers and it had similar issue. Then they fixed this issue in open source driver and now it works out of box. We should find this issue and see how it was fixed. I think there is a simple workaround.

 

 

Look at this

https://git.backbone.ws/linux/backbone-sources/commit/714a98fc3f20934ce8098667b809de954ebab93c?diffmode=sidebyside

 

https://github.com/ulli-kroll/linux-comcerto/commit/205877f9156daebb975fb46205488da6fdf5b3f5

 

This workaround used for sure our Y510p. Probably OS X doesn't implement it.

 

I will look into this meanwhile ............

Share this post


Link to post
Share on other sites

I will look into this meanwhile ............

 

 

 

Hi! I discovered one more thing. I extracted VBIOS from our BIOS/EFI and I found out that there are 2 VBIOSes for our card - one when NVIDIA it's primary card and the second when it's used as secondary. The difference is that in first case VBIOS contains info about connectors whereas in the second there is not (because it's Optimus card).

Share this post


Link to post
Share on other sites

I will look into this meanwhile ............

try update to 10.12.5

install webdriver

and push intelBacklight.kext into SLE

 

may be your display will work. 

 

that's working on eDP M1000M, may be lucky on your! 

Share this post


Link to post
Share on other sites

try update to 10.12.5

install webdriver

and push intelBacklight.kext into SLE

 

may be your display will work. 

 

that's working on eDP M1000M, may be lucky on your!

 

Recently I took apart Y510P and I discovered that display is connected using LVDS connector. It strange because both Windows and Linux show hat it's connected through eDP.

Share this post


Link to post
Share on other sites

Recently I took apart Y510P and I discovered that display is connected using LVDS connector. It strange because both Windows and Linux show hat it's connected through eDP.

 

Yeah and a quick search on eBay showed results for Y510p LVDS cables but not any result for eDP cables. Another search led me here which say the same thing: it is an LVDS. Why would Windows and Linux say otherwise? I really wanna know !!

 

Unless, the graphics source is genuine eDP but the display is LVDS and there's some kind of bridge device that connects between the two. PTN3460 is an example of this: 

 

PTN3460 is an (embedded) DisplayPort to LVDS bridge device that enables connectivity between an (embedded) DisplayPort (eDP) source and LVDS display panel. It processes the incoming DisplayPort (DP) stream, performs DP to LVDS protocol conversion and transmits processed stream in LVDS format.

If that's the case, I think it could be related to the problem we have where macOS sees the built-in display as external. It could be that Nvidia driver (for mac) is not working fine with that bridge (why IGPU driver works fine with the bridge? no idea). [just a thought]

Share this post


Link to post
Share on other sites

i have check all ioreg from this topic.

can not found display EDID at all ?

try inject EDID for next test !

 

I can try, but in this case HDMI is not detected at all. While testing in VNC I discovered that there is no 3D acceleration and QE/CI at all whereas on the second GPU there is full support for that.

Share this post


Link to post
Share on other sites

I can try, but in this case HDMI is not detected at all. While testing in VNC I discovered that there is no 3D acceleration and QE/CI at all whereas on the second GPU there is full support for that.

upload your ioreg at this test case!

Share this post


Link to post
Share on other sites

upload your ioreg at this test case!

 

Here you have. EDID injected. First card is detected as NVIDIA Chip Model, whereas the second is properly detected as 755M. As you can see internal screen is not detected, HDMI neither.

 

I had to ZIP IOReg because size was bigger than 10M.

MacBook Pro (Artur).zip

Share this post


Link to post
Share on other sites

Here you have. EDID injected. First card is detected as NVIDIA Chip Model, whereas the second is properly detected as 755M. As you can see internal screen is not detected, HDMI neither.

 

I had to ZIP IOReg because size was bigger than 10M.

i can not see internall display plug on any port.

make it again with intelHD

Share this post


Link to post
Share on other sites

i can not see internall display plug on any port.

make it again with intelHD

And that's the problem. I can't make it working.

 

 

Wysłane z iPhone za pomocą Tapatalk

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.

  • Similar Content

    • By tonyx86
      This thread for installing Catalina on the Dell Latitude E6410 WITH NVIDIA GRAPHICS (BIOS A17, NVidia 3100m) will help you install a fresh installation of Catalina on your Dell Latitude E6410, it will help you upgrade from 10.15.2 to 10.15.3 (if you originally installed Catalina from this thread) and it will also help you upgrade from Mojave 10.14.6 if you have already installed Mojave by following the instructions here.  The instructions in this first post assume that you are installing Catalina in an APFS container.  If you are curious about the evolution of this solution and how sleep/wake was solved, review the Mojave installation thread.
       
      Important: This Thread is NOT intended to help you install macOS on a Latitude E6410 with Intel HD Graphics (without Nvidia graphics).  The DSDT attached to this first post (in E6410-Catalina.zip) is VERY SPECIFIC to the Nvidia graphics implementation and has not been edited for HD Graphics - there are elements required for HD Graphics that are missing from the attached DSDT and there are DSDT mods that have not been tested with HD Graphics.  Also, the kexts attached to this first post are specific to a Broadcom Wi-Fi card which must replace the original Intel Wi-Fi card.
       
      This first post will be modified to reflect lessons learned and to reflect the most current working state of my Latitude E6410 (with NVidia 3100m discrete graphics) running Catalina.  Issues, observations and performance tips are recorded toward the bottom of this first post.  My recommended CLOVER configuration is specified toward the bottom of this first post.
       
      *** If you want help with your installation, please post your issue along with problem reporting files generated using @black.dragon74's problem reporting tool.  Google 'GENERATE PROPER PROBLEM REPORTING FILES black.dragon74' to find it. ***.  If Catalina's Read-Only protections block your installation of black.dragon74's gen_debug script, please copy the attached gen_debug script to your Desktop, change script properties with the terminal command 'chmod a+x ~/Desktop/gen_debug' and run the script from your Desktop.
       
      My system is as follows:
      Dell Latitude E6410 (I7-620m, Nvidia 3100M, 8GB DDR3, 512GB SSD, 1440x900 display, BIOS: A17) Wi-Fi: Broadcom BCM 94352HMB (replaced original Wi-Fi card) BIOS (version A17) configured as follows (leave default unless listed here): Boot Sequence: USB, Internal HDD, CD/DVD, Modular Bay HDD; Boot List Option: Legacy; Integrated NIC:Enabled; Parallel Port: Disabled; Serial Port: Disabled; SATA Operation: AHCI; Misc Devices: Enable Modular Bay, Camera, External USB, Microphone, Media Card and 1394; Latitude ON Reader: Disabled; Keyboard Illumination: Auto ALS and Input; Ambient Light Sensor: Enabled; OROM Keyboard Access: Disable; TPM Security: Disable; Computrace:Deactivate; CPU XD Support: Enable; Performance: Enable all options; Power Management: Disable Wake on AC, Disable Wake on LAN/WAN, Express Charge: Standard, Charge Behavior: Enabled; Keypad: Fn Key Only; Mouse/Touchpad: Touchpad/PS-2 Mouse; USB Emulation: Enable Legacy; Fn Key Emulation: Disabled; Fastboot: Thorough; Virtualization: Enable Intel Virtualization, Disable VT for Direct I/O, Disable Trusted Execution; Wireless Switch: Bluetooth and WLAN; Wireless Device Enable: Bluetooth and WLAN;   
      Versions of the software used in this installation are listed below the installation steps.  EFI and kexts for Catalina are attached to this first post in E6410-Catalina.zip.  CLOVER configuration is specified below the installation steps.
       
      Wi-Fi connection to an Access Point is delayed when using AppleALC for sound.  Do not use Apple ALC.  Use VoodooHDA pkg 2.9.2 v14 for sound.
       
      Steps to install Catalina on a Dell Latitude E6410 (BIOS A17, NVidia 3100m)
      Make sure that your system matches my system description above (including BIOS version, Wi-Fi card, BIOS settings) If performing an upgrade from Mojave or a previous version of Catalina, backup your Mojave or Catalina partition! (Carbon Copy or similar) Download Catalina Installer Download DosDude Catalina Patcher Use DosDude Patcher to create Catalina USB Installer Delete LegacyUSBInjector.kext (we're using @RehabMan's USBInjectAll.kext with custom SSDT) and delete SIPManager.kext (CLOVER is managing SIP) from Catalina USB Installer's /Library/Extensions folder Copy all but the FakeSMC sensor kexts in E6410-Catalina.zip (attached) LE folder to the Catalina USB Installer /Library/Extensions (copy all kexts (including FakeSMC.kext) but not the FakeSMC sensor kexts) Install CLOVER Bootloader (Legacy) on USB Installer using the EFI in the E6410-Catalina.zip (attached).  Use the CLOVER configuration specified below.  Be sure to replace the XX-MASKED-XX parameters in the attached config.plist with your own values. Reset your Latitude E6410 NVRAM by doing the following (this may be important if you're making changes to your existing EFI and won't hurt anything if you're not making any changes) turn-off your laptop remove A/C power and main battery press and hold the power button for 30 seconds restore A/C power and battery Boot your Latitude E6410 from the Catalina USB Installer that you created in steps 5-8. Select "Reinstall macOS" (note that I have existing installations of Mojave and High Sierra on my Latitude E6410, so it's possible that this menu item changes to "Install macOS" if you don't have any previous macOS installations). Select your Catalina destination partition (which will be your Mojave or previous Catalina partition if you are upgrading) After the Catalina Installer reboots the first time, boot from the "macOS Installer" partition on the disk that you selected as your Catalina destination (not the macOS installer on the USB) After the Catalina Installer reboots the second time, boot the Catalina macOS Installer on the USB Select the Post Install Patcher utility Select only the following Post Install Patches (no other patches / options) Install Patch Updater Legacy Video After the Post Install Patcher reboots,  boot from the newly installed (or upgraded) Catalina partition and complete the macOS configuration Remove these kexts (if they exist) from /Library/Extensions: LegacyUSBInjector.kext, LegacyUSBVideoSupport.kext and SIPManager.kext If you are performing a fresh installation of Catalina: Install CLOVER on your boot disk and configure EFI using files in the attached E6410-Catalina.zip.  Use the CLOVER configuration below.  Your EFI Clover/kexts/Other folder needs only FakeSMC.kext, IntelMausiEthernet.kext, USBInjectAll.kext and VoodooPS2.kext.  Be sure to replace the XX-MASKED-XX parameters in the attached config.plist with your own values. Install all kexts in the attached E6410-Catalina.zip LE folder to your /Library/Extensions folder.  NOTE: These instructions assume installation of Brcm kexts in /Library/Extensions.  Read the Brcm install instructions if you're installing kexts in EFI/Clover/kexts/Other, since your installation and at least one kext WILL BE DIFFERENT. Copy HWMonitor from the application folder in the attached E6410-Catalina.zip to your Applications folder. Install VoodooHDA (I installed using the Classic method) Skip to Step 21 If you are upgrading from a previous version of Catalina using the instructions from this thread or from Mojave that you installed using the instructions here: Update Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /Library/Extensions) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. NOTE: These instructions assume installation of Brcm kexts in /Library/Extensions.  Read the Brcm install instructions if you're installing kexts in EFI/Clover/kexts/Other, since your installation and at least one kext WILL BE DIFFERENT. Update IntelMausiEthernet.kext Remove VoodooSDHC.kext from /Library/Extensions Re-install VoodooHDA if necessary (I installed using the Classic method) Ensure PROPER kext installation: If you're manually installing kexts in /Library/Extensions, make sure that you execute the following (in terminal) cd /Library/Extensions sudo chown -R root:wheel *.kext sudo chmod -R 755 *.kext sudo kextcache -i / After you execute 'sudo kextcache -i /' you should observe that ALL kexts are allowed.  If not, your kext directory attributes are probably incorrect.  Repeat kext installation and try again. Reboot from your new/upgraded Catalina partition Welcome to macOS Catalina! Change the keyboard type to ISO (System Preferences > Keyboard > Change Keyboard Type) Swap the Command and Option keys (System Preferences > Keyboard > Modifier Keys) Set hibernatemode: In terminal, execute sudo pmset -a hibernatemode 0 sudo rm -f /var/vm/sleepimage sudo touch /var/vm/sleepimage sudo chflags schg /var/vm/sleepimage  
      Version Info at the time of this writing:
      Catalina Installer 10.15.3 CLOVER v2.5k r5103 DosDude Catalina Patcher: v1.3.0 Lilu.kext 1.4.1 AirportBrcmFixup.kext 2.0.6 BrcmFirmwareRepo.kext 2.5.1 BrcmBluetoothInjector.kext 2.5.1 BrcmPatchRAM3.kext 2.5.1 IntelMausiEthernet.kext 2.5.0
      VoodooHDA.kext 2.9.2 v14 (NOT AppleALC)
       
      What is not working (that was working in Mojave)
      SD Card Slot (had to remove VoodooSDHC.kext which caused system freeze on wake)  
      Known Issues and Their Solutions
      (No solution yet) Brightness slider does not work in System Preferences > Displays.  Brightness is easily controlled with Dell brightness keys.  There is some work on this later in this thread, but I will not be solving this as I'm content with the Dell brightness keys (and Ambient Light Sensor works to auto-adjust brightness). I continue to refine the DSDT and CLOVER config.plist to optimize my Latitude E6410 for multi-booting between various macOS versions (High Sierra, Mojave and Catalina at the time of this writing). If you upgrade your Latitude E6410 EFI using my attached EFI, you may find that your Latitude E6410 is stuck in a boot-loop that ends in a white screen and reboots.  Clear your system by doing the following: turn off your laptop, remove A/C power, remove the main battery, press and hold the power button for 30 seconds, restore A/C power and battery, boot normally.  I have only found this to be necessary (very rarely) after making an EFI change, but you may find it helpful if making kext changes in /Library/Extensions as well. (Work-around - no permanent solution yet) Cannot turn on Bluetooth after shutting-down with Bluetooth off.  Work-around is to leave Bluetooth on.  I don't use Bluetooth and don't mind, so this will likely be solved by someone else.  If you experience this issue and can't turn-on Bluetooth, I have found that putting the laptop to sleep (Fn-F1) and then waking the laptop restores proper operation of Bluetooth.  I have posted a problem description, logs and problem reporting files in this thread for help with this problem. (Solved - no further work required) Laptop does not sleep when closing lid.  Solution appears to be a combination of adding Notify (LID0) code to Method (BTNV), adding Device (PNLF) and adding the definition for pwm-info in the DSDT.  No surprise that the Latitude E6410 has yet another incomplete ACPI implementation.  I am using the same EFI for High Sierra 10.13.6, Mojave 10.14.6 and Catalina 10.15.3 and it works in all three macOSes. (No solution yet) No SD Card Slot (had to remove VoodooSDHC.kext) - I read somewhere that there is a solution that does not require any kexts (just a DSDT edit).  Haven't yet implemented this fix. (Not a problem that needs to be solved - leaving for historical purposes.  I am running Catalina without this.) - IOHWControl does not load under GFX0 (as observed in IORegistryExplorer).  Solution (if it needs to be solved) is to install AppleHWSensor.kext from a DosDude-patched Mojave /S/L/E in Catalina's /L/E.  Copy and install your own or use the kext attached to this post. (Solved - no further work required) Wi-Fi connection is delayed until a minute or so after boot - Use VoodooHDA and NOT AppleALC (Solved - no further work required) External USB ports do not work after waking from sleep (S3) - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Boot and shut-down time of Catalina is slower than Mojave - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Wi-Fi is not immediately available at OS startup - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Laptop freezes on wake - Remove VoodooSDHC.kext from /Library/Extensions  
      Tips for Improved Performance (on this and other older systems)
      System Preferences > Spotlight > Search Results: Uncheck all options System Preferences > Spotlight > Privacy: Add all Volumes System Preferences > Accessibility > Display: Check "Reduce motion" System Preferences > Accessibility > Display: Check "Reduce transparency"  
      Other tips
      If your fan is always running and temps are good, try pressing Fn + z (I haven't noticed this issue for a while since I completed DSDT edits for Mojave, but keeping this here for historical purposes)  
      CLOVER Installation: Use these configuration options
      Install Clover in the ESP Boot Sectors Install boot0af in MBR Clover for BIOS (legacy) booting Clover EFI 64-bits SATA BIOS Drivers, 64-bit Recommended drivers FSInject File System drivers ApfsDriverLoader Install RC scripts on target volume Themes Choose your desired theme Install Clover Preference Pane After clicking "Continue", if prompted with "This Clover package is incompatible with this version of macOS," install anyway  
      After CLOVER installation is complete Copy the following from the attached E6410-Catalina.zip ACPI patched contents config.plist (change XX-MASKED-XX values to your own) kexts/Other (remove all other kext folders) Remove christmas and new year folders from themes (if present)  
      Credits
      Thanks to those who contributed to my Mojave solution and to the DosDude team (for the incredible macOS patchers), I think this Catalina installation was the easiest macOS installation that I have experienced (so far).  Many thanks to @Slice and his team for the incredible work on CLOVER and for continuing to support old legacy systems like this.  Also, thanks to @Mieze and @headkaze and others I'm sure for maintaining the Brcm kexts.  And finally, I still prefer to manually apply patches to the DSDTs in my systems.  CLOVER offers extensive patching functionality, but I'm old-school and like to have an error-free, fully-patched DSDT with a simple CLOVER config.plist.  I think that this manual DSDT patching approach (which required an extensive review and debugging of the original unpatched DSDT in this thread) is the reason that this Latitude E6410 is such a perfect MacBookPro6,2.  Thank you @RehabMan for being a great teacher and for always insisting on problem reporting files .
       
       

      AppleHWSensor.kext.zip

      gen_debug
      E6410-Catalina-3v5.zip
    • By tluck
      Lenovo T460 macOS with Clover Guide
      Latest Release on GitHub (February 2020) Updated to Clover r5104 Updated Lilu based kexts - Lilu, ALC, WEG Updated acidanthera VoodooPS2 kext v2.1.1 the older 1.9 to the Misc Folder as an option.
        Various Tweaks over Last months The zip file is a complete Clover ESP (/EFI) bundle and kext pack for the Lenovo T460. The current file bundle is tested on Sierra. 
      Note: I never got the GFX fully working on El Capitan. 
      Full Clover file set - config.plist etc. Includes all custom kexts Includes custom DSDT/SSDT scripts and patches Utility scripts The zip bundles are posted to GitHub: https://github.com/tluck/Lenovo-T460-Clover/releases
      Caveat: The T460 systems used here was configured with: i5-6300U, Intel HD Graphics 520, 1920x1080 touch screen. If you have a different system model, then extract the ACPI files and use the included scripts to create a set of files consistent with your system type and BIOS version. See below for details.
      Credits: RehabMan, Shmilee, vusun123, TimeWalker, Mieze from which, much of their work and help is/was was used to get the T460 to this point.
      Devices and aspects working:
      Ethernet -  Intel I219LM is enabled via IntelMausiEthernext.kext WiFi/BT - substitute the Intel WiFi/BT with a compatible Broadcom or Atheros chip Audio - ALC293 codec implemented via AppleALC.kext (the old AppleHDA_ALC293 and CodecCommander kexts are not needed) PS2 - ClickPad + TrackPoint + all 3 buttons - using a modified VoodooPS2Controller to support new layouts - and added some custom Fn key maps based on 440/450 dsdt USB - implemented via custom SSDT + USBInjectAll kext. All USB3/USB2 ports are intel-based and work -  3 external USB and internal Camera, BT, etc  Sleep/Wake - the sleepwatcher package and custom sleep/wake scripts are used to help with sleep/wake for BT and PS2 devices. Note: have not tried to implement the SD card reader - no driver found.
      ACPI Files
      New Installation - Steps and Details
      Part 1 - OS Installation
      Part 2- Post OS Installation and Setup
      Notes on Custom Kexts
       
    • By tonyx86
      *** I have started another thread for installing Catalina on the Dell Latitude E6410.  If you were thinking of installing Mojave, but would prefer to skip right to Catalina, click here. ***
       
      I was inspired by @duduclx post here for installing El Capitan on a Dell Latitude E6410, so I decided to install Mojave 10.14.5 and subsequently 10.14.6.  Everything works perfectly (including sleep).  I'm starting this thread hoping to help others install Mojave on their E6410s.  A brief installation guide is provided later in this first post.  The interested reader is encouraged to read the other posts in this thread to see how this solution evolved and to learn additional tips/details not provided in this first post (including dual-booting with macOS and Windows).
       
      My system is as follows:
      Dell Latitude E6410 (I7-620m, Nvidia 3100M, 8GB DDR3, 512GB SSD, 1440x900 display, BIOS: A17) MacOS: Mojave 10.14.6 (APFS) (Patched with DosDude Mojave Patcher 1.3.3) MacModel: MacBookPro 6,2 (LPCB._DSM.Name "pci8086,3b09") Kexts: Lilu 1.3.6, VoodooHDA 2.9.2, AirportBrcmFixup 2.0.0, IntelMausiEthernet 2.4.1d1, ACPIBatteryManager 1.90.1, BrcmPatchRam2.kext, BrcmFirmwareRepo.kext, VoodooPS2Controller (the "Refined ALPS Touchpad" version - release 6 developed by @Dr. Hurt and compiled by @bronxteck), not the original version), USBInjectAll (with custom SSDT-UIAC), VoodooSDHC.kext (configured as shown here). Wi-Fi: Broadcom BCM 94352HMB (with AirportBrcmFixup.kext) CLOVER (Legacy): R4961  
      Configuration items that may be different from what you have seen in other E6410 configurations
      Addition of _OFF and _ON methods to _PTS and _WAK methods respectively (to control discrete graphics in order to enable sleep/wake) LPCB._DSM patched with device-id "3b09" AND "name", "pci8086,3b09" for native Nehalem power management with MacBookPro 6,2 ECDV renamed to EC so that AppleBusPowerController loads AGP.VID._DSM patched with device-id "0a29" so that AppleGraphicsPowerManagement loads No CLOVER Generate P or Generate C States (with the correct LPCB._DSM and MacBookPro 6,2, these CLOVER options are unnecessary for this architecture and only limit max multiplier and reduce number of P states) DSDT patched to include HDAU device (device-id 0x0be3)  
      What is NOT working:
      Display brightness can be controlled with keyboard keys, but cannot be controlled with slider in Display settings. Graphics Power Management - AGPM loads (because 10de,0a29 device is injected), but there's no evidence that 3100m frequency and voltage is changing.
        What is NOT tested:
      Smartcard Reader eSata (I have this disabled in my BIOS) Firewire Port (it does appear in the Network settings, just haven't tried it) Microphone Jack PC Card Slot (I have this disabled in my BIOS)  
      What IS working:
      SLEEP IS WORKING! Everything else not mentioned above.   Speedstep/CPUPowerManagement is perfect, system temps are low, CPU multiplier operates as expected, battery life is long Shutdown is fast Display/graphics acceleration is perfect (thanks to DosDude's Mojave patcher) Brightness (adjusted with brightness keys on keyboard) works perfectly Battery Manager works (battery status is displayed in menu bar) simply by installing ACPIBatterManager.kext. Wi-Fi (after changing to Broadcom BCM94352HMB and installing AirportBrcmFixup.kext) Audio (volume adjustable, volume indicator appears in menu bar).  Switched to VoodooHDA from AppleALC after AppleALC caused slow boot due to "IOHDACodecFunction timeout." Ethernet port (with IntelMausiEthernet.kext) Broadcom BCM20702A0 Bluetooth (with BrcmPatchRam2.kext and BrcmFirmwareRepo.kext) Optical Drive External VGA (with corrected NVCAP.  Need NVCAP 04000000 00000100 0E000000 00000007 00000000 (credit: here) for working external VGA display. Headphone jack Display Port (tested using DP > HDMI adapter) Camera SD Card Reader  
      Known issues and their solutions (These issues have all been resolved, with the solutions incorporated into the attached config files.  The issues are listed here for historical purposes and no further work is needed unless stated otherwise).
      Laptop does not sleep on lid close.  Solution is to add Notify (LID0) code to Method (BTNV) in the DSDT.  This is solved in the attached DSDT. Leaving this for historical purposes, but the CLOVER USBFix is no longer necessary after finding that I had incorrectly applied the DSDT _DSM patch for Device (EHC1).  The CLOVER USBFix is not needed after fixing the DSDT..  AAPL,clock-id and device_type do not appear in IORegistry for EHC1.  Solution is to use CLOVER on-the-fly patching/fixing/renaming for EHC1 and EHC2.  Thank you, @feartech, for this tip. ALPS trackpad performance is not good with the "standard" VoodooPS2Controller.kext that I initially used.  Switching to the "Refined ALPS TouchPad driver" is a big improvement.  I've implemented and tested this on my system.  The ALPS version of VoodooPS2Controller.kext mixes up a few keys.  Need to switch the Command and Option keys (System Preferences > Keyboard > Modifier Keys) and change keyboard type to ISO European. This configuration (captured in the attached config files) uses an injected device-id (10de,0a29) for NVidia 3100m to get AGPM to load.  While I haven't observed any performance differences, a better approach may be to inject AGPM properties for device 10de,0a6c (the actual device-id for the 3100m).  This AGPM method is discussed later in this thread.  I have briefly tested this "FakeSMC.kext method" for injecting AGPM attributes without any noticeable changes in laptop/graphics behavior. IOHWControl is not loaded under AGPM (Should be AGP > VID > NVDA,Display-A@0 > NVDATesla > AGPM > gpu-control > IOHWControl as viewed in IORegistryExplorer).  It is loaded on a real MacBookPro6,2 running Mojave and is loaded on this Dell Latitude E6410 running High Sierra.  If I "Inject NVidia" via CLOVER, IOHWControl loads properly. The Dell Latitude DSDT (BIOS A17) has a bug in Method (GNOT).  In the method, the expression  If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) always evaluates to TRUE, so the patched DSDT has no dependency on the value of OSYS.  I suspect that LOr should be replaced with LAnd, so that this expression is TRUE for variants of Windows 2001 and False for any other OS.  While this may have no affect on MacOS, it makes one wonder how such an obvious bug made it through Dell QA and is still present in BIOS A17.  Also makes one wonder whether the sleep problem (which no one has solved) was fixed in Windows to address another DSDT bug. The assigned value of ACOS and OSYS in the DSDT are conditional on the operating system.  There is no condition for "Darwin."  The solution is to add a condition for "Darwin" (making it equivalent to one of the defined operating systems (e.g. Linux, Win7, etc).  The attached config hard-codes ACOS and OSYS values equivalent to those for Linux.  Another way to handle this (different from the method employed in the attached config files) might be to override _OSI with XOSI (defined in a custom SSDT). The portType of the Internal Bluetooth device is portType=0 which, according to Rehabman's comments in SSDT-UIAC-All.dsl, is an external USB 2 port.  This should be an internal USB port (portType=2).  I learned through trial and error that the HUB1 and HUB2 definitions in Rehabman's SSDT-UIAC-ALL.dsl apply to the ports on the EHCx USB hubs.  The solution is to include the HUB1 definition in SSDT-UIAC.dsl and change portType to 2 for HP15.  This change doesn't appear to affect/fix sleep, but it may prevent instant wake if we get sleep working. There are minor differences between a real MacBookPro6,2 IORegistry dump and this HackBookPro6,2 IORegistry dump that can be resolved with simple DSDT edits.  I am now running with these changes, but haven't found these changes to make any difference in operational behavior.
      Rename Device (AC) -> Device (ADP1) Remove UID from Device (HPET) Add compatible ID "PNP0C01" to Device (HPET) Change ADP1:_STA from 0x0F to 0xFFFFFFFF Enable Ambient Light Sensor and renamed to Device (ALS0) from Device (ALS) Add compatible ID "smc-als" to ALS0 Rename LID -> LID0 Change "name" definitions to Buffers in _DSM methods Rename Device (PBTN) to PWRB Rename Device (SBTN) to (SLPB) Change HDAU.hda-gfx from "onboard-1" to "onboard-2" Change GFX0.hda-gfx from "onboard-1" to "onboard-2" Sleep / Wake does not work with the basic DSDT edits.  I have discovered that Sleep / Wake can be made to work by adding discrete graphics _OFF and _ON methods to _PTS and _WAK methods respectively (borrowed the concept and code from a working E6430 DSDT: Credit here: https://osxlatitude.com/forums/topic/9248-working-sleep-on-intel-hd-and-nvidia-nvs-on-dell-latitude-e6430-optimus-enabled-or-disabled/page/6/. The Clover boot arg should be changed to "darkwake=0" for reasons explained by @holyfield in this thread.  Leaving this for historical purposes: LCD screen is blank when waking laptop by opening lid (screen is not blank when waking with power button).  Solution is to add darkwake=8 to CLOVER boot args.  Thank you @Hervé for this tip.  
      Brief Installation Guide:
      Configure BIOS (version A17) as follows (leave default unless listed here): Boot Sequence: USB, Internal HDD, CD/DVD, Modular Bay HDD; Boot List Option: Legacy; Integrated NIC: Enabled; Parallel Port: Disabled; Serial Port: Disabled; SATA Operation: AHCI; Misc Devices: Enable Modular Bay, Camera, External USB, Microphone, Media Card and 1394; Latitude ON Reader: Disabled; Keyboard Illumination: Auto ALS and Input; Ambient Light Sensor: Enabled; OROM Keyboard Access: Disable; TPM Security: Disable; Computrace: Deactivate; CPU XD Support: Enable; Performance: Enable all options; Power Management: Disable Wake on AC, Disable Wake on LAN/WAN, Express Charge: Standard, Charge Behavior: Enabled; Keypad: Fn Key Only; Mouse/Touchpad: Touchpad/PS-2 Mouse; USB Emulation: Enable Legacy; Fn Key Emulation: Disabled; Fastboot: Thorough; Virtualization: Enable Intel Virtualization, Disable VT for Direct I/O, Disable Trusted Execution; Wireless Switch: Bluetooth and WLAN; Wireless Device Enable: Bluetooth and WLAN;  Create your MacOS installer USB (Use DosDude's Mojave Patcher for Mojave) (start with High Sierra and not Mojave if you're new to hackintosh). Install CLOVER (Legacy) on installer USB using attached EFI as your guide for patched ACPI, kexts and config.plist Install MacOS to your SSD.  When you run DosDude's Mojave Patcher, DO NOT install LegacyUSBInjector.kext - you're going to use Rehabman's USBInjectAll.kext.  Also, do not install the DosDude SIP kext (you're using CLOVER to manage SIP). Install the following kexts in /Library/Extensions:  ACPIBatteryManager.kext, AirportBrcmFixup.kext, BrcmFirmwareRepo.kext, BrcmPatchRAM2.kext, FakeSMC.kext, FakeSMC_ACPISensors.kext, FakeSMC_CPUSensors.kext, FakeSMC_GPUSensors.kext, FakeSMC_LPCSensors.kext, IntelMausiEthernet.kext, Lilu.kext, USBInjectAll.kext, VoodooPS2Controller.kext (the "Refined ALPS Touchpad driver," not the original), VoodooSDHC.kext (configured as shown here). Switch Command and Option keys to compensate for Refined ALPS driver issue (System Preferences > Keyboard > Modifier Keys).  Also change keyboard type to ISO European to fix the [ ` ~ ] key (to the left of the "1" (one) key. Install VoodooHDA Install HWMonitor application  
      Tips for Improved Performance (on this and other older systems)
      System Preferences > Spotlight > Search Results: Uncheck all options System Preferences > Spotlight > Privacy: Add all Volumes System Preferences > Accessibility > Display: Check "Reduce motion" System Preferences > Accessibility > Display: Check "Reduce transparency"  
      Other tips
      If your fan is always running and temps are good, try pressing Fn + z After applying Mojave updates, HWMonitor may not display discrete graphics attributes.  On systems with multiple displays, a second (or third display) may not be active after applying the Mojave update.  The solution to this is to run "sudo kextcache -i /" (in a terminal window) and reboot.  This will usually fix the issue.  If the issue is not fixed, run DosDude's Post Install Utility, apply the Legacy Graphics Patch, reboot and then run "sudo kextcache -i /" if necessary.  
      Credits
      In addition to those mentioned in this first post and in subsequent posts in this thread, much of this solution for the Latitude E6410 was made possible by the numerous contributions of @RehabMan.  I hope he's doing well, wherever he is.  Hopefully he has long since forgotten what a PIA I was (and still am) as I was (and still am) learning hackOS.  
       
       


      E6410-Mojave-6v3.zip
    • By TomZanna
      Hi, I'm trying to install Mac Os Catalina on a HP 550-132NL.
      The system has:
      i7-6700
      RAM 12 GB
      GT 730
      LAN Realtek RTL8161
      ALC3863
       
      It passes the verbose phase but after the Apple logo goes away, it gets stuck on a grey screen and I can only move the pointer.
      Can I try to boot with the iGPU?
       
      origin.zip
      CLOVER_dGPU_USB_3.zip
    • By MaLd0n
      --Donations via PayPal--
      https://tinyurl.com/r2bvzm7
       
      --Original Topic--
      https://www.olarila.com/topic/6874-olarila-hackbook-lenovo-ideapad-s145-mojave-catalina-full-dsdt-patches/
       

       
      -Perfect HackBook, HDMI Audio/Video, Bluetooth, AirPlay, Sleep, Lid Sleep, Auto Sleep, Audio, etc!
      -Wifi card has been replaced with Dell DW1560!
      -I'm using a S145-15IWL Model with Intel Core i5 8265u / Intel UHD Graphics 620
      -Update bios/uefi to last version
       
      --Installation--
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
       
      --Clover Folder--
      Just paste EFI folder inside EFI partition
      https://www.olarila.com/files/Clover.Folder/Lenovo IdeaPad S145.zip
      Notebooks with ELAN trackpad use it with my folder above
      IdeaPad S145 ELAN.zip
       
      Bluetooth Broadcom
      Bluetooth Broadcom.zip
       
      CPUFriend for i5-8265U
      CPUFriend i5-8265U.zip
       
      --Full DSDT Patches--
      -My DSDT
      DSDT Lenovo IdeaPad S145.zip
       
      This DSDT work on S145-14IWL, S145-15IWL, V14-IWL, V15-IWL models
      -Patches
      -FIX ERRORS AND WARNINGS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE 11 ID -DMAC -REMOVE LINES, PROBLEMATIC and UNUSED -SLPB -DARWIN / WINDOWS 2015 -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -REAL TIME CLOCK -ARTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -IMEI -EC -PRWs -_DSMs -PNLF -BRIGHTNESS KEYS -I2C -NATIVE USB -ARPT -GFX0 -DTGP -kUSBCompanionIndex -io-device-location -FULL RENAMED DEVICES   --IGPU Patch--
      Video solution with HDMI Audio and Video
      <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> CQClPg== </data> <key>device-id</key> <data> pT4AAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>framebuffer-con0-alldata</key> <data> AAAIAAIAAACYAAAA </data> <key>framebuffer-con0-enable</key> <integer>1</integer> <key>framebuffer-con1-alldata</key> <data> AQEJAAAIAADHAQAA </data> <key>framebuffer-con1-enable</key> <integer>1</integer> <key>framebuffer-con2-alldata</key> <data> AgYKAAAEAADHAQAA </data> <key>framebuffer-con2-enable</key> <integer>1</integer> <key>framebuffer-fbmem</key> <data> AACQAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-stolenmem</key> <data> AAAwAQ== </data> <key>framebuffer-unifiedmem</key> <data> AAAAgA== </data> <key>hda-gfx</key> <string>onboard-1</string> <key>model</key> <string>Intel Corporation, Cannon Point-LP Iris Plus Graphics 655</string> </dict>   --Native USB Fix for Notebooks - No Injector/Kext Required--
      https://www.olarila.com/topic/6878-guide-native-usb-fix-for-notebooks-no-injectorkext-required/
      https://www.olarila.com/topic/6181-guide-native-usb-fix-for-desktops-no-injectorkext-required-skylake/
       
       
      -ScreenShots

































      -Links
       
       
      Clover https://github.com/CloverHackyColor/CloverBootloader
      AirportBrcmFixup.kext https://github.com/acidanthera/AirportBrcmFixup
      AppleALC.kext https://github.com/acidanthera/AppleALC
      Brcm Bluetooth https://github.com/acidanthera/BrcmPatchRAM
      Lilu.kext https://github.com/acidanthera/Lilu
      SystemProfilerMemoryFixup.kext https://github.com/Goldfish64/SystemProfilerMemoryFixup
      VirtualSMC.kext https://github.com/acidanthera/VirtualSMC
      VoodooI2C.kext https://github.com/alexandred/VoodooI2C
      VoodooPS2Controller.kext https://github.com/acidanthera/VoodooPS2
      WhateverGreen.kext https://github.com/acidanthera/WhateverGreen
      MaciASL - https://github.com/acidanthera/MaciASL
      acpica - https://github.com/acpica/acpica
      AptioMemoryFix.efi https://github.com/acidanthera/AptioFixPkg
      ApfsDriverLoader.efi https://github.com/acidanthera/AppleSupportPkg
      HFSPlus.efi https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true
      Hackintool https://github.com/headkaze/Hackintool
       
      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
       
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
       
      We're all here to have fun and learn from each other!
×