seven-of-eleven / Lenovo-ThinkPad-X1C7-OC-Hackintosh

OpenCore configuration for Lenovo ThinkPad X1C7 for MacOS
29 stars 6 forks source link

No Graphics Acceleration / NVRAM #6

Closed markchen8717 closed 2 years ago

markchen8717 commented 2 years ago

After getting Monterey installed by removing the device-id entry in the config.plist outlined in #5. I notice that inside About This Mac, it states I only have 7MB of VRAM and all display is laggy. I tried adding the entry back but it won't let me boot so I removed it again. It seems like without the entry some kext might not be applied causing the low VRAM issue. Any workaround from adding it back?

seven-of-eleven commented 2 years ago

Great to hear you're making progress. I would suggest first to try and setup your DeviceProperties with the values outlined in the OpenCore Guide.

Try keep it as simple as possible to start with just the AAPL,ig-platform-id and the device-id

PciRoot(0x0)/Pci(0x2,0x0) My first config.plist had the following values: AAPL,ig-platform-id of 0900A53E and device-id of A53E0000 However the guide suggests the following values: AAPL,ig-platform-id of 00009B3E and device-id of 9B3E0000 which I'm now using thanks to @NotARobot6969

Try both and see if they work. You shouldn't need any of the framebuffer* values.

markchen8717 commented 2 years ago

Hey @seven-of-eleven, thanks for the suggestions. I tried them out and here are the results.

Upon trying AAPL,ig-platform-id of 0900A53E and device-id of A53E0000 the computer enters a restart loop. (Screenshot before it does) image

Trying AAPL,ig-platform-id of 00009B3E and device-id of 9B3E0000. The computer enters a restart loop even sooner. (Screenshot before it deas) image

However, when I tried putting the lid down and connecting an external monitor through a USB-C dongle (doesn't work with a direct HDMI connection), AAPL,ig-platform-id of 00009B3E and device-id of 9B3E0000 works! The VRAM shows 1500+MB and the visual lag disappears. Although, the built-in display does not work, unplugging the USB-C dongle will result in a black screen.

not-nullptr commented 2 years ago

@markchen8717 are you 100% sure your gpu and/or display isn't busted? its failing to initialize the igpu in the second screenshot.. could you send a screenshot of your config.plist? furthermore, maybe try booting with only lilu, virtualsmc and whatevergreen. probably won't work but does rule out the possibility of kexts being busted.

markchen8717 commented 2 years ago

Hey @NotARobot6969, I removed wegnoegpu from the boot args and was able to finish iniitializing the igpu before crashing.

image

Btw, my model has a 14" 1080p SDR display, which is different from the one in the README, could that be an issue?

Just to double check, booting with only lilu, virtualsmc and whatevergreen can be achieved by disabling all the other kext in the config.plist right? Should I use the original values from the original config.plist or just AAPL,ig-platform-id and device-id?

My config.plist: https://gist.github.com/markchen8717/22f9d9dbb5c22a5d7651cce8e571a6f2

seven-of-eleven commented 2 years ago

Hey @markchen8717 removing wegnoegpu seems to have gotten you much farther along. I had forgotten that I did not have that boot-arg in my earlier config.plist files. Did your computer crash or just stall it seems to be having an issue with ethernet/wifi (en1)? To try @NotARobot6969 suggestion above, yes you can simply disable them in the config.plist file. Note that once disabled your keyboard and trackpad wont work, but at least you'll know if you can complete booting into the OS.

First I would try the other APPL,ig-platform-id and device-id to see if they work. I also looked through my BIOS settings and noted I actually have Total Graphics Memory set to 512MB. That shouldn't make a difference (as you only need 64MB AFAIK), but just in case try that change as well.

markchen8717 commented 2 years ago

Hey @NotARobot6969 and @seven-of-eleven, I tried disable every kext except for lilu, virtualsmc and whatevergreen but it didn't work.

I tried setting Total Graphics Memory to 512MB, (it appears that one must also set Thunderbolt Security Level to DisplayPort and USB in order for this to work), but still no luck.

image

It is very strange that everything works if I boot with the lid closed and connect to an external monitor via USB-C dongle (not direct HDMI connection).

Both combinations of AAPL,ig-platform-id of 0900A53E and device-id of A53E0000, AAPL,ig-platform-id of 00009B3E and device-id of 9B3E0000, does not work, only a complete removal of device-id works, but without graphics acceleration.

Btw, the computer doesn't stall, it completely blanks out and restarts.

seven-of-eleven commented 2 years ago

Hey @markchen8717 following up with the above. Did you reset your NVRAM after changing your config.plist?

I don't think the different display would be the issue. It shouldn't change the iGPU settings required.

You mentioned you were setting up for dual boot (in your previous post). Is that still the case, and if so are you booting from shutdown into MacOS? Or rebooting from Windows into MacOS? I've read in the past some UEFI settings are retained when booting from Windows to MacOS. Resetting the NVRAM should clear that issue.

penholderu commented 2 years ago

I have exactly the same problem with @markchen8717 on my brand new x1c7. New SSD (crucial p2 with 4k sector) even installs without any problem after removing the device-id. But I cannot get any graphic acceleration.

Trying newer kexts or different device-id's didnt resolve the issue. I never installed windows and also reset the NVRAM but no luck.

Maybe something is wrong with the bios settings in our part

seven-of-eleven commented 2 years ago

Hey @penholderu it could be a BIOS setting or perhaps the BIOS version. For reference I have BIOS version 1.41 (N2HET58W) installed on my X1C7. Can you check yours BIOS version?

penholderu commented 2 years ago

Mine is 1.51(N2HET68W).

seven-of-eleven commented 2 years ago

@penholderu Looks like you have the latest version and mine is very out of date. @NotARobot6969 do you know what BIOS version you have? I'm not sure if this is the issue but it could be. You may have additional/different settings with the new BIOS. Not my area of expertise by any means. It is very strange that you and @markchen8717 have the same issue. Not sure if you can downgrade your BIOS? Otherwise I can post screen shots of my BIOS settings for you to compare with.

The WhateverGreen guide has a bunch of additional AAPL,ig-platform-id options available for Whiskey Lake. It may be worth while to work through those to see if they work. You'll need to convert them to use them. Let me know if you need help with that?

seven-of-eleven commented 2 years ago

For reference I added screenshots of all my BIOS settings in the Other folder of the github repo.

penholderu commented 2 years ago

So I cross checked every single option with your bios, there are no new options in the newer one. Sadly making everything same with yours and resetting the nvram didnt helped the issue.

My EFI folder is exactly same with the one in the repo. Except changing the boot argument to -v only. I dont think Smbios have anthing to do with this, I still have the bogus serial. Also my monterey is in 12.3.1, I might boot without acceleration and update it to latest if you think it would do something but I also tried a big sur recovery one from macrecovery which also didnt boot...

Only hardware difference is that I have an i7 8565u, dont think it would make a difference...

seven-of-eleven commented 2 years ago

@penholderu so I'm thinking it must be related to either the BIOS version (which I'm not sure it you can change at this point) or the AAPL,ig-platform-id (as it boots without acceleration). There is a number of options you can try based on the WhateverGreen guide for UHD 620 graphics. I've converted them in the table below.

