Jump to content
286 posts in this topic

Recommended Posts

54 minutes ago, deeveedee said:

@brumas2025

 

EDIT: @brumas2025 I love your movie!  It is strange that the Apple initially appears on both displays.  Has that always been the case or did that behavior change when we changed DeviceProperties.

my Apple always appears on both displays. It's always been that way. I'll continue the tests and let you know.

 

And one more question- after a while the displays go out (fall asleep), previously it was enough to press the keyboard or mouse and the display (HDMI) woke up, but now you need to turn off and on and the image appears..

@brumas2025 The displays should wake without cycling power.

 

Please test the attached config.plists which are based on config-H31-test-7-6.plist and are as follows:

  • config-H31-test-7-6-1.plist: Do not change connector flags
  • config-H31-test-7-6-2.plist: Do not change connector pipes
  • config-H31-test-7-6-3.plist: Do not add igfxfw=2
  • config-H31-test-7-6-4.plist: Add boot-arg darkwake=2

 

config-H31-test-7-6-1.plist.zip config-H31-test-7-6-2.plist.zip config-H31-test-7-6-3.plist.zip config-H31-test-7-6-4.plist.zip

  • Like 1
Posted (edited)
16 hours ago, deeveedee said:
  • config-H31-test-7-7.plist: Add DeviceProperty igfxfw=2, leave con1 and con2 flags unchanged at 0x03c7, framebuffer-con1-pipe = 0x11, framebuffer-con2-pipe = 0x12
  • config-H31-test-7-8.plist: Add DeviceProperty igfxfw=2, leave con1 and con2 flags unchanged at 0x03c7, framebuffer-con1-pipe = 0x12, framebuffer-con2-pipe = 0x11

 

 

  • config-H31-test-7-7.plist:   -- Test results.  The monitors load with stripes and restored after power is switched
  • config-H31-test-7-8.plist:  -- Test results.  The monitors load with stripes and restored after power is switched
Edited by brumas2025

@brumas2025 Your test results confirm that changing the connector flags fixed the problem.  Thank you for testing.

 

This means that we'll probably need to change some of the tests here.  We can try some new tests depending on your results for config-H31-test-7-6-1.plist, config-H31-test-7-6-2.plist, config-H31-test-7-6-3.plist and config-H31-test-7-6-4.plist, but I expect that config-H31-test-7-6-1.plist won't work.

 

EDIT: Notes for future tests (ignore for now):

  • framebuffer-conX-flags 0x0400
  • Remove device-id = 0x3e92
  • Change connector flags for only one of either con1 or con2
Edited by deeveedee
  • Like 1
2 hours ago, deeveedee said:

@brumas2025 The displays should wake without cycling power.

 

Please test the attached config.plists which are based on config-H31-test-7-6.plist and are as follows:

  • config-H31-test-7-6-1.plist: - The monitors load with stripes and restored after power is switched, after falling asleep, the monitors from the keyboard and mouse do not light up on their own.
  • config-H31-test-7-6-2.plist: The monitors load normally, after switching to sleep mode, the monitors from the keyboard and mouse do not light up on their own, even turning them on and off does not cause them to ignite (there is no signal), a hard reboot via the button really helped.
  • config-H31-test-7-6-3.plist: The monitors load normally, after switching to sleep mode, the monitors from the keyboard and mouse do not light up on their own, even turning them on and off does not cause them to ignite (there is no signal), a hard reboot via the button really helped.
  • config-H31-test-7-6-4.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • Thanks 1

@brumas2025 Thanks for testing!  Your results are very enlightening and tell us the following:

  • config-H31-test-7-6-1.plist: Do not change connector flags: Test results indicate that connector flag change is required
  • config-H31-test-7-6-2.plist: Do not change connector pipes: Test results indicate that at least one connector pipe change is required
  • config-H31-test-7-6-3.plist: Do not add igfxfw=2: Test results indicate that igfxfw=2 is required
  • config-H31-test-7-6-4.plist: Add boot-arg darkwake=2: Test results indicate that this boot-arg doesn't help

 

