Jump to content

Mojave or High Sierra | Comet Lake i9 10850K | iGPU UHD630 | Z490 |Opencore | iGPU Framebuffer Patching


kentsoon
 Share

24 posts in this topic

Recommended Posts

Maybe I'm not the only one who wants to keep running on High Sierra (or Mojave) because of hundreds of 32bit Plugins and Apps not running on Catalina or Big Sur, but still take advantage of faster CPUs.

This post is ONLY about getting the iGPU up and running.

 

So I built this:

ASUS TUF GAMING Z490-PLUS (WI-FI)

i9 10850K with UHD 630 - DP and HDMI output | iGPU-Device ID: 0x9BC5

MacOSX High Sierra.

 

To install High Sierra, I used this EFI from github by vectorseven.

 

I installed Opencore and finetuned the config.plist with https://dortania.github.io/OpenCore-Install-Guide/prerequisites.html#prerequisites

Plattform is imac 18,3

 

WHAT WORKS:

Basically everything. System is stable, and works great.

Wifi, Bluetooth, Ethernet, ALCS1200 AUDIO on the Motherboard all work flawless.

DisplayPort (DP) and HDMI output works.

 

WHAT DOES NOT WORK:

No Audio on DP and HDMI, iGPU only 18MB VRAM, the 2 Display-Monitors run in Mirroring Mode, no possibility to get them in seperated Mode (MacOS only recognices ONE Display)

 

GOAL:

Patch the IGPU using Opencore Framebuffer Patching with Whatevergreen.

Getting rid of the 18MB VRAM

Setting up connectors for HDMI and DP

 

I tried numerous things, different device-IDs, Hackintool etc. but nothing seems to make a difference.

 

This is where I'm at:

 

1304728535_ScreenShot2021-05-16at02_05_42.png.09c960129c0bb96bf47b62e03bc16345.png

 

1932204884_ScreenShot2021-05-16at02_06_21.png.3b78e5ab366ff29abbdfdc26c840b5e9.png

 

1470200723_ScreenShot2021-05-16at02_07_18.png.00b441c2ddc18ef46999304513ae08b9.png

 

 

37972327_ScreenShot2021-05-16at02_12_13.png.a15847aec388f8b85b62d35993e6a5b9.png

 

config.plist

 

 

Anybody willing to dive into this?

 

I know, I could just install a used Nvidia Card from ebay. But hey - there's no fun in that, right?

 

 

Edited by kentsoon
Link to comment
Share on other sites

Thanks for the input.
Of course I know about the hex values etc. Its pretty good explained in the opencore guide. After I tried different device-ids listed on the WEG Page I gave up.

The sreenshot I took after some guy in this forum, who claims he "knows" gave these to me.

Anyway -  the result was the same.


The second part of your answer is very helpfull, thank you. I will first install Mojave and see if that satisfies my need of running all that old projects.

 

My SMBIOS is imac18,2 but I also tried 18,3

 

I also tried to inject using hackintool and selecting older iGPU Models.

 

Anyway. I will install Mojave, then get back to work on it. At the moment I installed a Nivida GTX 770 from my other Mac and everything runs flawless, even under High Sierra.

But I sure would like to get that iGPU up and running.

 

 

 

Link to comment
Share on other sites

I was not very successfull getting the iGPU working under High Sierra. However I temporarily installed an Nvidia GTX 770 and everything worked flawless.

 

For the iGPU  I got errors on bootup like: (IGPU) Intel graphics driver failed to load could not registered with framebuffer


Whatevergreen claims that it natively supports iGPU 0x9BC5

 

947445235_Screenshot2021-05-17at23_51_12.png.976585cbc2c2b2cf2f8527e21d3d84e2.png

 

but High Sierra (or Mojave) do not support this Generation of CPUs/iGPUs. As a result I could not inject proper VRAM without the Display flickering, and glitching.

After I upgraded to Mojave things got easier.

 

I experimented a lot with combinations and I ended up with this:

 

1367321329_Screenshot2021-05-17at23_40_39.png.8934fea19e737e5aaa999576c9c417f6.png

 

Basically the device-id is from a Coffe-Lake iGPU, that is supported by Mojave in late 2019 iMacs, I guess.

 

829688679_Screenshot2021-05-18at00_04_06.png.8efeff2de3de8fcdc895e96ddff2339b.png

 

 

475877844_Screenshot2021-05-18at00_06_03.png.c6810370e2b8d95d8992ea0cb5dcd3b4.png

 

 

 

