McSonite Posted November 29, 2020 Share Posted November 29, 2020 Hi All, This is my first OpenCore project. I'm running OC 0.6.3 and Catalina 10.15.7 in HP EliteOne 800 G1 All-in-One PC. This is an All-in-One PC (you might have decoded this from the PCs name ) and thus has an LVDS display. There is also one DP connector at the back of the machine. The problem is that I cannot get the iGPU running with 3D acceleration on the LVDS display. I have tried every gimmick in the Patching Whatevergreen guide. Best results I get when running with ig-platform-id 0300220D, framebuffer-stolenmem 00003000 and framebuffer-fbmem 00009001. But there is a catch here: Booting with above properties the LVDS goes black after the DSMOS has arrived. I had a feeling that graphics are actually displayed through the DP connecter. So, I went and grabbed an external display and connected it to the DP connector - and voila I have 3D acceleration. 'About This Mac' also shows that there is 1536MB of memory for the Intel HD Graphics 4600. I have spent vast amount of hours (60+) to get the 3D acceleration working on LVDS with no luck. Notes: I have gone through all the Haswell specific ig-platform-ids for both desktop and laptop. Most of these work but only without 3D acceleration and 7MB of memory for the graphics. If DP is connected during the boot process the machine hangs with error: Adding AGDP mode validate property. If I let the machine boot without DP connected so that the LVDS gets black and connect the DP after that I get the picture on the DP connected screen. When I started the project I had AppleALC kext installed and with most of the ig-platform-ids the machine kernel paniced during the boot process. I replaced the AppleALC with VoodooHDA and after that the kernel panics were gone - and I also got sounds working. I would appreciate a lot if someone could give me advice on how to get the 3D accelerated picture on the LVDS display. Regards McSonite Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 (edited) Here is the config file and snapshots from IOreg excerpt. I was unable to mask out the SN and other stuff from the IOReg output therefore I have attached only screenshots concerning the IGPU2. Please ask for more screenshots if needed. config.plist.zip Edited November 30, 2020 by McSonite zipped config.plist Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 Thank you for your quick reply. I actually am not concerned about the SN shown. I just read this from the New Users' lounge that you should take them away. Typo in fbmem was my bad. I just tried to replicate the config.plist that I had during the time of the IOReg capture. I'm not 100% sure about the display type but I suspect that it is LVDS because there is a BIOS setting for this i.e. setting the LVDS type: auto - Samsung - LG Processor is: Intel Core i5-4570S I have also tried this laptop buffer ID 0A260006 but machine posts with it only if I add -igfxvesa to the boot args. I have also tried changing the connector type with following parameters (running the mentioned recommended desktop buffer) framebuffer-con1-enable | data | 01000000 framebuffer-con1-type | data | 02000000 I will go on testing the SMBIOS 11,1 and also agdp=pikera ioreg_snap.zip Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 I have now tested with SMBIOS MacBookPro11,1 and with and without agdp=pikera - no luck. The only way to get the machine post is with the fb 0x0D220003 and it starts with black screen on the LVDS display. I changed the SMBIOS back to iMac14,4 I think I just have to give up 'cause I don't grasp the patching system and or how it correlates with the SMBIOS. Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 Ok. Will do. Is the con2-type data 00000002 because this could have been where I have gone wrong. I have user 02000000 I'll report after the test. Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 Unfortunately with these settings it starts with black screen. (Currently no external display connected to DP). Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 With -igfxvesa it works. This is how I got it installed in the first place. Note (if this has anything do with anything): The earlier IOReg that I posted was taken when the external display was connected to the DP port. Quote Link to comment Share on other sites More sharing options...
McSonite Posted November 30, 2020 Author Share Posted November 30, 2020 (edited) .. and the IOreg file ioreg_igfxvesa.zip Edited November 30, 2020 by McSonite Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 1, 2020 Author Share Posted December 1, 2020 Any ideas what to start doing with the con2 ? Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 2, 2020 Author Share Posted December 2, 2020 Ok. So, I installed Windows (yeah, I know, sorry about Win. None of the Linux distros I tried weren't running the Intel HD correctly i.e. screen res only 800x600 and they started w/ nomodeset or graphics safe mode only) in order to get more info on the Built-in-display. Intel HD Graphics Control Panel tells me that the connector type is actually Embedded DisplayPort. Now the question goes: What connector type should I choose for con2 if I'm using framebuffer 0D220003? Currently the deafult is DP and with that the screen is black. Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 2, 2020 Author Share Posted December 2, 2020 Is there something to debug this with? I'm not familiar with OC - Clover differences. In Clover there seems to be kexts for correcting the black screen issue and OC just tells to remove all the kexts and go with the WEG kext and patch it. Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 3, 2020 Author Share Posted December 3, 2020 (edited) Found out something while tweaking the MacOS via remote connection. VNC works while the screen is black. When running IORegExplorer it seems that FB2 connector type changes to 00080000 (HDMI). I suspect that the VoodooHDA or audio mapping to HDMI is the culprit in someway. I added -igfxnohdmi and then the connector type was 00040000. Edited December 3, 2020 by McSonite Corrected the connector types Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 3, 2020 Author Share Posted December 3, 2020 (edited) I'm following Dortania's guide to patch BusIDs but whatever I do I get HDMI defined for each FB as a connector type. BusID for indices 1 and 2 is set to 00 because I want to disable these. Can someone shed some light and tell me why? ioreg_allhdmi.zip config.plist Edited December 3, 2020 by McSonite Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 3, 2020 Author Share Posted December 3, 2020 11 minutes ago, McSonite said: I'm following Dortania's guide to patch BusIDs but whatever I do I get HDMI defined for each FB as a connector type. BusID for indices 1 and 2 is set to 00 because I want to disable these. Can someone shed some light and tell me why? ioreg_allhdmi.zip config.plist Let me do it myself. I was missing framebuffer-patch-enable. I'm losing my mind trying to understand this patching. Index, BusID, Pipe, conX, port, FB how it is in SMBIOS. Just cannot find a guide that matches these terms. I understand that this sounds like rantings of a blubbering idiot but... port #0 is actually on con2 con0 is port #5 con1 is port #7 How to for example decipher that? It needs not to be explained here but I would like someone to refer to a link where I can read this. Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 4, 2020 Author Share Posted December 4, 2020 Simple question: When the connector is eDP and I'm patching a framebuffer: Which connector type am I supposed to use LVDS 02000000 or Display Port 00040000? I have followed https://dortania.github.io/OpenCore-Post-Install/gpu-patching/intel-patching/busid.html#mapping-the-video-ports, used FB 0x0D220003 and gone though all the possible iterations with the BusIDs always disabling two of them and I have been using connector type 02000000 i.e. 01010900 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 01020900 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 01030900 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 etc. and 01000900 00040000 87000000 02010A00 02000000 87000000 03000800 00040000 11000000 01000900 00040000 87000000 02020A00 02000000 87000000 03000800 00040000 11000000 01000900 00040000 87000000 02030A00 02000000 87000000 03000800 00040000 11000000 etc. and same for the index 3. And also I have tested all iterations with flags being 0x8 (https://github.com/acidanthera/WhateverGreen/blob/master/Manual/IntelFramebuffer.bt) /* Normally set for LVDS displays (i.e. built-in displays) */ uint8_t CNConnectorAlwaysConnected :1; /* 0x8 */ i.e. 01010800 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 01020800 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 01030800 02000000 87000000 02000A00 00040000 87000000 03000800 00040000 11000000 etc. and same for indices 2 and 3 I still always get black screen on the built-in-display (SMBIOS is currently set to iMac14,1) Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 5, 2020 Author Share Posted December 5, 2020 Can someone please help me out? When it works I'm able to backtrack what was done and maybe start understanding something about the patching process. Quote Link to comment Share on other sites More sharing options...
McSonite Posted December 6, 2020 Author Share Posted December 6, 2020 (edited) No, no, no on no... 20+ hours used. No luck. I have now tried to inject EDID of the built-in display. How to tell which one of the following to use? AAPL00,override-no-connect AAPL01,override-no-connect AAPL02,override-no-connect Edited December 6, 2020 by McSonite Forget about the config.plist. It is full of errors. Quote Link to comment Share on other sites More sharing options...
Saif H. Posted March 20, 2021 Share Posted March 20, 2021 On 12/3/2020 at 2:42 PM, McSonite said: Found out something while tweaking the MacOS via remote connection. VNC works while the screen is black. When running IORegExplorer it seems that FB2 connector type changes to 00080000 (HDMI). I suspect that the VoodooHDA or audio mapping to HDMI is the culprit in someway. I added -igfxnohdmi and then the connector type was 00040000. Hi, Were you able to fix this? I'm experiencing exact same issue on icelake. Quote Link to comment Share on other sites More sharing options...
kashue Posted July 27, 2021 Share Posted July 27, 2021 On 12/7/2020 at 2:40 AM, McSonite said: No, no, no on no... 20+ hours used. No luck. I have now tried to inject EDID of the built-in display. How to tell which one of the following to use? AAPL00,override-no-connect AAPL01,override-no-connect AAPL02,override-no-connect Hi McSonite, I have a HP AIO also but different model. I'd experienced the same problem before; internal display black screen, only external DP has proper output with hardware acceleration. Finally, I was able to fix it. Here's the steps: 1. Boot up using Windows (I've used some guide for installing windows on external usb hdd) 2. Find some freeware for Windows to get EDID (I've also tested many softwares under Linux, seems all couldn't read the HP AIO display EDID properly) ** as far as I remembered, the freeware under Windows can't export the EDID in correct format ** 3. Manually edit the EDID to 2 characters, space, 2 cahracters, space, etc... eg. 00 FF FF FF FF FF FF 00 22 0E 40 19 00 ... 4. Use AAPL00,override-no-connect to inject the EDID, which can solve the internal display black screen problem. (it took me 2 weeks to solve this issue -_-) ** There's still some issue after using this fix. When you power on computer with external DP connected, only external DP has display. If you really want to have dual display, you need to boot up with no external DP connected first. After boot up and logged in, connect the external DP and go to System Preferences > Displays. By holding Option (or Alt) button, it will show "Detect Display". That will trick the external DP to show up. ** Since I don't need to use dual display, I haven't go deeper to investigate if there's any other better fix on the external DP dual display. Please note that the HP AIO internal display uses eDP (embedded display port), not LVDS. I think that this information is useful if you need to investigate further. I've attached my EDID here, but I think that your display may not be the same of mine. I would suggest you use the above method to get your correct EDID. Hope this can help EDID HP AIO.txt Quote Link to comment Share on other sites More sharing options...
Jake Lo Posted August 24, 2021 Share Posted August 24, 2021 (edited) @kashue What do you have set for deviceproperties? Mind sharing your Config file, just remove all serial #? Edited August 24, 2021 by Jake Lo Quote Link to comment Share on other sites More sharing options...
silicongraphics Posted August 4, 2022 Share Posted August 4, 2022 I have a DELL aio with a similar eDP display that does not work, but i have no other display outputs. Only way i can get in is by remoting into it with my real macbook, where the acceleration does seem to work. It has HD4000, but would this still work? How do i change my EDID? Could you provide your config if you're using opencore? Thanks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.