Jump to content

Help with Asus U44SG's GPU DSDT


vusun123
 Share

4 posts in this topic

Recommended Posts

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

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

... 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.
  • Like 1
Link to comment
Share on other sites

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

 Share

×
×
  • Create New...