yusifsalam / t490-macos

Lenovo T490 running macOS Big Sur using OpenCore
111 stars 38 forks source link

HDMI and type-c video output #1

Closed feiye1995 closed 3 years ago

feiye1995 commented 4 years ago
<key>Devices</key>
<dict>
    <key>#AddProperties</key>
    <array>
        <dict>
            <key>Comment</key>
            <string>hda-gfx=onboard-1 for HDMI audio</string>
            <key>Device</key>
            <string>IntelGFX</string>
            <key>Key</key>
            <string>hda-gfx</string>
            <key>Value</key>
            <data>
            b25ib2FyZC0xAA==
            </data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>hda-gfx=onboard-1 for HDMI audio</string>
            <key>Device</key>
            <string>HDA</string>
            <key>Key</key>
            <string>hda-gfx</string>
            <key>Value</key>
            <data>
            b25ib2FyZC0xAA==
            </data>
        </dict>
        <dict>
            <key>Comment</key>
            <string>layout-id=3</string>
            <key>Device</key>
            <string>HDA</string>
            <key>Key</key>
            <string>layout-id</string>
            <key>Value</key>
            <data>
            AwAAAA==
            </data>
        </dict>
        <dict>
            <key>Device</key>
            <string>HDA</string>
            <key>Key</key>
            <string>PinConfigurations</string>
            <key>Value</key>
            <data>
            </data>
        </dict>
    </array>
    <key>Audio</key>
    <dict>
        <key>AFGLowPowerState</key>
        <false/>
        <key>Inject</key>
        <integer>100</integer>
        <key>ResetHDA</key>
        <true/>
    </dict>
    <key>FakeID</key>
    <dict>
        <key>#Kaby Lake-Comment</key>
        <string>To avoid automatic Clover fake device-id (Skylake) injection</string>
    </dict>
    <key>HDMIInjection</key>
    <false/>
    <key>NoDefaultProperties</key>
    <true/>
    <key>Properties</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x1f,0x3)</key>
        <dict>
            <key>AAPL,slot-name</key>
            <string>Internal@0,31,3</string>
            <key>device_type</key>
            <string>Audio device</string>
            <key>hda-gfx</key>
            <string>onboard-2</string>
            <key>layout-id</key>
            <data>
            AAAAAA==
            </data>
            <key>model</key>
            <string>Cannon Point-LP High Definition Audio Controller</string>
        </dict>
        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>AAPL,ig-platform-id</key>
            <data>
            AACbPg==
            </data>
            <key>AAPL,slot-name</key>
            <string>Internal@0,2,0</string>
            <key>device-id</key>
            <data>
            mz4AAA==
            </data>
            <key>device_type</key>
            <string>VGA compatible controller</string>
            <key>enable-hdmi-dividers-fix</key>
            <data>
            AQAAAA==
            </data>
            <key>enable-hdmi20</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-busid</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con0-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-flags</key>
            <data>
            mAAAAA==
            </data>
            <key>framebuffer-con0-index</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con0-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con0-type</key>
            <data>
            AgAAAA==
            </data>
            <key>framebuffer-con1-busid</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con1-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con1-flags</key>
            <data>
            hwEAAA==
            </data>
            <key>framebuffer-con1-index</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con1-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con1-type</key>
            <data>
            AAgAAA==
            </data>
            <key>framebuffer-con2-busid</key>
            <data>
            AgAAAA==
            </data>
            <key>framebuffer-con2-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con2-flags</key>
            <data>
            hwEAAA==
            </data>
            <key>framebuffer-con2-index</key>
            <data>
            AgAAAA==
            </data>
            <key>framebuffer-con2-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con2-type</key>
            <data>
            AAgAAA==
            </data>
            <key>framebuffer-con3-busid</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con3-flags</key>
            <data>
            IAAAAA==
            </data>
            <key>framebuffer-con3-index</key>
            <data>
            /////w==
            </data>
            <key>framebuffer-con3-pipe</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-type</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-fbmem</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-patch-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-stolenmem</key>
            <data>
            AACQAw==
            </data>
            <key>framebuffer-unifiedmem</key>
            <data>
            AAAAgA==
            </data>
            <key>hda-gfx</key>
            <string>onboard-2</string>
            <key>model</key>
            <string>Intel UHD Graphics 630 (Mobile)</string>
        </dict>
    </dict>
    <key>SetIntelBacklight</key>
    <true/>
    <key>SetIntelMaxBacklight</key>
    <true/>
    <key>USB</key>
    <dict>
        <key>AddClockID</key>
        <true/>
        <key>FixOwnership</key>
        <true/>
        <key>Inject</key>
        <true/>
    </dict>
    <key>UseIntelHDMI</key>
    <false/>
