Contribute
Register

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

Status
Not open for further replies.
Regarding the Display - I kind of expected that. To get sleep working I chose a framebuffer with only one connector. That means, even when enabling the other ports to get usb-c hotplug working without the kernel panics via framebuffer patching, somehow the system has only this one single connector available, aka the internal display. I also tried the other way round, meaning: Using a platform-id with all the 3 connectors were Display Out worked (and sleep/wake didnt) and trying to disable the other ports to get sleep working. But that unfortunately did not solve the sleep issue, even when there was only one framebuffer@0 visible via ioreg. So the sleep issue had to have sth to do with another setting within the framebuffer. and I dont know which one so i gave up (v22 if you know what i mean ;) ) .

Tbh, I can live with the missing external display functionality. But if you have some time around christmas you could try chosing a platform-ig were the external display is working and then trial & error your way through framebuffer patching via hackintool. I know I probably will ;)

Regarding the palm rejection: Just tried it, and tbh I dont see any difference to the behaviour under windows or on my macbook pro 2012. If I recall correctly, I saw the VoodooPS2Controller in your kext-folder - this one might interfere with the voodooI2c kext. Maybe try and get rid of that one - why did you use it in the first place?

Bugger that Tb3 does not work...even when you boot with the egpu connected on the right side port?
As mentioned above, you could try to set a different kind of type/index/port on framebuffer-con1, but I reckon it is more likely that a different combination of another platform-ig and corresponding framebuffer patches is needed.

cheers

Actually I just got rid of VoodooPs2 before I read this. I had that in my kext> others because prior to voodooI2c 2.2 you had to install VoodooPs2 to get palm rejection working. I found that the 2.2 version already had QuietTimeTyping ported from VoodooPs2. It doesnt work too well though so I decided to just disable "Tap to Click"

I dont really mind not having the ability to hook up to an externnal display via USB C as I don't really use a different display unless I hook up to my eGPU where it makes sense to drive a 4k monitor otherwise I'm good with the internal FHD.

I still feel that TB3 should work independently of connectors in the frame buffer since you are actually going through a TB3 to a video card where the connector actually is. I will probably keep working on this in my spare time as I would really rather port all my graphics work from the Windows partition to macOS as it is considerably more reliable. If that ever works i can work mainly off of my macOS partition via an eGPU and only use the windows partition when remote and i need of a graphics horsepower (via mx150).

Overall though the ability to sleep has been a huge improvement - Thank you!
 
@elmacci I think you might find this interesting - I played around with the SSDT-TB3 AML and got my machine to boot with the 5700XT in the Razer Core initialized. Not only that but I also got my wireless mouse and keyboard that were plugged into the core working too.

The external display plugged in to the razer core does not work though which might have something to do with the frame buffer not having a DP or HDMI connection. I am not getting GPU acceleration with the internal display though but I think this proves TB3 works in our current config.

BTW hot plug does not work. To get the eGPU working you need to plug it in while on the clover boot loader boot device selection screen.
 
Interesting - what exactly do you mean by playing around? What settings did you alter in the AML?

BTW hot plug does not work. To get the eGPU working you need to plug it in while on the clover boot loader boot device selection screen.

