Contribute
Register

No Image on Laptop screen on wake but output on HDMI works

Status
Not open for further replies.
Joined
Jan 11, 2018
Messages
126
Motherboard
Razer Blade Stealth 2019
CPU
i7-8565U
Graphics
UHD 630/ MX 150
Mac
  1. iMac
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
I have a Razer Blade Stealth 2019 (Whiskey Lake i7 8565u) running Catalina. And I have everything I need working perfectly except the weird sleep issue below:

  • If the laptop is put to sleep by clicking sleep or closing the lid the internal display stops functioning except for backlight
  • The OS is alive because if I press buttons I can hear the sounds trigger (like maxing out the volume button or hitting play to play a song)
  • I do not have a physical display port or HDMI port but out of curiosity I plugged in a type C dongle and connected to an external display through HDMI and found that the monitor works - this is more odd because if the internal display works (did not go to sleep yet) plugging into a dongle through to a display does not work
My theory is that when the laptop display turns off for some reason and the OS tries to turn back on it is not able to find the internal display instead it connects to an external display. I have no idea how to test this theory but someone out there may be able to help.

What I have done so far:

  • Try different platform and device ids for kabylake and coffee lake
  • tried injecting a custom EDID through the display merge kext and through framebuffer patching
  • Tried using other UEFI drivers
  • Tried Changing Darkwake values
Maybe someone here is knowledgable in this area? If I could just get my sleep to work I can finaly use this laptop as my main machine.

I have attached my debug files for anyone willing to review it.

Please note that I have all my kexts in clover as I want to keep my catalina partition as vanilla as possible especially since I can't get sleep working.

thank you in advance!
 

Attachments

  • debug_6294.zip
    6 MB · Views: 173
Having the same issue - everything is working perfectly besides the Sleep/Wake Up.

I agree that at wake up, the Blade does not find the internal display and switches to the external one. Tested it myself. Plugged in the external monitor on the left usb-c port with the internal display working - nothing. Activated Sleep and woke it up - boom: internal display shows no content, but backlight is on (and can be dimmed via keys) - and external display wakes up suddenly.

When going into system settings and monitor, it shows both preference panes, one for the internal screen, one for the external display. So the internal screen itself is recognized to some extent.
I also read somewhere that in ioreg you can see that AppleIntelFramebuffer switches from display@0 (internal) to display@1 (external). So maybe we need to deactivate display@1 via a patch? Just throwing stuff in there, as i am clueless at this point and dont know what else to try.


Also tried everything else you already mentioned, Injecting EDID, different Platform IDs etc.

Does your Blade boot up when you remove SSDT-PNLF? I also read somewhere that sleep works when removing backlight control. Ubfortunately, when doing that i get mixed results - i get either a kernel panic at boot or my graphics acceleration stops working. And without graphics acceleration sleep does not work as well.

Would be wonderful to have sleep working - other than that it would be the perfect hackbook!

Cheers
 
Having the same issue - everything is working perfectly besides the Sleep/Wake Up.

I agree that at wake up, the Blade does not find the internal display and switches to the external one. Tested it myself. Plugged in the external monitor on the left usb-c port with the internal display working - nothing. Activated Sleep and woke it up - boom: internal display shows no content, but backlight is on (and can be dimmed via keys) - and external display wakes up suddenly.

When going into system settings and monitor, it shows both preference panes, one for the internal screen, one for the external display. So the internal screen itself is recognized to some extent.
I also read somewhere that in ioreg you can see that AppleIntelFramebuffer switches from display@0 (internal) to display@1 (external). So maybe we need to deactivate display@1 via a patch? Just throwing stuff in there, as i am clueless at this point and dont know what else to try.


Also tried everything else you already mentioned, Injecting EDID, different Platform IDs etc.

Does your Blade boot up when you remove SSDT-PNLF? I also read somewhere that sleep works when removing backlight control. Ubfortunately, when doing that i get mixed results - i get either a kernel panic at boot or my graphics acceleration stops working. And without graphics acceleration sleep does not work as well.

Would be wonderful to have sleep working - other than that it would be the perfect hackbook!

Cheers