Based on these test results, config-H31-test-7-6.plist should remain the current baseline.  Please test the attached config.plist based on config-H31-test-7-6.plist:

  • config-H31-test-7-6-5.plist: don't change connector flags for con1
  • config-H31-test-7-6-6.plist: don't change connector flags for con2
  • config-H31-test-7-6-7.plist: change con1 and con2 connector flags to 0x0400
  • config-H31-test-7-6-8.plist: Swap con1 and con2 pipes

 

EDIT: @brumas2025 Unfortunately, this tedious testing based on incremental changes from the previous "working" state is the only way that I know how to patch iGPU graphics.  This is why you have seen many people give up before finding a working solution.

 

NOTES for next tests (ignore for now):

  • Test with framebuffer-conX-flags = 0x00C7
  • Test with framebuffer-conX-flags = 0x02C7
  • Test with framebuffer-conX-flags = 0x06C7
  • Test boot-args darkwake=0 and darkwake=1

config-H31-test-7-6-5.plist.zip config-H31-test-7-6-6.plist.zip config-H31-test-7-6-7.plist.zip config-H31-test-7-6-8.plist.zip

Edited by deeveedee
  • Like 1
Posted (edited)
13 hours ago, Asural said:

I believe the correct number of connectors is 8, so please attach the USBMap.kext you created for confirmation.
 

Quote

2026-01-0621_33_25.png.8a736bdec2c6b33ee8fa0b21ed331e98.png2026-01-0621_33_43.png.03d7e3c1301e725a1e80a064eed8926f.png

I tried to make a new version with the number 1 before applying USBMapInjectorEdit, without the number after applying, but I didn't quite understand they seem to be the same.

USBMap.kext.zip USBMap1.kext.zip

iMac Map 6-01-26.ioreg.zip

Edited by brumas2025
3 hours ago, deeveedee said:

@brumas2025

  • config-H31-test-7-6-5.plist: don't change connector flags for con1
  • config-H31-test-7-6-6.plist: don't change connector flags for con2
  • config-H31-test-7-6-7.plist: change con1 and con2 connector flags to 0x0400
  • config-H31-test-7-6-8.plist: Swap con1 and con2 pipes
  • config-H31-test-7-6-5.plist: The monitors load with stripes and restored after power is switched, after falling asleep, the monitors from the keyboard and mouse do not light up on their own.
  • config-H31-test-7-6-6.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • config-H31-test-7-6-7.plist: the upload failed - two black screens, it was not possible to connect remotely. 
  • config-H31-test-7-6-8.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
5 hours ago, brumas2025 said:

I tried to make a new version with the number 1 before applying USBMapInjectorEdit, without the number after applying, but I didn't quite understand they seem to be the same.

USBMap.kext.zip 1.23 kB · 1 download USBMap1.kext.zip 1.31 kB · 1 download

iMac Map 6-01-26.ioreg.zip 3.56 MB · 1 download

USBMap1.kext.zip and USBMap.kext.zip are identical, and all are configured for USB 3.0.
Please provide a screenshot of what happens after deleting the Results folder in the USBMap-tahoe-test folder, launching USBMap.command, and selecting D.

image.png.2093c2029e99b559f2b7b090c5bb9d3c.png

 

 

image.png.1918546a5341bd778515cbbc79d9d914.png
(USB2.0 devices plugged into USB2.0, USB3.0 devices plugged into USB3.0)

 

The RHUB configuration in DSDT.aml is the same as my PC's, so I've attached my USBMap.kext. Please try it out to see if it works.
 

 

USBMap.kext.zip

Edited by Asural
  • Like 1

@brumas2025 Your test results tell us that we only need to change the connector flags for con1 and the pipes for con1 and con2 don't matter as long as we use pipes 0x11 and 0x12.

 

Attached are some new config.plists based on config-H31-test-7-6-6.plist as follows:

  • config-H31-test-7-6-9.plist: con1 flags = 0x00c7
  • config-H31-test-7-6-10.plist: con1 flags = 0x02c7
  • config-H31-test-7-6-11.plist: con1 flags = 0x06c7
  • config-H31-test-7-6-12.plist: add boot-arg darkwake=0
  • config-H31-test-7-6-13.plist: add boot-arg darkwake=1

