Изображение на внешнем мониторе стало плохого качества. Что делать?

После покупки нового монитора или обновления macOS, интерфейс может стать мутноватым, а шрифты немного двоящимися. Как будто на них наложен фильтр инстаграм или вы смотрите на экран монитора с ЭЛТ-кинескопом. Рассказываю, как это исправить.

Изображение на внешнем мониторе стало плохого качества. Что делать?

В прошлых статьях я рассказал как правильно выбрать монитор для MacBook и как его лучше подключить. Предположим, вы все сделали грамотно: использовали правильный кабель и установили родное разрешение монитора, но картинка все равно мутновата и немного «радужная». Сейчас я расскажу, как это исправить.

Симптомы

После покупки нового монитора или обновления macOS, интерфейс может стать мутноватым, а шрифты немного двоящимися. Как будто на них наложен фильтр инстаграм или вы смотрите на экран монитора с ЭЛТ-кинескопом.

Глюк может всплыть в самых неожиданных случаях, на любых ноутбуках и с любыми мониторами. У меня он появлялся на MacBook Air, Pro и Хакинтоше. Под управлением El Capitan, Sierra и вот недавно — Mojave.

Почему так происходит

По какой-то причине macOS думает, что внешний монитор — это телевизор, поэтому использует цветовую схему YCbCr вместо RGB.

Чтобы решить эту проблему, надо принудительно заставить macOS использовать RGB.

Как заставить macOS использовать профиль RGB

Первым делом нужно временно отключить систему безопасности SIP, которая не разрешает пользователями даже а правами администратора записывать что либо в системные разделы.

Чтобы отключить SIP:

  1. Перезагрузите Mac и при загрузке удерживайте CmdR, чтобы загрузится в режиме Recovery Mode;
  2. Выберете в меню Утилиты ▸ Терминал и введите команду csrutil disable;
  3. Тераминал сообщит, что модуль SIP отключен;
  4. Снова перезагрузитесь.

Теперь нужно скачать скрипт patch-edid.rb, выполнить его и положить сгенерированную скриптом папку в системный раздел macOS:

  1. Загрузите patch-edid.rb и положите его в корневую директорию пользователя;
Скрипт patch-edid.rb лежит в корневой папке пользователя
  1. Подключите внешний монитор к Mac, если он вдруг не подключен;
  2. Откройте Терминал и выполните команду ruby patch-edid.rb;
  3. Возле файла patch-edid.rb должна появися новая папка. В моем случае она называется DisplayVendorID-10ac;
Папка с цветовым профилем, которую сгенерировал скрипт
  1. Нажмите в Finder сочетание клавиш ShiftCmdG и перейдите по пути /System/Library/Displays/Contents/Resources/Overrides, чтобы открыть папку Overrides;
  1. Скопируйте в эту папку сгенерированный файл DisplayVendorID-xxx. Вы не сможете скопировать папку, если не отключили SIP на первом этапе;
  2. Перезагрузите Mac. Картинка должна стать привычного качества.
  3. Снова перезагрузите Mac в Recovery Mode и сключите обратно SIP командой csrutil enable;
  4. Перезагрузитесь.