</dict>
yusifsalam commented 4 years ago

Hi, I tested HDMI video and it seems to be working, thanks!

Need to also test HDMI audio and then USB C

b4f129db00947d78f65ac696b808f9e983f8e3ca

feiye1995 commented 4 years ago

i get a error when i boot with openCore, can you help me? WechatIMG5

yusifsalam commented 4 years ago

i get a error when i boot with openCore, can you help me?

try to disable acpi patches one by one and see if OC boots

yusifsalam commented 4 years ago

It seems like 10.15.5 broke HDMI again

schspa commented 4 years ago

I boot with 10.15.5, and it seems both HDMI video and type-c video works in opencore.

yusifsalam commented 4 years ago

@schspa cool! what resolution are you using, are you able to test with HDMI and usb-c at 4K? when i tested with a 4K TV over HDMI it didn't seem to work.

schspa commented 4 years ago

@schspa cool! what resolution are you using, are you able to test with HDMI and usb-c at 4K? when i tested with a 4K TV over HDMI it didn't seem to work.

I use a 1080p display, and it works. I have no 4K monitor, so can't test for 4K resolution.

gfalo10 commented 4 years ago

Hi!! First of all, thank you for the work to make hackintosh possible in T490, I am a newbie and without this project I could not have Mac on my Thinkpad. With Catalina 10.15.6 I have no HDMI output, and when trying to change ig-platform and device ID with ProperTree on your config.plist I have the following error "Incorrect padding". Something similar happens to me when I try to generate a serial number with genSMBIOS when loading your config.plist, since the serial number that appears is XXX. I would really appreciate your help. Thanks in advance!!!

yusifsalam commented 4 years ago

@gfalo10 what's the resolution of your monitor/tv? at the moment anything up to 1440p should work for video at least (not sure about audio) but i haven't tested since 10.15.4 so it's possible something broke at some point. To edit the serial numbers, you can use a normal text editor (VSCode for example). I'll see if i can change my config so that you don't need to edit it in VSCode for ProperTree to be able to open it. If you want to be notified when I get to fixing that, you can "watch" the repo.

gfalo10 commented 4 years ago

I have tested on various 1080p tv's, and when I connect to tv the mouse just freezes for about 3-4 seconds and doesn't send a signal. It is possible that it is an error of my thinkpad although in windows it works perfect. In BIOS I have assigned 256mb to the GPU, and I have set HDMI as the preferred external output. I will be attentive to your repository, I am already "watching" your repo. Thank you very much!!

yusifsalam commented 4 years ago

interesting, have you tried with a different hdmi cable perhaps? does your laptop configuration have the mx250 gpu? unfortunately i can't test myself at the moment since i don't have a working HDMI cable, so if someone else can confirm the issue, that would be great!

gfalo10 commented 4 years ago

Only intel HD620 and i5-8365u(slightly different from yours), Although in about my mac it appears to me as Intel 630 with 2gb, and macOS Catalina Version 10.15.6 (Build 19G2021) y MacBookPro15,4. Yes, I've tried with difference cable and tv.

yusifsalam commented 4 years ago

i wonder if it's the audio signal causing hdmi to freak out. can you try with a monitor so that the hdmi cable only transfers the video signal?

gfalo10 commented 4 years ago

Unfortunately I don't have an HDMI cable that only transmits image. Couldn't I disable the sound in the hackintosh somehow to test it?

yusifsalam commented 4 years ago

If you can test with a monitor that doesn't have audio output (I have a Dell U2515H), that should do the trick. I'm not sure if disabling sound would be sufficient but worth a try to if you don't have a monitor.

gfalo10 commented 4 years ago

No, I only have TV with sound. I have tried removing the sound from system preferences and the same thing happens.

gfalo10 commented 4 years ago

I have tried again disabling the internal sound in BIOS and the image signal is not transmitted either. When I have more time I will try to install Catalina 10.15.4 and will test to confirm if it is a bug in my configuration / BIOS.

gfalo10 commented 4 years ago

