Jump to content
25 posts in this topic

Recommended Posts

Asus laptop X55C with HM76 chipset and HD3000 IGPU, native powermanagent due to unlocked bios. Internal screen works only if HDMI screen is plugged in.
If not then it won't turn on at all, in IOREG I can see if I unplug HDMI also the Internal is unplugged and viceversa.
I am attaching EFI with ACPI origin and patched + ioreg dump.

I also tried to boot from a Sierra installer instead of High Sierra, nothing changes.

It seems the PC thinks the LVDS is unplugged.

 

EFI here https://www.dropbox.com/s/qj20ozndi9towos/EFI.zip?dl=0

 

ioereg at bottom of the post.

 

33651352_ScreenShot2021-01-03at14_42_28.png.49734237d6d140d489e8da2a14a91712.png1035078838_ScreenShot2021-01-03at14_42_58.png.df248066385de9f6ccb4ad9c143b9aed.png

MacBook Pro (1).ioreg

Edited by chriz74

Use this DSDT.aml and the config.plist

 

 

DELETED GARBAGE FILES

Edited by chris1111
DELETED GARBAGE FILES

I will try later when I have access to the PC. Anyway the DSDT DSM method in GFX0 and in devices / properties in plist is redundant. There is no need to set inject intel true , we don’t need to inject it. Please check whatevergreen Intel faq. All inject a must be set to NO.
Device is injected through properties. 

The HD3000 is already working with hardware acceleration. It’s not a problem of GPU configuration.  

Edited by chriz74

You Know what you don't need whatevegreen Intel HD3000 works without this kext remove it and use a simple config.plist with the patch  DSDT 

Yes I just tried. Nothing changes apart Function keys don't work anymore. With the kext F5 F6 and F7 work normally. It doesn't seem to be a backlight problem. As you can see in the pictures the internal display is totally removed from IOREG when I unplug the HDMI one. It gets disconnected. It's almost like LVDS and HDMI are triggered by the HDMI event. I also tried ACPIDebug kext with a patched DSDT with all the methods. Unplugging the DMI screen doesn't log any ACPI event.

here you go. I took 3, first one with no screens, 2nd one after plugging in the external and 3rd after unplugging external.

As you can see the internal is not connected at all. After I unplugged the external the desktop remained extended in remote.

 

Archive.zip

 

screen in remote session after unplugging external:

 

Screenshot 2021-01-05 at 17.56.46.png

 

BIOS: 

Primary Display: IGFX

Internal Graphics: Enabled

GTT Size: 2MB

Aperture Size: 512MB

DVMT Pre-Allocated 64M (32M doesn't make any difference)

DVMT Total Gfx Mem MAX

Gfx Low Power Mode Disabled

Graphics Performance Analyzers Disabled

 

Enable PEG Disabled

 

Edited by chriz74

If DSDT with that patch and injectintel doesn't make any difference. you need change for more simple config.plist

 

Try this one 

config-Laptop.plist.zip

3 minutes ago, chris1111 said:

If DSDT with that patch and injectintel doesn't make any difference. you need change for more simple config.plist

 

Try this one 

config-Laptop.plist.zip 2.45 kB · 0 downloads

 

Sorry but the patch you proposed is completely wrong and the plist is not the problem.

Your EFI is completely wrong you use clover r5127 without Quirks, why not use a old clover revision

Why ask for help if you think you have the truth I can send you 10 HD 3000 laptop config with the same patch and their screen is functional and the HDMI works in addition

No you injected device 166003 which is HD4000. The correct patch would be

into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "AAPL,snb-platform-id", Buffer() { 0x00, 0x00, 0x01, 0x00 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
    })\n
}\n
end;

By the way using those quirks produced complete hang at boot.

I inject this patch

#Maintained by: RehabMan 
#graphics_HD3K_low.txt

 

#Maintained by: RehabMan for: Laptop Patches
#graphics_HD3K_low.txt
#
# Use this patch if your laptop has the standard 1366x768 screen
#
# Use dual-link if you have 1600x900 or have upgraded
# to 1080p screen.
#
#   Inject HDMI info into GFX0/IGPU
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "AAPL,snb-platform-id", Buffer() { 0x00, 0x00, 0x01, 0x00 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
    })\n
}\n
end;

 

Edited by chris1111

nope you injected this, check the DSDT you attached.

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x03                                           
                        })
                    }

                    Return (Package (0x06)
                    {
                        "AAPL,snb-platform-id", 
                        Buffer (0x04)
                        {
                             0x00, 0x00, 0x01, 0x00                         
                        }, 

                        "AAPL,ig-platform-id", 
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x66, 0x01                         
                        }, 

                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-1"
                        }
                    })
                }

 

If so This is weird !! I deleted weird garbage file

you know what I wanted to do now

 

Spoiler



#Maintained by: RehabMan for: Laptop Patches
#graphics_HD3K_low.txt
#
# Use this patch if your laptop has the standard 1366x768 screen
#
# Use dual-link if you have 1600x900 or have upgraded
# to 1080p screen.
#
#   Inject HDMI info into GFX0/IGPU
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "AAPL,snb-platform-id", Buffer() { 0x00, 0x00, 0x01, 0x00 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
    })\n
}\n
end;

 

 

Edited by chris1111
I deleted Garbage file

Thanks I will try tomorrow. Meanwhile in a general guide for hackintool I found you can specify the pipe for connectors like this:

<key>framebuffer-con0-pipe</key> <data> EgAAAA== </data>

 

So maybe it’s just a matter of setting the correct pipe for each connector.

Swapping connectors sort of worked. The internal screen is now on FB 2 still on DisplayPipe 0 and works without HDMI screen plugged in. However HDMI doesn't work anymore, meaning if I plug it in the PC doesn't do anything, it doesn't show up in ioreg.

 

Hardware acceleration also works with MacBookPro 9,2 SMBIOS but problem is the same.

Now I guess what would happen redirecting VGA to CON0, not that I need VGA but just to see what happens.

 

You know, I think maybe 9,2 is a better choice as that was based on 7 series chipset as this Laptop, and 7 series chipset is backward compatible with Sandy Bridge CPUs.

@Hervé I set con0 to 06020000 00010000 09000000 and also VGA works. By the way I tried to find out the port using intel registry dumper on linux but I don't see where the info should be. So I just put 9 to try and it worked.

 

 

Edited by chriz74
×
×
  • Create New...