Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UHD 630: avoidFirmwareLoading fix doesn't work occasionally after waking up #748

Closed
Goshin opened this issue Mar 3, 2020 · 28 comments
Closed

Comments

@Goshin
Copy link

Goshin commented Mar 3, 2020

Related specs of my laptop:

CPU: i7 9750H
IGPU: UHD Graphics 630
DGPU: GTX 1650 (Disabled with DSDT hotpatch)

The avoidFirmwareLoading fix in WhateverGreen resolves the sleep issue on my laptop. Without WhateverGreen, the laptop won't sleep properly, stuck after the screen turns off.

However, occasionally, when the laptop wakes up from sleep, the lowest frequency of the UHD 630 will be locked to 350MHz and the laptop will not be able to sleep again, just like what happens when WhateverGreen or the avoidFirmwareLoading is removed.

Screen Shot 2020-03-03 at 10 56 41 AM

I tried removing all the other patches in WhateverGreen but it was not helpful. Hence it is not caused by the other parts of WhateverGreen.

Does anyone have any idea what causes this? Does the firmware loading happen when waking up?

Feel free to ask me for more related information. Thanks in advance.

@Andrey1970AppleLife
Copy link
Contributor

#586

@Goshin
Copy link
Author

Goshin commented Mar 3, 2020

#586

Thank you for your information, but excuse me, would you mind elaborating about the related details for the problem?

@07151129
Copy link

07151129 commented Mar 3, 2020

Apple GuC is required for proper power management, which does not work on non-Apple computers.

@Goshin
Copy link
Author

Goshin commented Mar 3, 2020

Apple GuC is required for proper power management, which does not work on non-Apple computers.

but It is strange that it only randomly happens about once for five times waking up.

@07151129
Copy link

07151129 commented Mar 3, 2020

You may try to check syslog messages from IGFX kexts, it usually includes a rather detailed trace.

@Goshin
Copy link
Author

Goshin commented Mar 3, 2020

You may try to check syslog messages from IGFX kexts, it usually includes a rather detailed trace.

Thanks for your advice.
Seems the kext only outputs some log when booting.

2020-03-03 17:29:09.147110+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
2020-03-03 17:29:09.147113+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
2020-03-03 17:29:09.147123+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
2020-03-03 17:29:09.147126+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
2020-03-03 17:29:09.147127+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
2020-03-03 17:29:09.147130+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
2020-03-03 17:29:09.147131+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
2020-03-03 17:29:09.147133+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
2020-03-03 17:29:09.147134+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
2020-03-03 17:29:09.147137+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
2020-03-03 17:29:09.147138+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
2020-03-03 17:29:09.147140+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
2020-03-03 17:29:09.147141+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
2020-03-03 17:29:09.147143+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
2020-03-03 17:29:09.147144+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
2020-03-03 17:29:09.147146+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
2020-03-03 17:29:09.147147+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
2020-03-03 17:29:09.147149+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
2020-03-03 17:29:09.147150+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
2020-03-03 17:29:09.147152+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
2020-03-03 17:29:09.147153+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
2020-03-03 17:29:09.147155+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
2020-03-03 17:29:09.147161+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Forced to use Host Preemptive Scheduler
2020-03-03 17:29:09.147163+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Forced to use Host Preemptive Scheduler
2020-03-03 17:29:09.158586+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
2020-03-03 17:29:09.158589+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
2020-03-03 17:29:09.158590+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
2020-03-03 17:29:09.158592+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
2020-03-03 17:29:09.158593+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
2020-03-03 17:29:09.158595+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
2020-03-03 17:29:09.158596+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
2020-03-03 17:29:09.158598+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
2020-03-03 17:29:09.163776+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Throttle Cap = 100ms.
2020-03-03 17:29:09.163779+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Throttle Cap = 100ms.
2020-03-03 17:29:09.166512+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Host Preemptive
2020-03-03 17:29:09.166516+0100 0x462      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Host Preemptive

