nurdiny13 / LENOVO-IDEAPAD-GAMING-3i-Hackintosh-Opencore

A Opencore Hackintosh Lenovo Ideapad Gaming 3
19 stars 2 forks source link

dGPU stays powered on. #3

Closed giulianbiolo closed 2 years ago

giulianbiolo commented 2 years ago

So, I've been using a slightly modified version of this EFI for a while now and everything seems to work fine, except for the short battery life (around 1h), most probably due to the dGPU that's always on even though it can't be used by OS X, since I'm using Monterey. That's why I've been trying to turn completely off my 1650ti to extend my battery life for a while. \ I've tried following the Dortania Opencore guide: https://dortania.github.io/Getting-Started-With-ACPI/Laptops/laptop-disable.html \ and have tried both the SSDT-dGPU-Off method and the NoHybGfx method. \ The OFF() method works fine disabling the dGPU and my battery life extends up to 3h according to Activity Monitor (probably more like 2h and some minutes), the only problem is that my cpu fan starts spinning at 100% fixed. I've heard it could be due to EC calls from within the OFF method and so I've tried dumping my acpi tables and moving the EC dependent method to the WAK method but that didn't solve the fan spin issue. Also the NoHybGfx didn't turn off at all the dGPU and so the fan spin problem didn't occur. Just wanted to make sure the right path is PEG0.PEGP and wanted to know if you expect to write a patch to fix this dGPU/Battery lifespan problem. You can find my EFI here: https://github.com/giulianbiolo/Lenovo-Ideapad-Gaming-3-Hackintosh \ Also, I'll let you here my dump folder in case you need it. \ Thanks, and keep up the good work. DSL FILES.zip .

nurdiny13 commented 2 years ago

I haven't had time to change that yet. because I always use conservation mode so I don't use batteries. path is correct. but there is another problem, namely that there is have EC related code according to the discussion here https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/

giulianbiolo commented 2 years ago

Yeah, I've tried patching that too putting the EC related function in WAK_ but that didn't seem to make a difference, anyway if turning on conservation mode solves the problem I guess the easiest way is just dualbooting with windows and turning it on whenever I need it

nurdiny13 commented 2 years ago

you have to modify the _REG in dsdt according to rehabman's instructions. i can't modify _REG if only using SSDT only..

the way to modify _REG is: change _REG to XREG so that the original _REG is not called.

the system will look for _REG and will not find it, then we supply it with our own _REG via SSDT.

I did not continue this because changing _REG can cause softbrick