It works for 95% of the time, which means I have a 4k Monitor hooked up via DP to the Displayport of the Asus Mainboard (iGPU). Not needing an additional Graphicscard (dGPU)

 

the other 5% of the time, the Display has "glitches" after I boot the Computer. I then reboot, resetting NVRAM, than it goes away.

 

I post my config.plist here. Its a standard OpenCore Installation for Comet Lake but you have to inject proper Cpuid1DATA Cpuid1MASK from the OCHACK/VectorSeven Github EFI.

Otherwise High Sierra or Mojave will not run. I used SMBIOS imac19,1.

 

1898754734_Screenshot2021-05-17at23_46_49.png.d20ac69a236fdd34b005dadf843ce69c.png

 

 

config.plist

 

Besides the iGPU everything runs flawless. maybe it would have been a better idea to go for an i9-9900K CoffeeLake, because it is supported by Mojave in the Late 2019 iMacs.

 

Anyway, case closed.

 

Unless somebody has a really good Idea on how to improve integration of 10th Generation Intel CPUs with Mojave.

 

 

 

Screenshot 2021-05-18 at 00.04.57.png

Edited by kentsoon
Link to comment
Share on other sites

@Hervé

Hi Herve,

thanks again for your input.

I learned a couple of things the last few days. I didn't even know, that one could look up the device id in the Info.plist of the CFL framebuffer kext of High Sierra's built.

I definitely want to learn more about all this.

However, plowing through Forum after Forum doesn't get me there.

 

Thanks.

 

Edited by kentsoon
Link to comment
Share on other sites

I have Mojave and Catalina installed on the same SSD (APFS) - booting with opencore.

 

But I want different settings in the config.plist for Catalina. Basically because the iGPU has different settings in both OSs.

 

How can I achive this?

Or do I have to setup a second EFI Partion for each OS on another drive? Then I would have to open up the Bios to switch the boot drive?

 

sorry, if this question has been asked before. I googled, but didn't find a lot.

Link to comment
Share on other sites

No way to set different device properties between different OSes. I'd say you might be able to use ACPI but I don't think there is anyway to get the macOS version in ACPI. I'm somewhat surprised that your iGPU properties change between the two OSes though, they don't differ on my laptops.

Link to comment
Share on other sites

Guest 5T33Z0

There is a way:

 

Format an USB Stick in FAT32. Put the EFI folder with the config for the other OS on it and just boot from that when necessary. It's the only way to do it iif you have 2 macOS installs on one phisiocal disk.

 

You should add entries to NVRAM > Delete for for Parameters that are different in both configs, so these values get deleted on reboot - like csr-active config for example.

Link to comment
Share on other sites

I think the better way would be

 

- to create 2 different EFI partition (you'll loss about 100MB space only - that's almost nothing)

- install OC for the each partition, provide the corresponding plist and configure startup disk per each OS

