Setup & Software Discussions
4K HDMI output capped at 30 Hz
 

4K HDMI output capped at 30 Hz  

  RSS

MacsAre1
(@macsare1)
Active Member
Joined: 2 years ago
 

I have my AMD RX 580 eGPU working fine plug and play (no hacks) on High Sierra 10.13.3 in a Sonnet Breakaway Box with my 2013 MacBook Air. At least, it works fine with one 4K monitor plugged in via DisplayPort. Supports 60Hz refresh rate just fine. However, I've been trying to change my setup recently. I have a Denon Home Theater receiver that I want to route everything through, and it only has HDMI inputs. So I tried switching from the DisplayPort to an HDMI cable. I only get 30Hz refresh rate. The monitor (LG43Ud79-B) supports 60Hz refresh rate, and Apple TV works fine at 4K 60Hz on the same HDMI input. With and without the Denon between the eGPU and the monitor makes no difference, I still get only 30Hz. After some research it seems like there is a Mac OS limitation. (For some reason the eGPU stopped working in Boot Camp, so can't check the refresh rate on the Windows side.) So I bought a DisplayPort to HDMI adapter, thinking that might resolve the issue. No difference, still only get 30 Hz over the DP to HDMI cable (which has 21.6 Gbps bandwidth so should support 60 Hz) with or without the Denon in the loop. ResExtreme only shows 30 Hz max with 4K resolution, too. (Actually, I think it's 30 Hz max for 1080p and up.)

Frustrated, I resorted to plan B: connect the Denon as a second output on the eGPU using the HDMI port. This should allow me to send the audio to it over HDMI without being stuck with the 30Hz refresh rate since I would be using DisplayPort for the video signal. Theoretically it should work. But the minute I have both the HDMI and DisplayPort cables plugged in, I either get a black screen everywhere or a frozen cursor (I can still click but cannot move mouse either with external mouse or built in trackpad). Tried using the DisplayPort to HDMI cable here, but the same problem occurs.

Right now I'm streaming audio to the receiver via Airplay, but this is an ugly workaround that will not be suitable for watching Blu-Rays. The goal is to build a surround sound system (currently only have two speakers) so I want the full 5.1 signal sent from my computer to the receiver. As far as I can tell, HDMI is the only way I can get the audio signal to the receiver digitally. But what's going on with the black screen? 

I would try Mini DisplayPort to the receiver since it only has to run audio, except the eGPU is taking up my only Thunderbolt port.

Cleanest solution would be to resolve the 30 Hz refresh rate issue. Any ideas to resolve that? Only solutions I can find seem to involve switching to DisplayPort, which obviously won't help here. If I can get any ideas why I'm getting a black screen using both HDMI and DisplayPort that would help, too. If upgrading to a newer version of High Sierra that requires a hack for the TB1 to 3 eGPU will help, I'll do it, but I've held off as I see no advantage in upgrading.

Thanks!

Sonnet Breakaway Box with AMD RX 580 running via TB1 on an 11" MacBook Air 2013 on Mojave 10.14.6


ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 3 years ago
 

macOS has always been finicky with HDMI output in regards to audio and refresh rate. Oddly enough I found sometimes running Nvidia web drivers help enabling both audio and higher refresh rate. Install 387.10.10.10.25.156 for 10.13.3 and see if it helps.

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide


ReplyQuote
MacsAre1
(@macsare1)
Active Member
Joined: 2 years ago
 

Even when running an AMD card? Guess I can give it a shot, as long as it will install without any Nvidia hardware present.

Sonnet Breakaway Box with AMD RX 580 running via TB1 on an 11" MacBook Air 2013 on Mojave 10.14.6


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

Apple has not enabled HDMI 2.0 as of macOS 10.13.6. I don't know if that has changed with Mojave - it might have.

purge-wranglerpurge-nvdaset-eGPU
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)


ReplyQuote
MacsAre1
(@macsare1)
Active Member
Joined: 2 years ago
 

@mac_editor

I have since upgraded to Mojave and just set this up with HDMI and got 60 Hz to work on 10.14.6. Guess HDMI 2.0 is finally enabled. Had to make sure I went into my LG monitor's menu and select the "HDMI ULTRA HD Deep Color" and turn it on. Then set the monitor's resolution back to default, and selected "scaled" while holding down the option key, and now it shows as 60 Hz when I select 4K.

Sonnet Breakaway Box with AMD RX 580 running via TB1 on an 11" MacBook Air 2013 on Mojave 10.14.6


ReplyQuote
steve4332
(@steve4332)
Eminent Member
Joined: 7 months ago
 

@macsare1

