Notifications

Text rendering worse on eGPU?  

  RSS

(@alex_ray_dotte)
New Member
Joined: 2 years ago
 

Has anyone else with a 4k monitor noticed that text in some applications tends to look different when the display is connected to an eGPU and a Thunderbolt 3 MBP vs the internal graphics?

In most apps it's not really noticeable, but when I'm running Visual Studio Code and my favorite color theme (Kimbie Dark) on a Dell P2415Q 4k monitor, the red text in particular is noticeably 'pinkish' and blurry than when connected directly to the MBP's internal graphics. It's bad enough that I usually prefer coding connected to the internal graphics.  Unfortunately the MBP chassis runs noticeably warmer and I lose hardware acceleration for other apps when doing this, so it's not ideal..

I'm using a 2018 13" MBP and an RX 580 with the Breakaway Box, btw. Also have a 32" BenQ 2560x1440 monitor connected to the eGPU that doesn't have this problem.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@alex_ray_dotte)
New Member
Joined: 2 years ago
 

Update: Installing Mojave fixed it.

Dark mode FTW 😎

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
charles_cactus
(@charles_cactus)
New Member
Joined: 1 year ago
 

Even though you already fixed this issue I just wanted to post my own findings that might be useful to someone else. 

In High Sierra I noticed color fringing around text when using an RX 580. It was so bad in Xcode that I considered it unusable, it was worse with a light on dark theme but even with a white background theme (gross) it was still unusably bad. I ended up returning my 580 and upgrading to a Vega 56 for game performance reasons and found that it actually fixed the color fringing issue. So apparently text rendering quality can actually vary from card to card.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

Reviving an old thread.

Yes, I have the same problem. MacMini, Mojave, AMD580/Aktio Node Pro.
At 2560px resolution, text looks really weird. Some kind of mixture between "pixelated" and "slightly blurred". In all apps: web browsers, Photoshop, Finder. Everything.
I also get the impression that the palette icons in Photoshop look pixelated/blurry. Though I may be staring at the screen too much, now that I've noticed text looking weird. Will need to compare when I switch to the internal graphics again.

No colour fringing, though. But bad enough.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

Update after taking a closer look, comparing eGPU with internal Intel graphics (2560px resolution)

Indeed, it's not just text that looks pixelated, but also everything else like palettes in PowerPoint / Photoshop / Illustrator etc...

Is this a driver issue? Or an issue with my GPU (XFX AMD 580)?

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@mac_editor

Unfortunately not – doesn't make any difference at all. Anyway – it's not just text that's affected.
I think it may even affect pictures. Will take a macro-shot with my DSLR from a tripod, for comparison, as soon as I get the time.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@mac_editor

Did a macro screenphoto today, to illustrate the difference between internal and eGPU. Shot with a 100mm macro lens on a Canon 5DSR. Not perfectly aligned (hence the moirée). Photoshop zoom level is 100%.

MacMini internal graphics:
https://imgur.com/wRGP5IK

eGPU:
https://imgur.com/4R99ubF

Screen settings:
https://imgur.com/aUz2WXc

This is from inside Photoshop. All text layers are rasterized. The black lines are from 1px to 10px apart, and exactly 1px wide. On the AMD 580, some of the vertical lines go missing completely – which is what annoys me more than anything else. This is a complete no go for retouching!
White-to-black gradient is smooth, though. No banding.

Independent of the graphic card: what's really weird is: the document is 2560px wide, the system preferences say "looks like 2540 x1440", yet at 100% zoom level in Photoshop, the document only uses up half the screen's width...
I'd like to add: I'm not new to Photoshop, but this is my first step into the eGPU/4k-screen world. My old screen was 1920px wide, and a 1920px wide document would fill the exact width of the screen.

Could it be that the card is faulty? I bought is used of eBay (from a commercial seller who had about 30 of these cards going). Checked with XFX, and the serial number shows an original purchase date of 2017, from Lithuania. I've read reports about bad cards that had been used for mining. But I'd like to think a card either works or it doesn't. (On the long run, I'll probably upgrade to a AMD5600 anyway, as soon as the drivers are ready).

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

Quickly saw this on the phone and it’s as you say - looks horrid on eGPU.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


ReplyQuote
rnb2
 rnb2
(@rnb2)
Eminent Member
Joined: 1 year ago
 

@macbowtie

I can answer one part of your question - the less important part, unfortunately. The key here is that you're running a 4k screen at a resolution that "looks like 2560x1440", so you're not actually running at that resolution, because your 4k monitor can't (it's 3840x2160 pixels, no matter what). When you set your resolution at anything greater than the default (or ½ the actual pixels - the 1920x1080 setting), what macOS does internally is render off-screen at 2x your "looks like" resolution - so 5120x2880 in this case - then simulates the result on your 4k screen. This is why your 2560 pixel document only takes up ½ the screen - graphics/photos/video are rendered in actual pixels, only interface elements are rendered at 2x. So, your 2560 pixel document is rendered off-screen at 2560 pixels wide on a 5120 pixel wide virtual screen, then everything is mapped down to the 3840x2160 pixels of your display.

