audiosurplus Posted August 3, 2022 Share Posted August 3, 2022 Hi everyone, I'm trying to get catalina going on an older Dell Optiplex 3011 AIO with an i7-3770K and Intel HD 4000 graphics. I have the installer USB going and it seems to boot all the way through - but at the point where normally the verbose text goes away and the apple logo appears, the display just shuts off, backlight and everything. I was able to eventually get everything installed to the SSD using the -igfxvesa flag, that does bring the screen up at full res but very laggy and only 5mb of VRAM detected. No acceleration obviously. I've tried googling around and cant find too much on the issue, but I've been trying different AAPL,ig-platform-id's and added igfxonln=1 to my boot-args. So far nothing has changed my issue. Does anyone have any ideas of what else i should try? Thanks!!! Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 4, 2022 Administrators Share Posted August 4, 2022 Hi, please specify the bootloader and bootloader version you're using. Post a zipped copy of the EFI folder. What's the screen resolution on this AIO? Link to comment Share on other sites More sharing options...
audiosurplus Posted August 4, 2022 Author Share Posted August 4, 2022 It has a 1600x900 Display. I can send photos of the info section on the windows intel drivers config page, otherwise I'm using opencore 0.8.2, though i do plan on updating to the latest version once i get everything working. Here's my EFI: EFI.zip Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 4, 2022 Administrators Share Posted August 4, 2022 Ok, we'll probably have to make adjustments on the graphics properties injection side. AIO computers usually have an LVDS type built-in screen, just like laptops. This will need to be taken into consideration. Capri mobile framebuffer 0x0166004 is probably a good one to start with, without any of those connector patches you currently have in your config. Also remove the stolenmem patch, it's not applicable to HD4000 graphics. On the CPU power management side, you've correctly applied the CpuPm quirk (patch) but you're missing the generated CPU PM SSDT for your Ivy Bridge CPU. You'll need that as it'll define the correct settings for your particular CPU. Use the good old generator script from Pike R Alpha to that effect. Link to comment Share on other sites More sharing options...
audiosurplus Posted August 4, 2022 Author Share Posted August 4, 2022 I did previously try the 0x0166004 framebuffer, but it makes no difference. I was able to find that my display is actually connected with eDP or embedded displayport, not LVDS through the intel drivers on the windows side. I'll try to get CPU PM SSDT going in the morning, do you think that could help my situation with the graphics? Also, i should mention that i am actually able to remote into the machine from my real mac pro and without the igfxvesa flag, it seems to have full acceleration and everything, just there's no internal display. I tried a USB displaylink dock and that worked too. I've tried messing with the connector settings as well but to no avail. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 4, 2022 Administrators Share Posted August 4, 2022 LVDS or eDP, it's the same thing for a Capri framebuffer. Makes no difference. There's a chance you'll need to inject your screen's EDID because the actual display is not natively supported/recognized. You can look this up, plenty of ways to get this through Windows or Linux. You then inject this in your bootloder's iGPU device properties set through DATA property AAPL00,override-no-connect for which you specify the hexadecimal value of your EDID (without any space or comma characters, just the Hex value). Link to comment Share on other sites More sharing options...
audiosurplus Posted August 5, 2022 Author Share Posted August 5, 2022 Ah, I haven't come across this on any of my searches, I don't think. I'll definitely give that a shot and report back here. Thanks!!!! Link to comment Share on other sites More sharing options...
audiosurplus Posted August 5, 2022 Author Share Posted August 5, 2022 Alright, so I think i have my EDID successfully injected now, and I've removed the connector and stolenmem patches. I've been playing around with the platform IDs to see if anything's changed: Using 0A006601 and 0B006601 (from doritania guide) doesnt make any changes on the internal display, however connecting over screen sharing from my real mac does show that the machine detects the "OptiPlex 3011" display at its full resolution and now lists the HD Graphics 4000 in the "about this mac" window. Tried 04006601 next, and it freezes at the point where the display would normally shut off and the remote desktop would reconnect. I left it here for a while to see what would happen and i came back later to find the CPU fan at 100% speed. Lastly using 09006601 corrupts the verbose boot graphics (but only the last screen before the gpu initializes, there are no log updates underneath the corrpution) and the remote desktop does work. Besides the internal display staying on with corrupted graphics, it was exactly the same as the first to IDs. I'm going to try more from the whatevergreen patching guide as well as getting CPU PM working, and will report back here. Should i also remove framebuffer-fbmem and framebuffer-patch-enable from my config? My machine has no option for 64MB DVMT, so afaik i do need these. Thanks!! Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 6, 2022 Administrators Share Posted August 6, 2022 If you use a desktop Capri framebuffer, you most probably need to patch 1st connector con0 to LVDS/eDP type. Example: ID: 0166000A, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000 TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34615296 bytes) Camellia: CamelliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 2 [2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP [3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP [4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI 02050000 00040000 07010000 03040000 00040000 07010000 04060000 00080000 06000000 ID: 0166000B, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000 TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34615296 bytes) Camellia: CamelliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 2 [2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP [3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP [4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI 02050000 00040000 07010000 03040000 00040000 07010000 04060000 00080000 06000000 Capri FB 0x01660004 or 0x01660009 do offer such LVDS/eDP output out by default because they're mobile layouts: ID: 01660004, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000 TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 16 MB, MAX OVERALL: 17 MB (18354176 bytes) Camellia: CamelliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz Mobile: 1, PipeCount: 3, PortCount: 1, FBMemoryCount: 1 [5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS 05030000 02000000 30020000 ID: 01660009, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000 TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 48 MB, MAX OVERALL: 49 MB (51916800 bytes) Camellia: CamelliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3 [1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS [2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP [3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP 01000000 02000000 30000000 02050000 00040000 07010000 03040000 00040000 07010000 Try and patch Capri FB 0x0166000A or 0x0166000B connector con0 with: framebuffer-con0-enable 1 NUMBER framebuffer-con0-alldata 010000000200000030000000 DATA or things like that, i.e. the LVDS/eDP connector of a Capri mobile framebuffer. Refer to the Whatevergreen User Manual for the list of Capri FB and their settings. Ideally, you'd need the IOReg of a 2013 HD4000 Education iMac13,1 to look at, 2012 iMac13,1 models with nVidia Kepler graphics using headless Capri FB 0x01620006. Link to comment Share on other sites More sharing options...
audiosurplus Posted August 6, 2022 Author Share Posted August 6, 2022 Where could i find the IOReg of the 2013 iMac? I did notice that mactracker didnt list the 2012 as having HD4000, only the Nvidia card but everymac.com did list the education model. I was trying a couple different framebuffer patches from the whatevergreen manual and so far haven't found any that make a difference. Do i need the computer to identify as the 2013 education model for the iGPU to be enabled? Or maybe do i need to try a different connector? Hackintool now lists "Index 1" as external. Not sure if that's what the internal display is connected to, or if it means anything at all. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now