chriz74 Posted January 4, 2021 Share Posted January 4, 2021 (edited) 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. MacBook Pro (1).ioreg Edited January 4, 2021 by chriz74 Link to comment Share on other sites More sharing options...
chriz74 Posted January 4, 2021 Author Share Posted January 4, 2021 At the moment this seems to be the only solution https://www.ebay.it/itm/1pcs-VGA-Virtual-Display-Adapter-HDMI-Dummy-Plug-Headless-Ghost-Emulator-Vide-K5/184592274213?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 (edited) Use this DSDT.aml and the config.plist DELETED GARBAGE FILES Edited January 5, 2021 by chris1111 DELETED GARBAGE FILES Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 You put the DSM method into GFX0 device in DSDT, that was already there in device properties in the plist. What changes did you do to the plist? I can't see any, and what in the DSDT apart that method in GFX0? Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 You don't even say if you tried it and if it works, the plist is change see correctly we need InjectIntel=true Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 (edited) 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 January 5, 2021 by chriz74 Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 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 Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 Yes I know it works however it takes care of other things like second stage screen garble, panel backlight etc. The DSDT with that patch and injectintel doesn't make any difference. @Hervé, Yep, only IGPU Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 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. Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 (edited) 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: 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 January 5, 2021 by chriz74 Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 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 Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 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. Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 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 Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 The patch you proposed mixes HD3000 and HD4000 device. It will not work and quirks don't make any difference. Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 Hey the patch is for HD 3000 Low screen 1366x768 only anyway good luck Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 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. Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 (edited) 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 January 6, 2021 by chris1111 Link to comment Share on other sites More sharing options...
chriz74 Posted January 5, 2021 Author Share Posted January 5, 2021 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" } }) } Link to comment Share on other sites More sharing options...
chris1111 Posted January 5, 2021 Share Posted January 5, 2021 (edited) 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 January 5, 2021 by chris1111 I deleted Garbage file Link to comment Share on other sites More sharing options...
chriz74 Posted January 6, 2021 Author Share Posted January 6, 2021 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. Link to comment Share on other sites More sharing options...
chriz74 Posted January 6, 2021 Author Share Posted January 6, 2021 Ah ! Too bad. Ok I’ll try what you suggested. Link to comment Share on other sites More sharing options...
chriz74 Posted January 7, 2021 Author Share Posted January 7, 2021 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. Link to comment Share on other sites More sharing options...
chriz74 Posted January 7, 2021 Author Share Posted January 7, 2021 (edited) @Hervé WOW, solved. Both LVDS and HDMI working with these patches. Also SMBIOS MacBookPro 9,2 but I think that doesn't make any difference. new ioregs.zip Edited January 7, 2021 by chriz74 Link to comment Share on other sites More sharing options...
chriz74 Posted January 7, 2021 Author Share Posted January 7, 2021 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. Link to comment Share on other sites More sharing options...
chriz74 Posted January 8, 2021 Author Share Posted January 8, 2021 (edited) @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 January 8, 2021 by chriz74 Link to comment Share on other sites More sharing options...
Recommended Posts