config-H31-test-7-6-9.plist.zip config-H31-test-7-6-10.plist.zip config-H31-test-7-6-11.plist.zip config-H31-test-7-6-12.plist.zip config-H31-test-7-6-13.plist.zip

Edited by deeveedee
  • Like 1
6 hours ago, Asural said:

The RHUB configuration in DSDT.aml is the same as my PC's, so I've attached my USBMap.kext. Please try it out to see if it works.

Good afternoon! I did as you said, the results are attached.

Quote

2026-01-0709_15_45.png.72668bb4ad5ed2ef8b5dc6aa3ba541a5.png

Quote

2026-01-0709_15_03.png.0a61e6319744e10c5dc4f4f2012dc2a1.png

 

iMac 070126.ioreg.zip

17 hours ago, brumas2025 said:

my Apple always appears on both displays. It's always been that way. I'll continue the tests and let you know.

 

And one more question- after a while the displays go out (fall asleep), previously it was enough to press the keyboard or mouse and the display (HDMI) woke up, but now you need to turn off and on and the image appears..

Please provide a snapshot of the Energy and Lock settings screen in System Settings.

 

I've attached a modified version of config-H31-test-7-6.plist. Please try connecting to VGA and HDMI.

1. Disable SSDT-USB-Reset.aml
2. Enable #framebuffer-con0-flags and set it to <C7040000>
3. Disable Kernel/ADD/HibernationFixup.kext
4. boot-args = "-v revpatch=sbvmm amfi=0x80"

 

Do you want the Sleep/Wake feature?
 

Mod config-H31-test-7-6.plist.zip

  • Like 1
3 hours ago, brumas2025 said:

Good afternoon! I did as you said, the results are attached.

 

iMac 070126.ioreg.zip 3.5 MB · 2 downloads

It seems the USBMap.command's USB port recognition is incorrect, so it can't be created.

Since all HSx are recognized as USB 3.0, there are no problems with operation, so I think it's fine to use.

 

The difference in communication speed between USB2.0 and USB3.0 is clearly visible.
image.thumb.png.5032cec78906adae062964d72d9faa42.png

 

If the USBMap.kext I attached works, please provide a snapshot of the USB in Hackintool.

 

Do you have a spare disk to test with a different version, such as Sequoia?
 

Edited by Asural
  • Like 1
11 hours ago, deeveedee said:

@brumas2025 Your test results tell us that we only need to change the connector flags for con1 and the pipes for con1 and con2 don't matter as long as we use pipes 0x11 and 0x12.

 

Attached are some new config.plists based on config-H31-test-7-6-6.plist as follows:

  • config-H31-test-7-6-9.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • config-H31-test-7-6-10.plist: cThe monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • config-H31-test-7-6-11.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • config-H31-test-7-6-12.plist: The monitors load normally, after switching to sleep mode, the monitors from the keyboard and mouse do not light up on their own, even turning them on and off does not cause them to ignite (there is no signal), a hard reboot via the button really helped.
  •  config-H31-test-7-6-13.plist: The monitors load normally, after switching to sleep mode, the monitors from the keyboard and mouse do not light up on their own, even turning them on and off does not cause them to ignite (there is no signal), a hard reboot via the button really helped.
4 hours ago, Asural said:

It seems the USBMap.command's USB port recognition is incorrect, so it can't be created.

Since all HSx are recognized as USB 3.0, there are no problems with operation, so I think it's fine to use.

 

The difference in communication speed between USB2.0 and USB3.0 is clearly visible.
 

 

If the USBMap.kext I attached works, please provide a snapshot of the USB in Hackintool.

 

Do you have a spare disk to test with a different version, such as Sequoia?
 

with your configurations, the usb3 port on the front panel does not work at all, I tried the same thing in Sequoia, switched to my own port configuration

Quote

2026-01-0711_46_53.png.6782667d580bb55f50b75cfa0094a36d.png2026-01-0711_55_51.thumb.png.11ef5779b238732d3528f71d88e6f6ea.png

Quote

2026-01-0711_55_51.thumb.png.11ef5779b238732d3528f71d88e6f6ea.png

 

  • Thanks 2
5 hours ago, Asural said:

Please provide a snapshot of the Energy and Lock settings screen in System Settings.

 

