Contribute
Register

An iDiot's Guide To Lilu and its Plug-ins

I guess the code you provided should be copied into config.plist. In the "devices" section?
I looked it up and placed your code into the kextstopatch section of config.plist
-> no difference (still get 1080p as max res)
 
Could I set more than 2GB (like 4GB)? Would it help? Total RAM on this rig is 24GB.


@asheenlevrai,

unfortunately no, 2GB is the maximum amount of VRAM you can assign to the IGPU, even the latest 9th gen CPU/IGPU can only use a maximum of 2GB, its a limitation imposed by the Intel IGPU architecture.

I looked it up and placed your code into the kextstopatch section of config.plist -> no difference (still get 1080p as max res)


Hummm that code was from my notes on El Capitan so its possible that the patch code has changed since then ?

I don't have a 4K display so its not possible for me to test, you may have to patch the connectors in the framebuffer (using WhatEverGreen) .. there is some information in this thread :-


Good Luck
Cheers
Jay
 
Examples Note-1: In some of these examples you will see the Device Property "device-id" which can be thought of as a IGPU generation identifier (it will always be the first two bytes of the PlatformID in reverse byte order followed by four zero's). The need to set/inject this property is in many cases not necessary, and some users have reported that it can cause problems which is why Hackingtool no longer automatically generates this value. However other users have reported that without this property their system does not work correctly so the need for it is on a by use basis. If you want Hackingtool to generate the patch code for the "device-id" Device Property you can do so by selecting the option in the Advanced sub-tab on the Patch page of Hackingtool.

Could this be related to the limitation I'm experiencing (1080p rather than 4K)? Or is it completely unrelated?

Other question: Many users seem to have succeeded in getting 4K@60Hz on HD4600 but they all patched the Azul framebuffer using the Azul patch (whatever that is... I'm probably too still too much of an idiot to understand how it works). However these posts all predate the merging of numerous patches with WEG (including AzulPatcher4600) So my understanding was that there is nothing to be done on the "Azul" side now... But that may be wrong, I guess.

I don't have any AzulXXX.kext on my system (not in /S/L/E, not in /L/E, not in E/E/C/K/O
Is that a bad sign?

Tx
-a-
 
Thanks @jaymonkey for helping the i_Diots out here, really appreciate.

Just some concerns.
I followed your procedure, I can say it worked but after a little bit of hustle and would wish to point out some few things(Very much subject to correction).

Using sudo touch /System/Library/Extensions && sudo kextcache -u / to refresh kext cache is efficient because you can notice what works and what is not working after installation.

I initially used WhatEverGreen the latest version with LILU and it worked for my graphics, but adding AppleALC(from Multibeast) spoilt everything. WhatEverGreen failed to load even after removing AppleALC, had to reinstall the two kexts afresh.

So, its good to stick to the guide, use the latest builds for all the dependencies needed.

on Audio, using Hackingtool, The controller seems to be recognised but the vendor and codec never showed up, not even the layout id.

I used a random layout id of 7, and on the IOREgExplorer, I could see it came up with with arc-layout-id, but nothing yet on Hackingtool, using kextstat | grep 'Lilu\|AppleALC\|AppleHDA' to check if loaded, only Lilu and appleALC did.

Had to try things randomly, first attempt was to remove AppleHDADisabler.kext, that was the first suspect, placed it in kext/other in clover, just incase a panic was on my way.

booted, with the AppleHDADisabler.kext disabled from injection and things seem to come to life, the Hackingtool recognised the codec and vendor+kernel range values.

but the sound wasn't there yet, I remembered the 7 (layout id ) I had gambled with, on visiting this wiki, my chip(ALC293) seems to be using id's 28 & 29, I started with 28 and you! thinks are working.
 
Could this be related to the limitation I'm experiencing (1080p rather than 4K)? Or is it completely unrelated?


@asheenlevrai,

Its Unrelated ...

Other question: Many users seem to have succeeded in getting 4K@60Hz on HD4600 but they all patched the Azul framebuffer using the Azul patch (whatever that is... I'm probably too still too much of an idiot to understand how it works). However these posts all predate the merging of numerous patches with WEG (including AzulPatcher4600) So my understanding was that there is nothing to be done on the "Azul" side now... But that may be wrong, I guess.


The Azul framebuffer patch is the code i gave you in post #243 ... indeed WhatEverGreen does already have this patch included but sometimes it does not get applied due to hardware miss-matching which is why i got you to try it manually.

The kext that it patches is in /System/Library/Extensions and is called AppleIntelFramebufferAzul.kext and is installed by default on all MacOS builds, if it's not there then something is very wrong with your MacOS install.

Are you sure that MacOS is simply not scaling the display to 1080P ?...

Try this :-

Goto System Preferences --> Display --> Click on "Scaled"

Normally MacOS will give you the display scaling options as a text size icon like this :-

386705

Where the smallest text size is scaled to 1080P, however if you hold the MacOS Alt modifier key down (will depend on how you have your keyboard mapped) and then click on "Scaled" it will show you the available resolutions ... like this :-

386706


On a 4K display MacOS will normal scale the GUI to 1080P so that it's is not too small to read, however by using the above method you can over-ride this and explicitly set the output resolution.

I made the above screen grabs on my HP Spectre X360 Laptop which has a Kaby Lake CPU/IGPU and a 4K Display, by default MacOS scales the GUI to 1080P which is perfect for me with my poor eye sight, if I set it to 3360 x 1890 which is the highest resolution the internal display supports its impossible to read any text.

Other than the above, theres not much more I can do to further help you as I don't have a 4K Monitor to test with on my i7 4790K/HD4600 system, best advice I can give is to try posting on one of the threads where users are reporting success with HD 4600 IGPU + 4K Display ... hopefully they can give you some advice on how to get it working.

Cheers
Jay

Cheers
Jay
 
Last edited:
on Audio, using Hackingtool, The controller seems to be recognised but the vendor and codec never showed up, not even the layout id.


@keronei,

If AppleALC is loading (confirmed by presence of alc-layout-id in ioreg) then the usual cause of Hackintool not detecting the Codec hardware and AppleHDA is not playing any sound (see the AppleHDA test/debug in the guide) is that the IRQ and/or HPET are not patched in the ACPI/DSDT.

The HPET fix can be applied using Clover as detailed in the AppleALC section of the guide.

If that does not work then you may need to manually patch your DSDT with the IRQ Fix, Rehab man has a MaciALS patch for this in his repo :-


If you not familiar with ACPI patching then see his guide here :-


Although written for laptops the process is exactly the same for desktops ..

Cheers
Jay
 
Once again, thank you so much for taking the time to help me and to provide such detailed answers. I really appreciate it :)

The Azul framebuffer patch is the code i gave you in post #243 ... indeed WhatEverGreen does already have this patch included but sometimes it does not get applied due to hardware miss-matching which is why i got you to try it manually.

manually how? post#243? where shoudl the code go? into config.plist? what section? kextstopatch?
if yes I tried but it didn't help unfortunately for me :(

The kext that it patches is in /System/Library/Extensions and is called AppleIntelFramebufferAzul.kext and is installed by default on all MacOS builds, if it's not there then something is very wrong with your MacOS install.

It's there. My bad... I was looking for "azulXXX.kext". Shame on me...

Are you sure that MacOS is simply not scaling the display to 1080P ?...

Try this :-

Goto System Preferences --> Display --> Click on "Scaled"

Normally MacOS will give you the display scaling options as a text size icon like this :-

View attachment 386705

Where the smallest text size is scaled to 1080P, however if you hold the MacOS Alt modifier key down (will depend on how you have your keyboard mapped) and then click on "Scaled" it will show you the available resolutions ... like this :-

View attachment 386706


On a 4K display MacOS will normal scale the GUI to 1080P so that it's is not too small to read, however by using the above method you can over-ride this and explicitly set the output resolution.

When I select scaled I only get the list (like on your 2nd screenshot) I never get the 5 icons. I get more options when I press option while selecting scaled, but the highest option is always 1920x1080...

best advice I can give is to try posting on one of the threads where users are reporting success with HD 4600 IGPU + 4K Display ... hopefully they can give you some advice on how to get it working.
Unfortunately most these posts predate the merge of WEG with the various patches it now encompasses...

Looks like I'm quite alone in the dark right now :think:
 
Last edited:
Once again, thank you so much for taking the time to help me and to provide such detailed answers. I really appreciate it ... manually how? post#243? where shoudl the code go? into config.plaist? what section? kextstopatch? ...if yes I tried but it didn't help unfortunately for me.


@asheenlevrai,

Sorry for not explaining that, kextstopatch is the correct section for the Azul framebuffer patch.

As I explained before the code I posted was for El Captain so it may not be correct for Sierra,HS or Mojave ... you could try searching for a more uptodate version.

When I select scaled I only get the list (like on your 2nd screenshot) I never get the 5 icons. I get more options when I press option while selecting scaled, but the highest option is always 1920x1080...


The fact that you do not get the text size scaling icons would indeed suggest that MacOS is treating your display as regular DPI device rather than a high DPI device (Retina in Apple Speak).

Usually specifying the -dcfon boot argument for WhatEverGreeem is enough to force MacOS to use High DPI display devices.

Looking in the WhatEverGreen repo I found this :-

"AzulPatcher4600.kext is deprecated because it is equivalent to use framebuffer-patch in Devices-Properties "

The patch code it's referring to is as follows :-

Code:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BgAmCg==
                </data>
                <key>device-id</key>
                <data>
                EgQAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-alldata</key>
                <data>
                /wAAAAEAAABAAAAA
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-cursormem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-memorycount</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-portcount</key>
                <data>
                AgAAAA==
                </data>
            </dict>


Make a backup of your config.plist and then try the replacing the IGPU Device Properties with the above, you should already have the IGPU PCI Path key in your config.plist -> Devices -> Properties section from where you set AAPL,ig-platform-id and just replace the whole Key section with the above. If your not sure how to do it post your config.plist and i do it for you.

I have no way of testing it but its worth a shot at this stage .... see here for more info :-


The only other thing I can think of is to check that the DP port on your motherboard can support 4K, try and find out what version DP port it is (1.1,1.2,1.3 .. etc) and make sure your cable is the correct version too ... its a bit confusing but there are some guides on it on Wikipedia like this one :-


It's possible that by patching the connectors in the framebuffer you might be able to get it to work. @CaseySJ has a good guide on the subject here :-


Other than the above I'm out of idea's ....

Cheers
Jay
 
@asheenlevrai,

Sorry for not explaining that, kextstopatch is the correct section for the Azul framebuffer patch.

As I explained before the code I posted was for El Captain so it may not be correct for Sierra,HS or Mojave ... you could try searching for a more uptodate version.

The fact that you do not get the text size scaling icons would indeed suggest that MacOS is treating your display as regular DPI device rather than a high DPI device (Retina in Apple Speak).

Usually specifying the -dcfon boot argument for WhatEverGreeem is enough to force MacOS to use High DPI display devices.

Looking in the WhatEverGreen repo I found this :-

"AzulPatcher4600.kext is deprecated because it is equivalent to use framebuffer-patch in Devices-Properties "

The patch code it's referring to is as follows :-

Code:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BgAmCg==
                </data>
                <key>device-id</key>
                <data>
                EgQAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-alldata</key>
                <data>
                /wAAAAEAAABAAAAA
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-cursormem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-memorycount</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-portcount</key>
                <data>
                AgAAAA==
                </data>
            </dict>


Make a backup of your config.plist and then try the replacing the IGPU Device Properties with the above, you should already have the IGPU PCI Path key in your config.plist -> Devices -> Properties section from where you set AAPL,ig-platform-id and just replace the whole Key section with the above. If your not sure how to do it post your config.plist and i do it for you.

I did that and my rig wouldn't boot.
(SIDENOTE: booting in safe-mode wouldn't let me mount the EFI for some reason. I ended up connecting the sATA SSD to another Mac on USB to restore config.plist. Happy this rig didn't have an M.2 SSD. Don't know how I'd done this on this case. I'd need a rig with 2 M.2 sockets on the MB. Actually I have 1 now but it's not running yet)

I attach a screenshot of the verbose boot crash/hang
I attach 2 copies of my config.plist: before and after the edit you suggested. Let me know if I made a mistake.

I thought maybe:

  • Shouldn't the AAPL,ig-platform-id in the AFTER version match the one in the BEFORE version? Or was it intentional to change it?
  • Was framebuffer-unifiedmem necessary? cause it's gone in the AFTER version
Let me know what you think about it

The only other thing I can think of is to check that the DP port on your motherboard can support 4K, try and find out what version DP port it is (1.1,1.2,1.3 .. etc) and make sure your cable is the correct version too ... its a bit confusing but there are some guides on it on Wikipedia like this one :-


This part is OK

It's possible that by patching the connectors in the framebuffer you might be able to get it to work. @CaseySJ has a good guide on the subject here :-


I'll look into that ASAP


Thank you very much for your kindness and interest.

Best,
-a-
 

Attachments

  • AFTER_config.plist
    7.4 KB · Views: 101
  • BEFORE_config.plist
    6.3 KB · Views: 95
  • IMAG0130.jpg
    IMAG0130.jpg
    6.1 MB · Views: 49
Last edited:
Back
Top