Yup, I tried with and without an SSDT-PNLF and it did not make any difference. Mine does not KP or have boot panels when I add or remove those although by default I had mine set to using the "add pnlf" clover patch.

I had used all Coffee Lake Platform IDs and no dice. Its either I lose graphics acceleration or have it but sleep issue remains the same. Im starting to think that it may actually be UEFI drivers.

I agree on it being a perfect hackbook put I'll add TB3 to the list. TB3 + Sleep would make it perfect but TB3 alone would be great.

I have not seen anyone actively helping out on this topic though. I think maybe sleep is really not gonna happen for the blade stealth - Shame
 
Heureka!! @NONITS
I think i got it!!

As described in my post above, the dispaly@0 at a different framebuffer when connected to an external display got me thinking: What if macos does not have the option to „jump“ to the external display a.k.a a different framebuffer? My guess was that it then had to connect to the only display it finds, which is the internal one.

So I looked for a framebuffer with only one connector/port. Which was 3E9B0006. I could have probably just patched a new one with hackintool, but I just found it out and it is late. Gotta test it more tomorrow.

Wanted to share my findings with you as soon as possible. So far: After manually going to sleep, the Blade wakes up again - and the internal screen as well!!! I AM PSYCHED! ;))

Please find attached some screenshots of my settings. Maybe you want to investigate further in the meantime or try it yourself.

Graphics Acceleration works as well, also Backlight Control. Only thing i did realize was different: The max brightness is now lower. Gotta look into that.

Cheers!
240E3C64-1CEC-47FB-912E-8D0F34E460C5.pngFAC0C553-29D2-4B65-B121-B7FC4FE0BDFB.png5E5E1874-3542-4C9D-8AC4-06E63398EC70.pngE8432772-3604-41BB-929D-65C801659F45.pngCE5206B0-C7C4-4E28-9C82-F7CE744DDB56.png
 
Heureka!! @NONITS
I think i got it!!

As described in my post above, the dispaly@0 at a different framebuffer when connected to an external display got me thinking: What if macos does not have the option to „jump“ to the external display a.k.a a different framebuffer? My guess was that it then had to connect to the only display it finds, which is the internal one.

So I looked for a framebuffer with only one connector/port. Which was 3E9B0006. I could have probably just patched a new one with hackintool, but I just found it out and it is late. Gotta test it more tomorrow.

Wanted to share my findings with you as soon as possible. So far: After manually going to sleep, the Blade wakes up again - and the internal screen as well!!! I AM PSYCHED! ;))

Please find attached some screenshots of my settings. Maybe you want to investigate further in the meantime or try it yourself.

Graphics Acceleration works as well, also Backlight Control. Only thing i did realize was different: The max brightness is now lower. Gotta look into that.

Cheers!
View attachment 439486View attachment 439487View attachment 439488View attachment 439489View attachment 439490
If you are right with this then you just gave me an awesome advanced Xmas present!

Do you mind sharing your EFI or Config Plist? Just in case im not able to replicate this.

My EFI is configured to work "clean" i.e. no installs in the macOS system which sllows me to rule out any permission issues or third party kext errors when troubleshooting. This also allows me to update to new OS versions without risking too much.

I can also share my EFI if you are interested in running a "clean" hackintosh.
 
If you are right with this then you just gave me an awesome advanced Xmas present!

Do you mind sharing your EFI or Config Plist? Just in case im not able to replicate this.

My EFI is configured to work "clean" i.e. no installs in the macOS system which sllows me to rule out any permission issues or third party kext errors when troubleshooting. This also allows me to update to new OS versions without risking too much.

I can also share my EFI if you are interested in running a "clean" hackintosh.

@elmacci

You nailed it!!!!!!!! thank you sooooo much! Sleep works like a dream!

BTW to help you out with the brightness issues all you need to do is get rid of the SSDT-PNLF and select the "Add PNLF" patch on clover :)
 
@NONITS

Great!!

Sorry for the late response - when I wrote my last posting it was like 1:30 AM in Germany and I had just made that breakthrough. And today is a regular working day, so...

Wonderful that you got it working, so it definetely is a method to just inject 1 framebuffer/connector/port so that sleep works and the screen comes back on the internal display.

