Jump to content

Help! Third-party app display error

8 posts in this topic

Recommended Posts


Gpu: intel hd4600 

Resolution:4k 60hz Display-Port


This mistake has never happened before 

I don't know if I upgraded OC or changed some settings


Chrome and some third-party apps display error. System apps working fine

No fonts. just white screen and ui


This its my oc Gpu setting and config.plist



Please help me. I‘ll be very grateful


Edited by Saranghero
Link to comment
Share on other sites

Guest 5T33Z0

@Saranghero Does the HD 4600 even support HDMI2.0? If not, disable the "enable-hdmi20" key. Sometimes, the "device_type" key can cause issues as well. Disable it for testing as well.

Link to comment
Share on other sites

I too doubt your PC is fitted with HDMI2.0 output so that property is most likely irrelevant. A lot of people inject that without really knowing its purpose. But it's harmless on non-HDMI 2.0 hardware.


Property "device_type" is cosmetic only (see below) and I've never heard of or seen negative impacts/issues after injecting it. 'don't know where this (new) rumour comes from.



HD4600 iGPU of Intel i5-4690 natively carries device id 0x0412; as such, no need to inject it but it's harmless too.

Haswell desktop graphics do not usually require patching of framebuffer fbmem or stolenmem; you can remove that. All you would normally in terms of injection is the framebuffer layout and the eventual connector patches. In your config, you set:

  1. stolenmem to 64MB     \
  2. fbmem to 34MB             \ __ What's the reason for these patches? Did you find this necessary to obtain 4K output? This rarely works through framebuffer patching, most usually only by patching DVMT settings in BIOS.
  3. VRAM to 2GB                   ->  Ok though one hardly really requires this.

Azul desktop framebuffer 0x0D220003 defines the following graphics properties and outputs:

ID: 0D220003, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x00000402
TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)
Camellia: CamelliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000087 - ConnectorDP
[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x00000011 - ConnectorDP
01050900 00040000 87000000
02040A00 00040000 87000000
03060800 00040000 11000000

so 3 x DP output ports on connectors con0, con1 and con2.


Can't see why you changed flags for connector #1 con0. I'm pretty sure all you'd need would be:

AAPL,layout-id              0300220D   DATA
hda-gfx                     onboard-1  STRING     // probably not required

Optional if you want to increase VRAM from default 1536MB to 2048MB
framebuffer-patch-enable    1          NUMBER     // allows framebuffer patching
framebuffer-unifiedmem      00000080   DATA       // sets VRAM to 2GB


You may need to patch the associated connector if you want HDMI output with HDMI audio. In that case, you'd need to patch that connector (con0, con1 or con2) as follows:

framebuffer-patch-enable    1          NUMBER     // allows framebuffer patching
framebuffer-conX-enable     1          NUMBER     // allow conX patching, where X=0/1/2
framebuffer-conX-type       00080000   DATA       // sets conX to HDMI type


I cannot remember if this were required for Haswell desktop too but Haswell laptops certainly did require patching the pipe of the HDMI connector to 0x12 to avoid freeze on connecting/disconnecting the HDMI cable:

framebuffer-patch-enable    1          NUMBER     // allows framebufer patching
framebuffer-conX-enable     1          NUMBER     // allows conX patching, where X=0/1/2
framebuffer-conX-pipe       12000000   DATA       // sets conX pipe to 0x12


Of course, you could change all properties of any given connector through a single line; for instance to set con0's type to HDMI type and pipe to 12, you could use:

framebuffer-patch-enable    1                           NUMBER     // allows framebuffer patching
framebuffer-con0-enable     1                           NUMBER     // allows con0 patching
framebuffer-con0-alldata    010512000008000087000000    DATA       // sets con0's type to HDMI and pipe to 0x12


NB: AppleCpuPmCfgLock quirk is for Sandy Bridge and Ivy Bridge; useless on Haswell platforms since CPU PM is handled by kernel, not AICPUPM kext. It's AppleXcpmCfgLock that you need and that only.

Link to comment
Share on other sites


As far as I know boot-arg shikigva=80  as you said it yourself is a boot argument and it belongs under the nvram section not device properties but i'm not sure if that can be injected via device properties as well.

  • Like 1
Link to comment
Share on other sites

@Cyberdevs It can. However I believe the value of 80 is for enabling DRM on AMD dGPUs paired with an Intel iGPU, so I don't know if and what impact it has on an only intel iGPU system. If it even does anything at all since OP is on macOS 11+.

See DRM Chart:

Anyway. none of this is answering OP's question

Edited by ricoc90
  • Thanks 2
Link to comment
Share on other sites

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.

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.


  • Create New...