Note that if you select "HDMI Ultra HD Deep Color" on your 4K LG display, MacOS will  probably output the video in YCbCr format instead of RGB which should be the optimal format for computer monitors. This will result in a slightly substandard picture quality (it is hard to notice though if you are not sensitive - the effect is most noticable at distinct color boundaries especially those involving red). You'll need to override the display's EDID in order to force RGB mode (there are several guides for this). If you use DisplayPort to connect to your LG 4K display you'll not have this issue. This issue plagues several other displays but probably all 4K LG displays are affected (at least as far as I know: I have three different LG 4K display models and all of them have the same issue when switched to HDMI Deep Color, it doesn't matter whether I am using iGPU or eGPU).

Apple Mac Mini 2018 + Zotac AMP Box Mini + Sapphire RX 570 ITX


ReplyQuote
joevt
(@joevt)
Prominent Member
Joined: 2 years ago
 

@steve4332

You can't do 10bpc on HDMI 2.0 4K 60Hz (594 MHz) without using chroma subsampling YCbCr422.
https://www.rtings.com/tv/learn/chroma-subsampling

I made a spreadsheet at            #6           to show max pixel clock for different types of connections and pixel formats.

If you force RGB, then you'll be stuck with 8bpc (max pixel clock is 600 MHz). If you want RGB 10bpc, or YCbCr444 10bpc, then you need to reduce pixel clock to under 480 MHz.

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
steve4332
(@steve4332)
Eminent Member
Joined: 7 months ago
 
Posted by: @joevt

@steve4332

You can't do 10bpc on HDMI 2.0 4K 60Hz (594 MHz) without using chroma subsampling YCbCr422.
https://www.rtings.com/tv/learn/chroma-subsampling

I made a spreadsheet at            #6           to show max pixel clock for different types of connections and pixel formats.

If you force RGB, then you'll be stuck with 8bpc (max pixel clock is 600 MHz). If you want RGB 10bpc, or YCbCr444 10bpc, then you need to reduce pixel clock to under 480 MHz.

8bpc RGB looks much-much better than 10bpc YCbCr422. The latter is ok for movies but not ok appropriate to use a display as a computer monitor imho. @MacsAre1 only wants 60Hz and LG 4K displays will give him 60Hz over HDMI 2.0 only if "HDMI Ultra HD Deep Color" is enabled. In this mode the display's EDID will allow both for YCbCr and RGB but MacOS unfortunatelly prioritizes for YCbCr and there is no easy way to change it. YCbCr422 is lossy and the reduced color resolution is obviously visible even to a semi-trained eye so it is should be avoided. But even if YCbCr444 were used, it would still be substandard compared to RGB because of the additional conversion required (the phyisical nature of display itself is obviously RGB), so in case of a computer monitor it is still not really the best choice. Using YCbCr will result in additional minor issues according to my tests (like LG's DFC function - if enabled - is not working properly in this mode).

This post was modified 4 months ago

Apple Mac Mini 2018 + Zotac AMP Box Mini + Sapphire RX 570 ITX


ReplyQuote
joevt
(@joevt)
Prominent Member
Joined: 2 years ago
 

@steve4332

Ok, that makes it more clear. So enable HDMI Ultra HD Deep Color to get 60Hz, then force RGB 8bpc to avoid crappiness of YCbCr and/or 4:2:2 sub sampling.

macOS definitely needs methods to change and show current pixel format so users can know when they're not getting the best out of their hardware or if they want to sacrifice picture quality for refresh rate (or vice versa).

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
craftsman
(@craftsman)
Trusted Member
Joined: 8 months ago
 
Posted by: @joevt

@steve4332

Ok, that makes it more clear. So enable HDMI Ultra HD Deep Color to get 60Hz, then force RGB 8bpc to avoid crappiness of YCbCr and/or 4:2:2 sub sampling.

macOS definitely needs methods to change and show current pixel format so users can know when they're not getting the best out of their hardware or if they want to sacrifice picture quality for refresh rate (or vice versa).

Seems things like this also depend on the display. Whenever I have seen users suffer problems with YCbCr422 their white point is way off to magenta and text is fuzzy.

The Samsung 4K QLED display I have hooked up over HDMI is incredible after some calibration and settings adjustments in the display's menus. I'm super fussy about displays and colour accuracy. I'm in front of the screen almost around the clock. The white point is almost bang on 6500K, text is sharp with no noticeable chromatic aberration, no noticeable banding in gradients, video and photo colour accuracy is extremely good too. The reds are more accurate than my Eizo connected over DisplayPort where the reds always look a little shifted towards orange. I want to find something to complain about and can't.

 

This post was modified 4 months ago

MacBook Pro 16" 2019, Radeon 5700 XT 50th Anniversary Edition, Razer Core X Chroma


ReplyQuote