Wednesday, 30 December 2015

Macbook Pro Retina 15'' (El Capitan) with Dell U2715H (1440p) monitor issues and (kind of) solutions

Big Issue: OS X thinks that U2715H is a TV (like there are many 1440p TVs) 

This makes text really hard to read.
Even if System Preferences -> Displays -> Color -> Open Profile says that it is using RGB space it is actually not.
You can confirm that by either:
- Checking your monitor settings Color -> Input Color Format: YPbPr
- Mac System Report -> Graphics / Displays -> Displays: "Television: Yes" property exists.

Fix is described here: http://www.ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor

Text Blurriness 

Mac has a feature LCD font smoothing and it affects how fonts look on the screen. You can enable/disable this feature from System Preferences -> General -> Use LCD font smoothing when available 
It changes how fonts are rendered but you can also fine tune it by running commands in terminal.

There are 5 different modes of font smoothing you can configure:

  1. Default mode: Enable Use LCD font smoothing when available 
  2. Disable Use LCD font smoothing when available
  3. Light smoothing
  4. Medium smoothing
  5. Strong smoothing
You can set the smoothing by running following command in terminal:
defaults -currentHost write -globalDomain AppleFontSmoothing -int <level>
level determines how strong the smoothing is. It can be

0: This is equal to disabling "Use LCD font smoothing when available"
1: Light
2: Medium
3: Strong

Here is how each mode is displayed on Dell U2715H (After fixing RGB mode)

No Smoothing - Level: 0

Light Smoothing - Level: 1

Medium Smoothing - Level: 2

Strong Smoothing - Level: 3

Default Smoothing - Enable "Use LCD font smoothing when available"


Default and Level 2 is probably same.

In general (considering other fonts too) I think no smoothing is better than the others but the truth is none of them look as good as the fonts on retina screen and also fonts on this monitor when connected to a windows pc.

Here is a comparison of how text is rendered vis OS X and Windows. First one is address bar of Chrome natively running on OSX. Second one is from a remote desktop connection to a Windows pc from the same Macbook. So they are displayed on the same screen at the same time via the same Macbook! That means it is not a graphics card or monitor setting issue.
OS X:      
Windows: 

I think Apple should make something to fix this font issue on external monitors. OS X definitely cannot render fonts on external non retina monitors properly!


UPDATE
After some research I think I now know that OS X is not disabling font smoothing completely when setting it to level 0 but just decreasing it to a minimum.
And I found a solution to at least disable it on Terminal application:

It seems Mac cannot just disable anti-aliasing for some fonts like Menlo (default terminal font). There is a setting (Antialias text) in Terminal -> Preferences -> Profiles -> Text (selected and greyed out for Menlo)

Changing font to Monaco and disabling anti-alising made my terminal much better. It is not perfect but definitely not blurry any more.