I'm afraid I don't know why everything looks so awful via the eGPU, though. Haven't experienced that myself, and I'm running Catalina now, so can't test.

This post was modified 1 month ago

2018 i7 Mac mini - OWC Mercury Helios FX (Sonnet 550) - ASRock Vega 56 - BenQ SW271


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

Thanks for the thorough explanation @rnb2

Based on what you said I thought maybe the problem will disappear in native 1920 resolution, so I did another quick test with my phone camera. Result is here:
https://imgur.com/gKLHF3A

The problem persists, but looks slightly different:
at 2560px resolution, I can see 6 of those vertical lines – at 1920px resolution, it's 5 vertical lines.
Actually, the lines should look the exact same as the horizontal ones (it's a duplicate layer, rotate by 90 degrees).

For some reason the AMD580 seems to have a problem with the horizontal resolution – whereas the vertical resolution looks fine:
Vertical lines appear 2x as thick as they should. And also, the rounded edge at the top of the large text (the "p" and "h") looks fine.

Do you think I should return the card? Could it be that it's some kind of counterfeit card? Serial number sticker looks like this:  https://imgur.com/aWvRj1H

Like I said: the card is used, but came from a commercial seller on eBay. I still have a few days to return it.

 

 

 

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

Have you tried switching video output ports (HDMI vs. DisplayPort)?

In case the problem remains, if I were in your shoes I’d return the 580 anyway or at least flash a different vBIOS just to eliminate another variable (XFX is known to cause other problems in eGPU config). 

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

Yes, other ports show the same problem. And so does Catalina.
What does flashing the vBIOS do? Is this basically a firmware-update? And can I do that with a Mac, or will I need a PC? (Could use my girl-friend's but would prefer to do it on a Mac).

Meanwhile, I've ordered a brand new XFX AMD580 from Amazon which will arrive tonight – so I can compare.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

I’d suggest a brand different from XFX. Anyway, flashing GPU BIOS requires Windows (can be done on Bootcamp I believe). In a sense it can be thought of as a change of firmware for the GPU. Since you mentioned the card was used, there is no guarantee that BIOS is untouched.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


itsage liked
ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@mac_editor

Just received my XFX 580 from Amazon. It behaves the exact same way as my old one – so I think you're right: XFX = no good for Mac OS.

Another thing I noticed is: if I open my test image in Photoshop, set zoom level to 100% and then move the image a little to the left/right, the vertical line pattern changes.
Same image, same card, same zoom level. All I did is nudge the image a few pixels to the the left ("spacebar/hand tool" in Photoshop):
https://imgur.com/Dgp1cye
https://imgur.com/NTwv5qE

I'm guessing this has to do with those internal calculations @rnb2 explained. A bit like in the old days of Photoshop when zoom levels of 25%/50%/100% looked fine, and odd zoom levels like 13.67% showed pixelation.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

Disappointing to hear your issue was not resolved with new card. I would have at least expected to not see the problem at standard (exact 2x) scaling but you mentioned above that it’s still a problem. Perhaps you could perform an AGDCDiagnose on the display when it’s connected to eGPU vs internal GPU to see any differences. 

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@mac_editor

I only tested the new card at 2560. Are you saying that I should do another test at 1920 and 3840 resolution?

I did the AGDCDiagnose, and put the text files into a text comparison tool. But this stuff is way over my head....
What should I be looking for in those files?

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

I meant that you tested at 1920 scale with old GPU but still faced the issue so was a bit surprised about that. With the diagnosis results though, I’d just look for any differences. Might as well share your results here. Will tag in @joevt who might also have insight. 

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@mac_editor @joevt

I've attached the AGDCDiagnose text. This one's with the eGPU on. 

And this one's with the iGPU only. eGPU disconnected.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

In the eGPU case, it shows you are connecting using TMDS which is either DVI or HDMI? Maybe the display is expecting Dual Link DVI but something is wrong so it's missing one of the links and only half of the horizontal pixels are being transmitted so you are missing some vertical lines?

The manual says Dual Link DVI is required for 4K. What kind of cables/connections are you using? Maybe you have a bad Dual Link cable (maybe it's Single Link even though it has Dual Link connectors). Does the GPU support Dual Link? The XFX RX 580 web page says it does. I've never heard of a GPU with a Dual Link connector only supporting Single Link. I know many (all?) PC motherboards with a DVI connector only support Single Link.

I can see you are not using the same connection for eGPU and iGPU because each case has a different EDID. The EDIDs are different for each port of the display. The display has three ports. You sent AGDCDiagnose for two of them. I think we're missing AGDCDiagnose info for the DisplayPort connection. I'd like that for a full set.

Dual Link DVI is limited to 4K 30Hz (this is reflected in the limited refresh rates listed in the EDID). You should probably use DisplayPort. Make sure the display is set to DisplayPort 1.2.

Is your screen rotated?

In the iGPU case, the display is connected to the HDMI port, which gets a HDMI signal from a Parade Technologies ps176 DisplayPort to HDMI 2.0 converter  #11  , which gets a DisplayPort signal from a DisplayPort port of the iGPU. That all seems fine but consider checking for chroma sub sampling artifacts because the EDID does show support for YCbCr 4:2:2 and YCbCr 4:2:0 and macOS tends to use those instead of RGB for 4K 60Hz HDMI for some unknown reason.
https://www.rtings.com/tv/learn/chroma-subsampling

I don't see in the manual a method for showing if the display is using RGB or YCbCr mode. You can force RGB mode if you do see chroma subsampling issues.
https://gist.github.com/adaugherity/7435890
https://gist.github.com/joevt/32e5efffe3459958759fb702579b9529

HDMI 2.0 4K 60Hz RGB or YCbCr 4:4:4 is limited to 8 bpc color. DisplayPort 1.2 allows 10 bpc.

I've attached my work (including creation of an RGB only EDID override for the HDMI 2.0 port of the display (the worksheet file is created by BBEdit - it's like a replacement for Terminal.app).

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
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@joevt Thank you very much for the analysis. Very helpful indeed, and I have a good feeling it's not the card, but a mistake from my side. Transitioning from a 2012 MacMini + 1920 screen, to a 2018 MacMini + eGPU + 4k screen, this is all fairly new grounds for me...

To answer your questions – my setup is:

  • 2018 MacMini + iiyama XUB2792UHSU;
  • internal graphics is connected via USB3-to-HDMI
  • eGPU is connected via DVI (with an old cable from about 5-7 years ago.... which may well be the culprit here)

I've followed @mac_editor 's excellent writeup for eGPU for Macs. Coming from an old 1920px NEC Spectraview, Dual Link / Single Link is all new to me...

You're right, I'm not using the same connection for eGPU and iGPU, mainly because my eGPU has been playing up a bit during boot procedure. So, for convenience, I have the following setup

  • I power up the MacMini with iGPU (connected via HDMI-USB3)
  • once I'm logged in, I power up the eGPU (connected via DVI)
  • I then switch the screen input to DVI, and disconnect the HDMI-USB3 cable (but: only from the MacMini – the HDMI side is still connected to the screen)

This is my setup for a work day. Once I'm finished with work and only browse the web/do research etc, I disconnect the eGPU (via the menu bar of course), turn it off, re-connect the HDMI-USB3 cable and change the screen input back to HDMI.

I think I already tried the Displayport cable (which came with the iiyama screen), and as far as I remember it didn't make a difference. Will try various other cable options over the week-end and send the Displayport AGDCDIagnose...

Thanks again for your input – very interesting, and I do hope that this helps other users!

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

In my experience DisplayPort works best with macOS (I’ve had issues with HDMI) and DVI is something I never even tried. I use 3 4K monitors (LG) all plugged in via DisplayPort and they all seem to work as expected at 10bpc. If it is a monitor-specific problem (rather than just input, since you mention no difference with DisplayPort) I hope more users with the iiyama can chime in here. @joevt did way more analysis than I could hope for so hopefully we can get to the bottom of this.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro


ReplyQuote
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@macbowtie @joevt

Problem solved – everything's OK now with the Displayport cable that came with the iiyama screen. Thank you very much!!

I thought I had already tried Displayport, but maybe I was using an older cable – can't remember.
That DVI cable is defiinitely going into the bin straight away... 

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

Glad to see it's working. I wouldn't throw away the cable until you know there exists a dual link cable that does work. Instead, label it single link and put it in your old cable box. You could use it in the future for single link DVI or HDMI connections or resolutions [email protected] or less (which are transmitted as single link).

Can you send the DisplayPort AGDCDiagnose output? I am curious to see how it differs from the Dual Link DVI and HDMI 2.0 info.

 

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
MacBowtie
(@macbowtie)
Eminent Member
Joined: 6 months ago
 

@joevt

What surprises me is that the old cable also showed artefacts in 1920x1200 resolution.

I attached the Displayport diagnose file.

2018 MacMini i7 / Mac OS Mojave / 4k iiyama screen


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

@macbowtie

Thanks for the AGDCDiagnose output for DisplayPort. Nothing unexpected there. It is running as DisplayPort 1.2, 4 lanes, HBR2 as expected. The EDID has the correct 593 MHz timing for 4K 60Hz.

I've attached my work with this new info for completeness.

I tested my Apple 30" Cinema Display with an RX580 eGPU connected to a MacMini8,1. The display has a single link mode 1280x800 and a dual link mode 2560x1600. If I try the dual link mode with a single link cable, then I get no image. This is different than your display where it will display a corrupted image, or the problem with your display is not a single link cable. I guess there's no way to know for sure unless you succeed with a new dual link cable. I think it's strange that neither display can detect that the connection is not dual link?

I suppose you could test if your cable is dual link or not by using a continuity checker on the pins of the cable (use a multimeter or a flash light light bulb with a battery and some wires). Check that the middle two columns of eight columns of pins (three rows) are connected.
https://en.wikipedia.org/wiki/Digital_Visual_Interface

 

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