Contribute
Register

X1 Carbon 5th 4k Display Problem

Status
Not open for further replies.
Joined
Aug 25, 2019
Messages
3
Motherboard
Z390i
CPU
i9-9900K
Graphics
RTX 2080 TI
Mac
  1. iMac
Mobile Phone
  1. iOS
Hi guys! It is my first-time post and I had some problems with my display.

My laptop is ThinkPad X1 Carbon 5 gen (2017) with i7-7500U (HD 620) and 1080p display. I have a nearly perfect Hackintosh on it. (Thanks for the guides!)

Then I decided to change the display from 1080p to 4k. It works perfectly in windows and ubuntu. But I have some problems with macOS. Firstly, after the -v codes, it does not show the Apple logo, and the downside of the screen has some color strips. (attached) However, the system is successfully booted. I tried to plug in an external display, which works for a few seconds (the system could operate). But after a few seconds, it reboots (it would be stable if not plug in an external display).

After turning the ig-platform-id into 0x12345678, it successfully booted. But the graphics driver is not injected and everything is slow. The display is recognized as 4k but as a projector.

Here are some ways I tried:
  • Eject EDID: Not working
  • Change "Total graphics memory" in BIOS from 128m to 256m: I do not know if it is DVMT memory, but it does not work. (It also caused my DSDT patch not functioning)
  • I tried to increase the framebuffer-stolenmem in the framebuffer patch, but it caused the kernel panic whenever it is bigger than 22m (the original value in the patch)
  • I also tried to change the framebuffer like this. But it also resulted in kernel panic. If I add the framebuffer-stolenmem=22m, it does not panic but would have the same problem.
Is this a DVMT problem? I haven't tried to change the DVMT using UEFI shell since it is somewhat dangerous. But if it is, I think I will do it anyway.

Has anyone encountered the same problem? Thank you for your time in reading this and I am desperate for your input!
 

Attachments

  • IMG_2089.jpeg
    IMG_2089.jpeg
    2.9 MB · Views: 132
@yhzq,

Make sure you have Lilu + WhatEverGreen installed and configure with correct PlatformID for the IGPU.
See the Lilu + Plug-in's guide for more info :-


When using a 4K display make sure you are booting with the "-cdfon" boot argument which will enable the WEG pixel clock patch (required for 4k) ... see the section of the the guide titled "HiDPI Displays" :-


Cheers
Jay
 
@jaymonkey

Thank you for your reply! I have the latest Lilu + WEG and the correct PlatformID for HD 620 (0x59160000). I also added the -cdfon on the boot arguments. The macOS worked just fine until I changed the screen from 1080p to 4K.

By experimenting a lot today, I found that the key argument is "frambuffer-stolenmem". If I do not add it, panic. If it is set to initial size as 19M, the problem is the same as above. When bigger than 30M, panic. When I tried 30M, it does not panic. Although having the same problem, the strips on the screen actually moved down a bit when the stolen memory increased...

I also see someone changed the "dpcd-max-link-rate" to solve the 4k display problem, but on UHD 630. It is not useful for me too.

Does this mean that my DVMT memory is not enough? Thank you again and looking forward to hearing from you!

Thank you,
Eric
 
Does this mean that my DVMT memory is not enough? Thank you again and looking forward to hearing from you!


@yhzq,

Yes .. DVMT memory size is what i would suspect.

You have Three options :-

1. Adjust the DVMT size in the BIOS/UEFI ... MacOS expects DVMT to be at least 64MB in size or greater. However I suspect (like many modern laptops) your X1 carbon does not have a DVMT specific setting.

2. You can try using the minstolenmem patch to decrease MacOS's expected DVMT value to match what is stored in your BIOS/UEFI ... this method does not work on all systems (sound like you tried this already) :-


3. Modify the DVMT value stored in the BIOS/UEFI directly by use of a EFI Shell command. it's risky as if you patch the wrong memory location it can cause boot issues but as long as you work carefully and find the right offset and hex values in your BIOS code then you should be ok.

There are a few different methods that can be used, which you use will depend upon which type of BIOS/UEFI your system uses, for example here is a guide for Insyde-H20 based BIOS's :-


Cheers
Jay
 
@jaymonkey,

Thank you for the advice. I tried to change DVMT using UEFI shell, but it returns an error...

IMG_2100.jpeg


I think the BIOS is locked... Maybe there was no way to solve this problem. Thanks anyway.

Best,
Eric
 
Status
Not open for further replies.
Back
Top