I've attached a modified version of config-H31-test-7-6.plist. Please try connecting to VGA and HDMI.

1. Disable SSDT-USB-Reset.aml
2. Enable #framebuffer-con0-flags and set it to <C7040000>
3. Disable Kernel/ADD/HibernationFixup.kext
4. boot-args = "-v revpatch=sbvmm amfi=0x80"

 

Do you want the Sleep/Wake feature?
 

I tried your suggestion- the result is booting into two black screens, rebooting via the power button, and not connecting remotely

  • Thanks 1
22 minutes ago, brumas2025 said:

with your configurations, the usb3 port on the front panel does not work at all, I tried the same thing in Sequoia, switched to my own port configuration

 

I have confirmed that your USBMap.kext is safe and will not affect anything else, so please continue to use the USBMap.kext you created.
 

  • Like 1
  • Thanks 1

@deeveedee It was possible to set flag FBUseVideoTurbo = <20000000>.
I put it into sleep mode with flag = <E7040000>, and it took about 5 seconds to wake up, with the second screen appearing 3 seconds after the first.

-------- Explanation -----------
Discovered in AppleIntelFramebuffer::getDisplayStatus.
Enforces display power reset even on always connected displays (see connector flags CNConnectorAlwaysConnected). 
---------------------------
 

  • Like 2

@brumas2025 Thank you for continuing to test.  Test results indicate that darkwake boot-args break displays (so we won't use them) and the connector flag bit that cause the horizontal lines is CNUsePowerWell2.  Please test the attached config.plists which are based on config-H31-test-7-6-9.plist and are as follows:

  • config-H31-test-7-6-14.plist: con1 flags 0x01c7 (confirm that CNUsePowerWell2 is the culprit causing horizontal lines)
  • config-H31-test-7-6-15.plist: con1 and con2 pipes both set to 0x12
  • config-H31-test-7-6-16.plist: Add DeviceProperty disable-agdc = 1

 

@Asural If these additional tests -15 and -16 do not change the display sleep behavior, I agree that the next step is to revisit framebuffer flags (combining revised framebuffer flags with connector flags that fix the horizontal black lines).   The framebuffer flags for platform-id 0x3e9b0007 is as follows:

Framebuffer AAPL,ig-platform-id: 0x3e9b0007
Framebuffer Flags 0x00801302
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0
| | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | +- FBAvoidFastLinkTraining
| | | | | | | | | | | | | | | | | | | | | | +--- FBFramebufferCommonMemory
| | | | | | | | | | | | | | | | | | | | | +----- FBFramebufferCompression
| | | | | | | | | | | | | | | | | | | | +------- FBEnableSliceFeatures
| | | | | | | | | | | | | | | | | | | +--------- FBDynamicFBCEnable
| | | | | | | | | | | | | | | | | | +----------- FBUseVideoTurbo
| | | | | | | | | | | | | | | | | +------------- FBForcePowerAlwaysConnected
| | | | | | | | | | | | | | | | +--------------- FBDisableHighBitrateMode2
| | | | | | | | | | | | | | | +----------------- FBBoostPixelFrequencyLimit
| | | | | | | | | | | | | | +------------------- FBLimit4KSourceSize
| | | | | | | | | | | | | +--------------------- FBAlternatePWMIncrement1
| | | | | | | | | | | | +----------------------- FBAlternatePWMIncrement2
| | | | | | | | | | | +------------------------- FBDisableFeatureIPS
| | | | | | | | | | +--------------------------- FBUnknownFlag_2000
| | | | | | | | | +----------------------------- FBAllowConnectorRecover
| | | | | | | | +------------------------------- FBUnknownFlag_8000
| | | | | | | +--------------------------------- FBUnknownFlag_10000
| | | | | | +----------------------------------- FBUnknownFlag_20000
| | | | | +------------------------------------- FBDisableGFMPPFM
| | | | +--------------------------------------- FBUnknownFlag_80000
| | | +----------------------------------------- FBUnknownFlag_100000
| | +------------------------------------------- FBEnableDynamicCDCLK
| +--------------------------------------------- FBUnknownFlag_400000
+----------------------------------------------- FBSupport5KSourceSize

I don't know what you mean by " set flag FBUseVideoTurbo = <20000000>" since FBUseVideoTurbo is a bit with value 0 or 1.

 

EDIT: maybe you mean FramebufferFlag <02000000>?

config-H31-test-7-6-14.plist.zip config-H31-test-7-6-15.plist.zip config-H31-test-7-6-16.plist.zip

Edited by deeveedee
  • Thanks 1
1 hour ago, deeveedee said:

Yes, I'm referring to the FBUseVideoTurbo bit in the table you attached.
 

ADD:

It seems to be a Sleep/WakeUp issue, so I'm asking @brumas2025 to show me the system settings.
I think it would be best to disable automatic sleep and test using the Sleep Apple menu.
 

Regarding FBForcePowerAlwaysConnected and FBDisableHighBitrateMode2, I was unable to start the program even when either was turned off.
 

Edited by Asural
  • Like 1
Posted (edited)
2 hours ago, deeveedee said:

@brumas2025 Thank you for continuing to test.  

Thank you for taking care of my problem.

=================================================================================

  • config-H31-test-7-6-14.plist: The monitors load with stripes and restored after power is switched, after falling asleep, the monitors from the keyboard and mouse do not light up on their own.
  • config-H31-test-7-6-15.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.
  • config-H31-test-7-6-16.plist: The monitors load normally, after trying to wake them up, they don't wake up themselves - you need to disable and enable one of them.

and I would also like to add that if you select sleep in the menu, the computer turns off the monitors, turns on again after 5 seconds without an image on the monitors.

Quote

Screenshot2026-01-07at19_10_05.png.3435ac5333d40da70e5910053ae127a3.pngScreenshot2026-01-07at19_09_27.png.80006befd9a38c5f1ed9af6a8dbe7d86.png

Quote

Screenshot2026-01-07at19_08_30.png.db50dbc670bf1f3510e4bac94815ff85.png

 

Edited by brumas2025
  • Thanks 1

@brumas2025 Those latest test results are confusing to me.  I would have expected config-H31-test-7-6-14.plist to boot with horizontal stripes and for the displays to wake after pressing key or clicking mouse.  Did I understand you correctly?  Are you saying that with config-H31-test-7-6-14.plist, your hack displays boot to black stripes AND you can't wake the displays with key or mouse?

 

EDIT: If you re-test config-H31-test-7-6.plist  here, do the displays boot with stripes and can you wake the displays by pressing key or clicking mouse?

Edited by deeveedee
  • Like 1
1 hour ago, deeveedee said:

@brumas2025 Those latest test results are confusing to me. 

What I did:

1) I took the old EFI folder, where only the HDMI monitor worked and there were no SSDT and USBmap edits, rebooted with HVRAM reset, the monitor fell asleep after 1 minute and successfully woke up after pressing the keyboard.