Framebuffer Type Connectors TOTAL STOLEN Memory Re ordered for config.plist
3EA50009 mobile 3 58 MB 0900A53E
3E920009 mobile 3 58 MB 0900923E
3E9B0009 mobile 3 58 MB 09009B3E
3EA50000 mobile 3 58 MB 0000A53E
3E920000 mobile 3 58 MB 0000923E
3E000000 mobile 3 58 MB 0000003E
3E9B0000 mobile 3 58 MB 00009B3E
3EA50004 mobile 3 58 MB 0400A53E
3EA50005 mobile 3 58 MB 0500A53E
3EA60005 mobile 3 58 MB 0500A63E
3E9B0006 mobile 1 39 MB 06009B3E
3E9B0008 mobile 1 58 MB 08009B3E
3E9B0007 desktop 3 58 MB 07009B3E
3E920003 desktop 0 1 MB 0300923E
3E910003 desktop 0 1 MB 0300913E
3E980003 desktop 0 1 MB 0300983E
9BC80003 desktop 0 1 MB 0300C89B
9BC50003 desktop 0 1 MB 0300C59B
9BC40003 desktop 0 1 MB 0300C49B

You'll have to try them one at a time. I would use the recommended device-id of A53E0000 while testing the options above. Other than trial and error I'm not an expert on iGPU patching. Perhaps @NotARobot6969 has experience as he managed to get the HDMI working.

seven-of-eleven commented 2 years ago

@markchen8717 @penholderu I found another post where someone had a similar issue with their X17C. They solved it by adding -igfxmlr too the boot-args. May be worth a try.

Note the repo reference use the AAPL,ig-platform-id of 00009B3E and device-id of 9B3E0000

penholderu commented 2 years ago

@seven-of-eleven It worked!

I guess -igfxmlr did the trick... Also set the platform id as 0900A53E. I was just randomly trying those lol. Not sure platform-id did anything but felt the need to say it. I will revert it to see if it makes any difference.

Thank you very much for your generous help, you just made my day!

PS: Just tried it without changing the EFI, it still works. We only needed that boot arguement.

seven-of-eleven commented 2 years ago

@penholderu That's great news. Thanks for testing and reporting back. I'll wait to hear from @markchen8717 to ensure it solves the issue for him as well before closing it. (I'll update my README file as well in the coming days).

markchen8717 commented 2 years ago

Hey @seven-of-eleven and @penholderu, great news, so I took the latest default config.plist from the repo and removed -wegnoegpu and added -igfxmlr and was able to boot with graphics acceleration.

However, connecting to an external monitor doesn't work for both direct HDMI connection or USB-C dongle connection.

@penholderu any luck with external monitor connections?

seven-of-eleven commented 2 years ago

@markchen8717 great to hear its working I'm closing this issue and have created a new one for the HDMI issue.