Contribute
Register

No Internal Display on HD4200 with WEG

Status
Not open for further replies.
Joined
Nov 8, 2014
Messages
130
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Hey all.

I need some help getting the internal display working on my weird tablet device after upgrading to Mojave.

Some backstory: this is a Haswell i3 Dell Venue 11 Pro tablet with an integrated HD4200 which I successfully had Yosemite installed on many years ago (there is an install thread elsewhere). I used the old method of FakePCIID.kext + FakePCIID_HD4400_HD4600.kext. The difficult thing about this device is that its internal display is connected over eDP. As a result, the only ig-platform-id that used to give working internal display + QE/CI was the default desktop one 0x0D220003. No other platform ID (be it mobile or desktop) gave a working internal display. This is also one of the only examples I know of of a machine with HD4200.

I have upgraded this system to Mojave and I have attempted to emulate the previous success by injecting a fake ID of 0x0412 and a platform-id of 0x0D220003 using Clover's device properties together with WEG.kext. Unfortunately the internal display "hangs" on boot (on both verbose and normal) with the display still on. That being said, the system actually works and I can connect via screen sharing and can confirm that QE/CI works, the system simply does not pick up the display.

I have tried every Haswell ID, including mobile and desktop. Most of them give working QE/CI, in particular the standard mobile ones of 0x0A260005 and 0x0A260006. However none of them successfully get the internal display working. The only difference is that with mobile IDs, the internal display simple goes black instead of staying on. It would be nice to get a mobile ID working for backlight but getting the desktop one working will do for now.

My suspicion is that there is some port modification in the Azure framebuffer that is needed. I have tried doing this to no avail. That being said, it does seem strange to me that it would require port modifications since 0x0D220003 works without any on Yosemite.

I have attached a full debug report of the system with working QE/CI on 0x0D220003 but no internal display on Mojave. I have also attached an old IOReg from the old Yosemite install (unfortunately the only debug file I have available from that install) showing that there is full QE/CI with internal display working with ID 0x0D220003.

Any help with diagnosing the issue is greatly appreciated.
 

Attachments

  • Venue Yosemite install.ioreg
    2.9 MB · Views: 67
  • debug_31891.zip
    5.2 MB · Views: 77
Hey all.

I need some help getting the internal display working on my weird tablet device after upgrading to Mojave.

Some backstory: this is a Haswell i3 Dell Venue 11 Pro tablet with an integrated HD4200 which I successfully had Yosemite installed on many years ago (there is an install thread elsewhere). I used the old method of FakePCIID.kext + FakePCIID_HD4400_HD4600.kext. The difficult thing about this device is that its internal display is connected over eDP. As a result, the only ig-platform-id that used to give working internal display + QE/CI was the default desktop one 0x0D220003. No other platform ID (be it mobile or desktop) gave a working internal display. This is also one of the only examples I know of of a machine with HD4200.

I have upgraded this system to Mojave and I have attempted to emulate the previous success by injecting a fake ID of 0x0412 and a platform-id of 0x0D220003 using Clover's device properties together with WEG.kext. Unfortunately the internal display "hangs" on boot (on both verbose and normal) with the display still on. That being said, the system actually works and I can connect via screen sharing and can confirm that QE/CI works, the system simply does not pick up the display.

I have tried every Haswell ID, including mobile and desktop. Most of them give working QE/CI, in particular the standard mobile ones of 0x0A260005 and 0x0A260006. However none of them successfully get the internal display working. The only difference is that with mobile IDs, the internal display simple goes black instead of staying on. It would be nice to get a mobile ID working for backlight but getting the desktop one working will do for now.

My suspicion is that there is some port modification in the Azure framebuffer that is needed. I have tried doing this to no avail. That being said, it does seem strange to me that it would require port modifications since 0x0D220003 works without any on Yosemite.

I have attached a full debug report of the system with working QE/CI on 0x0D220003 but no internal display on Mojave. I have also attached an old IOReg from the old Yosemite install (unfortunately the only debug file I have available from that install) showing that there is full QE/CI with internal display working with ID 0x0D220003.

Any help with diagnosing the issue is greatly appreciated.

The old Yosemite ioreg shows you're injecting fake device-id 0x0a16, but in the Mojave attempt you're injecting 0x0412.
I'm not sure how that was working, as I see no native support for 0x0a16. But maybe you patched the kext(s) Info.plist?
BTW, the Yosemite ioreg shows no FakePCIID in play.
Seems like the Yosemite ioreg doesn't help much for determining what you were actually doing there (some patching going on that is not easy to see with the ioreg).

But it does show you were injecting EDID (note AAPL00,override-no-edid) under IGPU.
That's really what you should try with Mojave... (need to inject EDID is quite common with eDP).
 
The old Yosemite ioreg shows you're injecting fake device-id 0x0a16, but in the Mojave attempt you're injecting 0x0412.
I'm not sure how that was working, as I see no native support for 0x0a16. But maybe you patched the kext(s) Info.plist?
BTW, the Yosemite ioreg shows no FakePCIID in play.
Seems like the Yosemite ioreg doesn't help much for determining what you were actually doing there (some patching going on that is not easy to see with the ioreg).

But it does show you were injecting EDID (note AAPL00,override-no-edid) under IGPU.
That's really what you should try with Mojave... (need to inject EDID is quite common with eDP).
Yes you may be right regarding patching. I tried 0x0a16 on Mojave and it didn't work which is what led me to try 0x0412.

I am currently injecting the EDID via Clover but it appears as though the system is not picking up. Any ideas why that might be the case?

Edit: Turns out that I wasn't injecting EDID properly. I switched form Clover's old method of injection to injecting the property under Device>Properties and now the screen is working with the desktop ID! Now time to figure out how to get it working with a mobile ID...

Many thanks!
 
Last edited:
Status
Not open for further replies.
Back
Top