2) in the same folder, I added properties from config-H31-test-7-6.plist to the config, rebooted with HVRAM reset, both monitors booted successfully, then turned off a minute later, but after pressing the keyboard they did not turn on, it really helped to turn off and on the power monitor.

3) I took a new EFI folder, with SSDT and USBmap edits, rebooted with HVRAM reset, but took the config with one HDMI, for some reason the monitor did not fall asleep - I forced it to sleep, and after pressing the keyboard, the monitor successfully woke up, but the truth was that the image was enlarged.

4) As a result, I returned to the configuration config-H31-test-7-6.plist.  I'll probably push the buttons if it doesn't work out.

@brumas2025 I am still confused by your test results.  I don't understand the multiple changes between tests.  In your thread, please post the config.plist that boots with black stripes in the displays and allows the displays to wake with mouse click or key press.  Thank you.

  • Like 2
1 hour ago, deeveedee said:

@brumas2025 I am still confused by your test results.  I don't understand the multiple changes between tests.  In your thread, please post the config.plist that boots with black stripes in the displays and allows the displays to wake with mouse click or key press.  Thank you.

I'm sorry if I confused you, but it was only with your help that I got two monitors working. the thing is, with two monitors running, I can't remember them waking up from the keyboard, it was definitely with one. Maybe I should be happy with what I've achieved...

 

  • Like 1
  • Thanks 1

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.

×
×
  • Create New...