Though I don't know the reason for the log repeating, to my knowledge, I can't figure out anything strange.

@Goshin
Copy link
Author

Goshin commented Mar 19, 2020

Update:

  • Commenting out the avoidFirmwareLoading part solves the UHD630 350MHz issue after waking up.
  • Enabling DGPU in the _PST method in the DSDT patch solves the sleep issue.

Everything is ok now, though no idea why it is okay to load the firmware on my UHD 630.

Log

boot log

kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
kernel: (AppleIntelKBLGraphics) [IGPU] Selected Apple Firmware Scheduler
kernel: (AppleIntelKBLGraphics) [IGPU] Selected Apple Firmware Scheduler
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0xc00b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Apple Firmware
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Apple Firmware

sleep log

kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!




kernel: (AppleIntelKBLGraphics) [IGPU] Request to send Host -> Gfx firmware message when the firmware channel is not active!
kernel: (AppleIntelKBLGraphics) [IGPU] Request to send Host -> Gfx firmware message when the firmware channel is not active!
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!





kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x80000000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.14.0.0
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!
kernel: (AppleIntelKBLGraphics) [IGPU] A message did not receive a response when firmware went to sleep!

@vit9696 vit9696 reopened this Mar 19, 2020
@vit9696
Copy link
Contributor

vit9696 commented Mar 19, 2020

Sorry, do you mean that Apple GuC firmware loads for you?

@Goshin
Copy link
Author

Goshin commented Mar 19, 2020

I not sure it is loaded or not. I remove the following code in WhateverGreen/kern_igfx.cpp, then the strange frequency issue never happens again.

-               if (forceOpenGL || moderniseAccelerator || avoidFirmwareLoading) {
-                       auto startSym = "__ZN16IntelAccelerator5startEP9IOService";
-                       if (cpuGeneration == CPUInfo::CpuGeneration::SandyBridge)
-                               startSym = "__ZN16IntelAccelerator5startEP9IOService";
-
-                       KernelPatcher::RouteRequest request(startSym, wrapAcceleratorStart, orgAcceleratorStart);
-                       patcher.routeMultiple(index, &request, 1, address, size);
-
-                       if (loadGuCFirmware && getKernelVersion() <= KernelVersion::Mojave)
-                               loadIGScheduler4Patches(patcher, index, address, size);
-               }

can you determine from the log attached?

@vit9696
Copy link
Contributor

vit9696 commented Mar 19, 2020

Well, it does look like it is using Apple GuC. What I cannot understand is how can it work on a generic computer. What is the manufacturer of your laptop? I can implement the code to conditionally disable Apple-only firmware checks, but that is quite weird.

@Goshin
Copy link
Author

Goshin commented Mar 19, 2020

The ODM model is Tongfang GK5CP6X.
Some info about the ODM model:

https://www.reddit.com/r/EVOOGaming/comments/e94z7z/info_tongfang_gk5cp6x/
https://noteb.com/?model/model.php?conf=3926361701696785326_4010&ex=USD

It seems quite normal, but the CPU i7-9750H is also equipped on the MacBook Pro 15,1 (2019), which is the model choice in my SMBIOS config.
https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-core-i7-2.6-six-core-15-mid-2019-touch-bar-specs.html

Maybe we can test on other laptops with a similar condition.

@vit9696
Copy link
Contributor

vit9696 commented Mar 19, 2020

Yes, this makes sense to me. Sure, I will add a way to configure GuC firmware switch-off. It will also make sense to test DRM playback and perform provisioning.

@vit9696
Copy link
Contributor

vit9696 commented Mar 19, 2020

CC @osy86, @Download-Fritz, @07151129

@Goshin
Copy link
Author

Goshin commented Mar 19, 2020

DRM once worked properly for Chrome+widevine and Safari+fairplay (HLS&Smooth) during testing before, and the QuickTime player could also play the trailer mentioned in FAQ.Shiki.en.md.