- set ShowPicker=false (to skip OC's menu as the rEFInd boot manager will be used for OS selection)

- install rEFInd onto any partition you created: https://www.rodsbooks.com/refind/

- you may need to add rEFInd to the BIOS boot menu via EFI Shell.

- create rEFInd boot entries, specify path to the corresponding BOOT.efi for the each OC installation, set os type to MacOS, graphics = on

- set rEFInd as the default boot option in the BIOS

- on first boot delete any extra rEFInd boot options found (select them and press "-"). Your boot options created manually will be shown with the correct mac icon, and there won't be a 'booting xxxx' text message before OS starts loading and apple logo shown

 

That's all. You could select OS you want when your PC is starting up, no need to change boot option in BIOS or to clicking F12 to enter boot menu

 

Edited by Cyberneticist
Link to comment
Share on other sites

Guest 5T33Z0

@Cyberneticist That's a whole lot of work for something that can easily be achieved by simply preparing an USB bootstick stick with an alternative EFI config in 2 minutes :D

Edited by 5T33Z0
Link to comment
Share on other sites

3 hours ago, Hervé said:

And how do you create 2 x different EFI partitions on a single disk?

I wanted to try to install 3 systems in one disk and have OC manage the boot, it works perfectly. As you can see the disk is dev / disk2 with 2 EFI partitions. I had to create the second one because Garuda (linux) different Ubuntu , asked me for it, I shrunk the Garuda partition (previously created by the  Diskutility) obtaining 200mb, during the installation . I believe that however with a Live Linux distro such as gParted it is feasible

Schermata 2021-05-19 alle 01.05.49.png

Edited by antuneddu
Link to comment
Share on other sites

13 hours ago, 1Revenger1 said:

No way to set different device properties between different OSes. I'd say you might be able to use ACPI but I don't think there is anyway to get the macOS version in ACPI. I'm somewhat surprised that your iGPU properties change between the two OSes though, they don't differ on my laptops.

 

12 hours ago, Hervé said:

An alternative would be to switch to Clover because Clover supports calling different configuration files and adjusting settings through its main boot screen menu. OpenCore does not allow such useful features unfortunately. Maybe in future versions, who knows?

 

If you opt for 2 x different disks, your BIOS should normally be expected to offer some sort of boot menu after pressing a function key and you'd then choose which drive to boot from that menu.

 

What are the differences in settings you use between Mojave and Catalina for CML UHD630? Both should call on the same CFL properties injection as I explained to you here and here, shouldn't they? I too am a little puzzled by your statement but it's a little hard to follow what you do through all those multiple threads...

I should have explained more.

 

1. In order to start/run Mojave with the i9 10850k using the iGPU, I need to set parameters in the Cpuid1DATA Cpuid1MASK as explained here (click)

Unless somebody has a solution to run iGPU on i9 10850K in MOJAVE without that.

I dont need these settings in Catalina.

 

2. I need different Kexts in Kext Folder for Cat and Moj e.g. AirportItlwm.kext. So I need two different EFI Folders - one for each OS.

 

3. As for Clover: It supports different OSs by providing OS Version-Folders to store different Kexts for the appr. OS. However -  also Clover has only ONE Config.plist. Unless somebody explains to me different. Or could you save your config.plist in the Kext Folders??? I don't think so.

 

 

In theory you could have as many EFI Partitions as you like using a Partition Programm. However you would have to name them all EFI for the UEFI bios to find them, and thats the problem.

 

 

Edited by kentsoon
Link to comment
Share on other sites

Guest 5T33Z0
9 hours ago, Allan said:

@kentsoon Take a look: BootloaderChooser

 

I didn't test it (yet) but sounds really useful for ya! :D

 

NIIICE. I just tried this from a bootstick. Works fine.

  • I copied BootX64.efi from the repo to EFI > Boot
  • Moved the CLOVER Folder to EFI > CLOVER

And now I can chose which Bootloader to startm OC or Clover . The Folder structure looks like this:

 

1127247355_Bildschirmfoto2021-05-19um10_22_43.png.ed3e1a530f494aebbd5df0d5a2e8e8e9.png

 

 

Link to comment
Share on other sites

Okay, to sum it up:

 

I am running Mojave on a i9 10850K (COMET Lake) using the iGPU.

To get mojave running under Comet Lake I have to inject proper Cpuid1DATA Cpuid1MASK from the OCHACK/VectorSeven Github EFI.

Otherwise High Sierra or Mojave will not run. I used SMBIOS imac19,1.

1898754734_Screenshot2021-05-17at23_46_49.png.d20ac69a236fdd34b005dadf843ce69c.png

 

I have an ASUS TUF Gaming Z490 wifi motherboard, which has a DP and an HDMI Port.

 

I managaed to get the DP Port up and running, but the HDMI Port is not working. I also have no AUDIO over DP.

 

I had to fake the iGPU in the config.plist to get VRAM and Hardware acceleration.

 

1367321329_Screenshot2021-05-17at23_40_39.png.8934fea19e737e5aaa999576c9c417f6.png

 

Now  I am trying to get HDMI working and maybe Audio over HDMI or DP.

 

To achieve that, I tried to enable and patch connectors, but it didn't work. I have no HDMI and no AUDIO.

 

1740322503_Screenshot2021-05-19at11_31_59.png.05bea5315737c4e5f1d95c2b851f4c84.png

 

The UEFI BIOS settings for the Mainboard are: Main GPU =CPU

Multi Monitors: Enabled.

 

So, what I am trying to achive is to get HDMI port working for a second Monitor. And to get HDMI Audio over the DP and HDMI.

 

config.plist

 

Displayport IOreg.zip

 

Edited by kentsoon
add config and ioreg
  • Thanks 1
Link to comment
Share on other sites

8 hours ago, kentsoon said:

2. I need different Kexts in Kext Folder for Cat and Moj e.g. AirportItlwm.kext. So I need two different EFI Folders - one for each OS.

 

3. As for Clover: It supports different OSs by providing OS Version-Folders to store different Kexts for the appr. OS. However -  also Clover has only ONE Config.plist. Unless somebody explains to me different. Or could you save your config.plist in the Kext Folders??? I don't think so.

You can set a minkernel and maxkernel for each kext. I just changed the kext name to AirportItlwm-Cat, AirportItlwm-Moj, and AirportItlwm-BS, then changed the bundle path for those (not the executable path since I didn't change anything inside the kext), then set min and max kernel accordingly.
Generally you can do MinKernel = xx.0.0and MaxKernel = xx.99.99, where xx is going to be the major kernel version. For most macOS versions, that'll just be the version number we see (10.14 or 10.15) + 4. So for AirportItlwm-Cat, that'd be 19.0.0/19.99.99 while Mojave would be 18.0.0/18.99.99

If you wanted to put certain kexts in a folder within the Kexts folder, you probably could by changing the bundle path to reflect that, but I haven't tried myself.

Link to comment
Share on other sites

  • 1 month later...
On 5/17/2021 at 1:11 AM, kentsoon said:

Thanks for the input.
Of course I know about the hex values etc. Its pretty good explained in the opencore guide. After I tried different device-ids listed on the WEG Page I gave up.

The sreenshot I took after some guy in this forum, who claims he "knows" gave these to me.

Anyway -  the result was the same.


The second part of your answer is very helpfull, thank you. I will first install Mojave and see if that satisfies my need of running all that old projects.

 

My SMBIOS is imac18,2 but I also tried 18,3

 

I also tried to inject using hackintool and selecting older iGPU Models.

 

Anyway. I will install Mojave, then get back to work on it. At the moment I installed a Nivida GTX 770 from my other Mac and everything runs flawless, even under High Sierra.

But I sure would like to get that iGPU up and running.

 

 

 

Kentsoon,

You should have asked me earlier! I have a build that I made for the Z490 running High Sierra & Mojave on i5-10500K & i9-11900K since early this year. Basically everything pretty much works (barring the non-accelerated i9-11900K performance in Big Sur). Otherwise the Comet Lake chip works totally fine.

I used iMac 18,3 on the High Sierra, iMac19,1 on Mojave & Catalina and MacPro7,1 on Big Sur. You need to add framebuffer-fbmem of 00009000 (in addition to the other framebuffer patches) to be able to get the full IGPU VRAM memory back. Also note that there are key differences if you decide to use different Coffee Lake CPUIDs for the kernel mask. I found EA060900 great for High Sierra and EB060900 to be highly effective for Catalina & Big Sur. If you want to use High Sierra use 03009B3E for High Sierra & Mojave but use 030098C5 for Catalina onwards with OC 0.6.9 (using 03 connector if you want to run IGPU as headless). If you use Catalina 10.15.7 and Big Sur, remove the 2 CPUID data fields altogether for CML because it's natively supported.

Link to comment
Share on other sites

  • 2 months later...
On 6/23/2021 at 2:40 PM, Middleman said:

Kentsoon,

You should have asked me earlier! I have a build that I made for the Z490 running High Sierra & Mojave on i5-10500K & i9-11900K since early this year. Basically everything pretty much works (barring the non-accelerated i9-11900K performance in Big Sur). Otherwise the Comet Lake chip works totally fine.

I used iMac 18,3 on the High Sierra, iMac19,1 on Mojave & Catalina and MacPro7,1 on Big Sur. You need to add framebuffer-fbmem of 00009000 (in addition to the other framebuffer patches) to be able to get the full IGPU VRAM memory back. Also note that there are key differences if you decide to use different Coffee Lake CPUIDs for the kernel mask. I found EA060900 great for High Sierra and EB060900 to be highly effective for Catalina & Big Sur. If you want to use High Sierra use 03009B3E for High Sierra & Mojave but use 030098C5 for Catalina onwards with OC 0.6.9 (using 03 connector if you want to run IGPU as headless). If you use Catalina 10.15.7 and Big Sur, remove the 2 CPUID data fields altogether for CML because it's natively supported.

Hi! I’m trying to enable Intel Graphics in Mojave, but my board is a Gigabyte B560-DS3H and muy CPU is a 10700K. No luck with any of those fambuffers... Any ideas?

 

Thanks!

Link to comment
Share on other sites

  • 2 months later...

thanks for the Config.  I can boot into Big Sur and Mojave with this. Mojave has not Acceleration but Big Sur Does. I was able to Modify your file to get Mojave to get a Geekbench 4 of 27K

 

I did have to reinstall Big Sur from USB. before that there were problems.  Originally. I got a Geekbench of under 20K for MOjave

 

My system is

10600k 

MSI z490 Pro

AMD 560 GFX

 

 

 

 

 

EFI.zip

 

Edited by audio geek
Link to comment
Share on other sites

  • 5 months later...

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...