I also figured that Screen brightness works with the SSDT-PNLCFL.aml (pls find attached). Obviously, like you stated, AddPNLF works as well.

I uploaded my EFI Folder nonetheless (with the old SSDT-PNLF, needs to be exchanged with the other one attached).
Serial Numbers are altered from mine.
I also keep my Setup strictly vanilla.

Something else I was wondering:
What Memory-Driver are you using?
I used to have Aptiomemoryfix.efi. But realised that Shutdown & Restarts resulted in a Kernel Panic and NVRAM did not work.
Had to resolve to EmuVariable.efi & OptioMemoryFixDrv.efi, along with the corresponding RC scripts and nvram-plist so that nvram works.

What are you using? Maybe you could be so kind and upload your EFI?
Thanks - and happy hacking!
 

Attachments

  • elMacci - RBS19 - Workingv1.zip
    25.3 MB · Views: 166
  • SSDT-PNLFCFL.aml
    104 bytes · Views: 188
@NONITS

Great!!

Sorry for the late response - when I wrote my last posting it was like 1:30 AM in Germany and I had just made that breakthrough. And today is a regular working day, so...

Wonderful that you got it working, so it definetely is a method to just inject 1 framebuffer/connector/port so that sleep works and the screen comes back on the internal display.

I also figured that Screen brightness works with the SSDT-PNLCFL.aml (pls find attached). Obviously, like you stated, AddPNLF works as well.

I uploaded my EFI Folder nonetheless (with the old SSDT-PNLF, needs to be exchanged with the other one attached).
Serial Numbers are altered from mine.
I also keep my Setup strictly vanilla.

Something else I was wondering:
What Memory-Driver are you using?
I used to have Aptiomemoryfix.efi. But realised that Shutdown & Restarts resulted in a Kernel Panic and NVRAM did not work.
Had to resolve to EmuVariable.efi & OptioMemoryFixDrv.efi, along with the corresponding RC scripts and nvram-plist so that nvram works.

What are you using? Maybe you could be so kind and upload your EFI?
Thanks - and happy hacking!

Hey! thanks again! with sleep working Im focusing efforts in getting my EGPU to work. I use Aptiomemoryfix.efi which you will find in my attached EFI. Take a look at my DSDT as thats where I focus all of my edits so that functions work in my blade.
 

Attachments

  • EFI.zip
    18.9 MB · Views: 220
  • EFI.zip
    18.9 MB · Views: 280
Hi Nonits,

thanks for the EFI - I presume they both are the same or wh did you upload two of them? :)
I'll investigate further why you can use aptiomemoryfixup without kernel panic on shutdown / restart and i can't.
Just to be sure:
Could you please add the bootargs debug=0x100 and keepsyms=1 as well as kext-dev-mode=1 and -v to your boot section and then restart the machine?

It could be that you have the same problem, but dont see it because you dont have Verbose activated and the other bootargs, which tell the machine to stop so you can see the kernel panic log (instead of restarting).

Thats why you might have missed it.

Would be very kind of you - so I don't invest in something that is not solvable ;)

Cheers!
 
Hi Nonits,

thanks for the EFI - I presume they both are the same or wh did you upload two of them? :)
I'll investigate further why you can use aptiomemoryfixup without kernel panic on shutdown / restart and i can't.
Just to be sure:
Could you please add the bootargs debug=0x100 and keepsyms=1 as well as kext-dev-mode=1 and -v to your boot section and then restart the machine?

It could be that you have the same problem, but dont see it because you dont have Verbose activated and the other bootargs, which tell the machine to stop so you can see the kernel panic log (instead of restarting).

Thats why you might have missed it.

Would be very kind of you - so I don't invest in something that is not solvable ;)

Cheers!
Sure - I'll give the boot args a go when I finish fixing my DSDT - I had to reinstall and lost sound and my trackpad in the process.

I don't typically place boot args if it doesnt directly relate to a functionality I want. Honestly I have ever only used kext-dev-mode=1 if I encounter issues booting into the installer and verbose if I have boot up issues. Are there other issues you are trying to sort out aside from you restart issues?
 
Status
Not open for further replies.
Back
Top