Now it is unstable, but I don't remember the changes I made at that time. Now only the Safari and QuickTime player work. HLS+fairplay on Safari is laggy and choppy, while Smooth+fairplay is good.

Screen Shot 2020-03-19 at 3 05 04 PM
Trailer content in QuickTime player cannot be captured in the screenshot.

Some errors in the log:

com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be
com.apple.WebKit.WebContent: (AppleIntelKBLGraphicsVADriver) AVD error: Perf capability check failed: 0xe00002be

@vit9696
Copy link
Contributor

vit9696 commented Mar 20, 2020

Regarding GuC, I pushed changes adding support to forcing Apple GuC firmware loading on any machine. This is what you want to use.

Regarding DRM, bitmovin.com test site is not useful, as it does not use any hardware. Same for Chromium/widevine. iTunes movies, encrypted iTunes trailers, and Apple TV are relevant. You are best to test Apple TV (there are free shows, usually first episodes), as iTunes trailers do not require HDCP, and can be patched fully with software.

So, what I want you to do is to test:

  1. igfxfw=2 and confirm that it is back to normal (i.e. equivalent to commenting the code out).
  2. igfxfw=2 igfxpavp=1 and confirm that there are no random freezes when e.g. playing videos, possibly encrypted, but also others in Safari/QuickTime/etc.
  3. igfxfw=2 igfxpavp=1 shikigva=128 and confirm that Apple TV works and iTunes encrypted trailers play.

@07151129
Copy link

We should also advise users to try enabling those flags to get better IGPU performance

@vit9696
Copy link
Contributor

vit9696 commented Mar 20, 2020

Quite possible if it is stable…

@telepati
Copy link

Sorry, is it for just Laptops?

@vit9696
Copy link
Contributor

vit9696 commented Mar 20, 2020

Not necessarily. It seems to work with (very few) laptops and may also work with (very few) desktops. Do not expect too much.

@Sniki
Copy link

Sniki commented Mar 20, 2020

@vit9696 thanks for this,
I can confirm that im able to watch the trailer attached on the ShikiFAQ with those two boot-args.
HP Elite 8300 SFF
Intel HD 4000 Graphics using Macmini6,1 SMBIOS

It seems that macmini 6,1 has the same IGPU device IDs that my desktop have.

This is amazing, thanks a lot !

test

DRM
So it seems that macOS does hide DRM content as the screenshot turned out like this.

@Andrey1970AppleLife
Copy link
Contributor

@Sniki
You wrote garbage, because GuC only on SKL+.

@Sniki
Copy link

Sniki commented Mar 20, 2020

@Sniki
You wrote garbage, because GuC only on SKL+.

So you what you are saying that i only need igfxpavp=1 for DRM-Content to work ?

@Andrey1970AppleLife
Copy link
Contributor

Trailer from ShikiFAQ shows without boot-args. It was solved long ago.
Old DRM in 480p shows if used simply WEG.

@tiger511
Copy link

tiger511 commented Mar 22, 2020

GuC firmware load successfully on my device too with WEG 1.3.8. My Laptop is XPS 9570 Intel i7 8750h.

Also the power management is a lot better.Idle pkg power went down from 2.8Watts to .9 Watts.I dont know if this is all cause of Apple Firmware.But it surely did have an impact.

@Mateo1234454545
Copy link

I added igfxfw=2 igfxpavp=1 boot flags on my Intel UHD620 , but when playing video ,touchpad freezes for a sec or so and then starts again.

@Andrey1970AppleLife
Copy link
Contributor

I added igfxfw=2 igfxpavp=1 boot flags on my Intel UHD620 , but when playing video ,touchpad freezes for a sec or so and then starts again.

Remove these boot-arguments.
igfxpavp=1 not work.
igfxfw=2 works only at 14 nanometer chipsets.

@Mateo1234454545
Copy link

I have Intel i5-8250u, which is 14nm.

@Andrey1970AppleLife
Copy link
Contributor

It not chipset, it CPU.

@acidanthera acidanthera locked and limited conversation to collaborators Mar 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

8 participants