Contribute
Register

[GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)

Nothing about graphics jumps out at me in your IOReg dump. Could it be that Big Sur is treating an Intel i3 differently than Catalina did? I see you're spoofing device-id 0x3e92 (same as my i7-8700). The IOReg dump from my rig running Catalina (with i7-8700) is attached. Maybe this will offer some clues. You might want to carefully examine your IOReg dumps from Catalina and Big Sur to see if you notice any differences. I'm still running Catalina as my baseline and only "visit" Big Sur for occasional testing. If you haven't solved this and I run Big Sur again, I'll post my IOReg dump with Big Sur. Sorry I don't have more to offer.

@zzmadd One other thing that I didn't inspect too closely, but you may want to examine. Your OC config.plist enables an ACPI rename of PPMC->PMCR. If you examined your extracted ACPI and found that you do indeed have a PPMC that can simply be renamed to PMCR - that's a clever solution; however, your config.plist also enables injection of SSDT-PMC.aml which also defines Device (PMCR). Are you getting any ACPI errors at boot that indicate that you have conflicting definitions of PMCR?

@zzmadd Take a close look at your IOReg dump. You'll see that you have two instances of PMCR. I only have one instance of PMCR in my IOReg, so something's not right with your PMCR patching. Without seeing your extracted ACPI, I am not sure of the proper PPMC/PMCR patching for you, but I suspect that you don't need the PPMC->PMCR rename.
Thanks for the effort...!!
Indeed another error. I dropped the PPMC->PMCR rename.
Now it shows just one instance of PMCR.

Still no H265 acceleration though.
I'll look into your IOReg and compare to mine to see if anything comes up.
If you have a chance and remember please drop the Big Sur one as well.

Thanks a lot!!
 
@deeveedee

I've looked into the IOREG files...
There are differences for example in the number of IGAccelDevice instances.
There are differences in subsystem-id, subsystem-vendor-id
I wouldn't know how to grasp the reason acceleration doesn't work for H265.

How did you implement SBUS? Mine has a truncated tree.

RM...RehabMan...where the heck did he go?
He's so knowledgeable...unreal.
 
@deeveedee

I've looked into the IOREG files...
There are differences for example in the number of IGAccelDevice instances.
There are differences in subsystem-id, subsystem-vendor-id
I wouldn't know how to grasp the reason acceleration doesn't work for H265.

How did you implement SBUS? Mine has a truncated tree.

RM...RehabMan...where the heck did he go?
He's so knowledgeable...unreal.
You may have just discovered something that I didn't notice - you're not injecting Device (SBUS.BUS0) with an SSDT. See my EFI attached here and use it. Add SSDT-SBUS-MCHC.aml to your OC/ACPI folder and add it to your config.plist.

Also, I am using FakeSMC.kext and you are using VirtualSMC.kext. I haven't used VirtualSMC.kext, so I'm not sure of the differences.

I did notice the subsystem ID differences. We can inject those with DeviceProperties if we get desparate and can't think of anything else.
 
You may have just discovered something that I didn't notice - you're not injecting Device (SBUS.BUS0) with an SSDT. See my EFI attached here and use it. Add SSDT-SBUS-MCHC.aml to your OC/ACPI folder and add it to your config.plist.

Also, I am using FakeSMC.kext and you are using VirtualSMC.kext. I haven't used VirtualSMC.kext, so I'm not sure of the differences.

I did notice the subsystem ID differences. We can inject those with DeviceProperties if we get desparate and can't think of anything else.
Ok, done!!
I've added the SSDT implementation you suggested and now it's correctly showing in IOREG.
I haven't been using FakeSMC in years. VirtualSMC is under development.

Still no H265 hardware acceleration BUT I'm improving the configuration and understanding.
I try to inject those parameters through DeviceProperties and report.

Thanks a lot!

EDIT: @deeveedee

I've injected the subsystem-id and sybsystem-vendor-id properties but nothing changed.
I added ig-platform-id 0000923E as beforeI was using 0700973E but nothing changed.
H265 acceleration is still not working.
mmmm....
Well I wouldn't know what to do differently.
 
Last edited:
@zzmadd You have done everything that I would have done (and more). Is there another way to detect H265/HEVC encoding ability (other than VideoProc.app) so that you can confirm it's not a flaw in the app?
 
@zzmadd You have done everything that I would have done (and more). Is there another way to detect H265/HEVC encoding ability (other than VideoProc.app) so that you can confirm it's not a flaw in the app?
Sure.
Use handbrake to encode a video file.
On the video tab, use as encoder, something with videotoolbox.
In such a way you encode the video file using the videocard or iGPU instead of the CPU.
CPU is still used to resize, apply filters, encode audio, crop etc etc..but the overall speed is significantly higher.
You can read all of these things on handbrake web site.
In short, handbrake fails on Big Sur, and that proves that videocrop is doing its job in this regard.

:)
 
Last edited:
@zzmadd I'm very curious about why some people have H.265/HEVC available and some do not, so I started what I hope will be a productive survey here. Let's see if we can figure out the difference(s) resulting in available or unavailable.
 
@zzmadd I'm very curious about why some people have H.265/HEVC available and some do not, so I started what I hope will be a productive survey here. Let's see if we can figure out the difference(s) resulting in available or unavailable.
That's a cool idea!
Thanks for that @deeveedee
I'll put up mine soon.
 
@zzmadd After upgrading to Big Sur 11.2, I posted my updated VideoProc.app hardware detection and IORegistryExplorer 2.1 dump here.
 
@zzmadd After upgrading to Big Sur 11.2, I posted my updated VideoProc.app hardware detection and IORegistryExplorer 2.1 dump here.
Thanks a lot!!
I got the file.
I've also added my IOReg 2.1 and VideoProc screenshot on your build thread.
See you there!
 
Back
Top