vusun123 Posted September 30, 2014 Share Posted September 30, 2014 The DSDT seems normal at first. Then I realized that the Intel GPU and the Nvidia GPU both sit under the same scope \_SB.PCI0.PEG0.GFX0 so I can't just rename GFX0 to IGPU to get power management for the Intel HD3000 and to disable the Nvidia GPU without compiling errors. Can anyone help me with this ? Specs: i7-2630M Intel HD3000 ( 7 series mobo ) + Nvidia Geforce GT 610M DSDT.dsl.zip Link to comment Share on other sites More sharing options...
carbo178 Posted September 30, 2014 Share Posted September 30, 2014 This is not untouched dsdt, attach untouched file extracted by terminal (copy/paste this code) perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(){ chomp; if($_ =~ /\"DSDT\.?\d?\"=]*)>/) { $buff = $1; open(PIP,"|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }' Also post ioreg Link to comment Share on other sites More sharing options...
RehabMan Posted September 30, 2014 Share Posted September 30, 2014 ... Then I realized that the Intel GPU and the Nvidia GPU both sit under the same scope \_SB.PCI0.PEG0.GFX0 They do not. Intel is at _SB.PCI0.GFX0. Nvidia is at _SB.PCI0.PEG0.GFX0. so I can't just rename GFX0 to IGPU to get power management for the Intel HD3000 and to disable the Nvidia GPU without compiling errors. You could use a set of patches like this: into device label GFX0 parent_label PCI0 set_label begin IGPU end; into_all all code_regex PCI0\.GFX0 replaceall_matched begin PCI0.IGPU end; into_all scope label \_SB.PCI0.GFX0.LCD0 set_label begin \_SB.PCI0.IGPU.LCD0 end; into_all scope label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end; The above patch is just a modified "Rename PCI0.VID to PCI0.IGPU" from my repo. 1 Link to comment Share on other sites More sharing options...
vusun123 Posted October 1, 2014 Author Share Posted October 1, 2014 This is not untouched dsdt, attach untouched file extracted by terminal (copy/paste this code) perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }' Also post ioreg I know, this is a modified dsdt but I'm 100% sure it is correctly patched except for the graphics They do not. Intel is at _SB.PCI0.GFX0. Nvidia is at _SB.PCI0.PEG0.GFX0.You could use a set of patches like this: into device label GFX0 parent_label PCI0 set_label begin IGPU end; into_all all code_regex PCI0\.GFX0 replaceall_matched begin PCI0.IGPU end; into_all scope label \_SB.PCI0.GFX0.LCD0 set_label begin \_SB.PCI0.IGPU.LCD0 end; into_all scope label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end; The above patch is just a modified "Rename PCI0.VID to PCI0.IGPU" from my repo.Thanks, it works as you suggested. Mine adding it to your repo ? Link to comment Share on other sites More sharing options...
Recommended Posts