I have installed Mojave to check the HDMI operation, and it does not work for me either. So it looks like it is a problem with my Thinkpad / BIOS and has nothing to do with the Catalina version. Just connecting the HDMI cable is enough for the image to be projected on the TV from Macos, right?

yusifsalam commented 4 years ago

I just tested with my monitor and it's indeed broken, so the issue is my config file, not your hardware or BIOS.

gfalo10 commented 4 years ago

Ok, I was already thinking of leaving because I didn't have the knowledge to continue investigating. Thanks for your help!!

yusifsalam commented 4 years ago

@gfalo10 I just pushed an update to the config which fixed HDMI on my machine, please check if it works for you too. c688501753fb186d47e2d59bcf2ef74b9a22e984

Oh, and you should be able to edit the config file with ProperTree now, "Incorrect padding" should be resolved.

gfalo10 commented 4 years ago

Works!!! Tested HDMI in 1080p with sound ok. Tonight I will test on another monitor with 2560x1080. ProperTree also works perfect, I have already changed the serial number for iServices. Everything working very well with a consumption between 6 and 7 watts with high brightness browsering. Excellent work !! Thank you!!

denzilferreira commented 4 years ago

I've noticed that if you plug after boot, first HDMI, then USB-C (not on the power USB-C), you get both working, audio included.

yusifsalam commented 4 years ago

@denzilferreira does it not work otherwise?

denzilferreira commented 4 years ago

It either shows the usb-c monitor or the hdmi one. If I plug first the HDMI and then the USB-C one, then both work. Full resolutions are detected: 2K and 4K.

> sudo mail from:Denzil

> Sent successful (elapsed .001 seconds)

On 12. Sep 2020, at 15.01, Yusif Salam-zade notifications@github.com wrote:

 @denzilferreira does it not work otherwise?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

yusifsalam commented 4 years ago

@denzilferreira oh wow, interesting, thanks for the info. personally i haven't managed to get 4K working, does it work for you over just HDMI without using USB-C?

denzilferreira commented 4 years ago

Yes, it works for me over HDMI alone too, 4K and audio out, using DELL U317W.

D

On 12. Sep 2020, at 15.31, Yusif Salam-zade notifications@github.com wrote:

@denzilferreira https://github.com/denzilferreira oh wow, interesting, thanks for the info. personally i haven't managed to get 4K working, does it work for you over just HDMI without using USB-C?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/yusifsalam/t490-macos/issues/1#issuecomment-691480742, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7U2LKIPK7HXAWK4EVFKHTSFNSZ7ANCNFSM4NHONTSA.

yusifsalam commented 4 years ago

@denzilferreira if you mean Dell U3417W, that's not quite 4K resolution (3840 × 2160) but 3440x1440 which is ultrawide 1440p.

denzilferreira commented 4 years ago

Oh, right right :) It works at this resolution 3440x1440!

D

On 12. Sep 2020, at 18.14, Yusif Salam-zade notifications@github.com wrote:

@denzilferreira https://github.com/denzilferreira if you mean Dell U3417W, that's not quite 4K resolution (3840 × 2160) but 3440x1440 which is ultrawide 1440p.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/yusifsalam/t490-macos/issues/1#issuecomment-691504559, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7U2LITYDSJTLSKPE7OZNTSFOF6PANCNFSM4NHONTSA.

yusifsalam commented 4 years ago

@denzilferreira when I tried to connect to a similar resolution monitor (Acer X34P) , refresh rate was limited to 50hz, can you confirm the same behavior?

denzilferreira commented 4 years ago

I see 60Hz here on mine, using HDMI and over USB-C, on Dell U3417W.

yusifsalam commented 4 years ago

I see 60Hz here on mine, using HDMI and over USB-C, on Dell U3417W.

ok thanks, must be an issue with the particular monitor I tested on then

denzilferreira commented 3 years ago

I've pushed a fix for this. Tested over HDMI and DP connections with two monitors. 4K and audio working.

lipeihsing commented 3 years ago

Firstly, many thanks for your project. I never succeeded on T490 before. I wonder is the display scale adjustment working? I am using a 2.5k displayed, the default resolution makes everything too tiny to see.

yusifsalam commented 3 years ago

@lipeihsing i think the macOS system scaling should work (System Preferences - Displays - Resolution: scaled) or you can use this script to enable better scaling https://github.com/xzhih/one-key-hidpi.