What exactly do you mean? TB3 Hotplug with the eGPU or USB-C Hotplug? Because USB-C Hotplug did work for me (with a mouse attached.

Could you attach your SSDT-TB3 AML pls? Thx
 
Interesting - what exactly do you mean by playing around? What settings did you alter in the AML?



What exactly do you mean? TB3 Hotplug with the eGPU or USB-C Hotplug? Because USB-C Hotplug did work for me (with a mouse attached.

Could you attach your SSDT-TB3 AML pls? Thx

Playing around - I checked the SSDT line per line and found that one identifier for RP05 was not changing to RP09 when I was replacing it using the replace all approach.

For hotplug I mean TB3. USB C works fine as a USB 3 interface. TB3 is different in the case of an eGPU plugging it in during clover boot allows the TB3 to initialize allowing the blade to see the eGPU as a PCIE connection. If you plug the eGPU in after boot the card wont initialize.
 
Strange - I just checked, the renames to RP09 were all in place in my ssd...?!

Ok, Hotplug for TB3 is probably never gonna happen.
 
Strange - I just checked, the renames to RP09 were all in place in my ssd...?!

Ok, Hotplug for TB3 is probably never gonna happen.

Hot plug is a luxury - It wont kill me to plug the TB3 cable on the clover boot device screen. By the way I found a framebuffer with 3 connectors that works with my blade andi allows sleep. Im not home so I cant test with my usb-c to HDMI dongle or my eGPU but I have a feeling it will work :) I'll keep you posted!
 
btw, something I found out recently:
Sleep did work for me when nothing on the usb-c ports was attached or only usb 3.1 devices (not thunderbolt) with a usb-c connector.
As soon as I connected a thunderbolt device such as my monitor, sleep only worked once. When I sent the blade into sleep the second time (with the thunderbolt cable attached), the screen would turn dark, but the little light on the front stayed green and the blade panicked - only solution then was a hard reset.

To solve that, I took another look at the Framebuffer and defined the other connectors as active, but as Type "Dummy".

Now Sleep works every time, regardless of a usb-c 3.1 or thunderbolt capable device connected.

Pls find attached the new device properties for the Framebuffer.

So there are different approaches:
I used the Framebuffer with 1 connector and defined the other two as present, but not available.
That allows sleep, but rules out any external display from ever working.

The other method would be, finding a Framebuffer with 3 connectors and sleep working.
If what you say works out and you indeed found one, that would be awesome because it would mean that external displays could work as well, next to sleep etc. ;)

Looking forward to hearing from you - am curious which Framebuffer that is ;)
cheers
 

Attachments

  • config - elmacci - v23 - framebuffer-changes.plist
    1.7 KB · Views: 114
btw, something I found out recently:
Sleep did work for me when nothing on the usb-c ports was attached or only usb 3.1 devices (not thunderbolt) with a usb-c connector.
As soon as I connected a thunderbolt device such as my monitor, sleep only worked once. When I sent the blade into sleep the second time (with the thunderbolt cable attached), the screen would turn dark, but the little light on the front stayed green and the blade panicked - only solution then was a hard reset.

To solve that, I took another look at the Framebuffer and defined the other connectors as active, but as Type "Dummy".

Now Sleep works every time, regardless of a usb-c 3.1 or thunderbolt capable device connected.

Pls find attached the new device properties for the Framebuffer.

So there are different approaches:
I used the Framebuffer with 1 connector and defined the other two as present, but not available.
That allows sleep, but rules out any external display from ever working.

The other method would be, finding a Framebuffer with 3 connectors and sleep working.
If what you say works out and you indeed found one, that would be awesome because it would mean that external displays could work as well, next to sleep etc. ;)

Looking forward to hearing from you - am curious which Framebuffer that is ;)
cheers

weird thing happened. I come home from work and plug in to the USB c dongle then connect to a monitor via HDMI and boom it works. So I try restarting and plugging in the eGPU - no dice. I try the HDMI again and it just stopped working.

I feel like im heading towards the right direction but it looks like I need to patch to get HDMI to work properly.
 
Hm, okay - very strange! What framebuffer did you use? Maybe i can test as well.
 
Hm, okay - very strange! What framebuffer did you use? Maybe i can test as well.


I used this:

ID: 3EA50004, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A
TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)
GPU Name: Intel Iris Plus Graphics 655
Model Name(s): MacBookPro15,2
Camelia: V3
Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - LVDS
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - DP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - DP
00000800 02000000 98040000
01050900 00040000 C7030000
02040A00 00040000 C7030000

If you just edit your APPL Platform ID and Device ID with your current configuration you will find that everything works just like your current frame buffer i.e. sleep/wake and iGPU acceleration. The main difference being that the above framebuffer has 3 connectors.
 
Status
Not open for further replies.
Back
Top