Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HIDPI

CLI для включения настоящего HiDPI (Retina 2x) на физическом мониторе — без виртуального дисплея и без правки /Library/Displays. Раскрывает масштабированные режимы, которые macOS генерирует сама, но прячет из «Настроек», через приватный CoreGraphics/SkyLight API.

macOS Apple Silicon Swift MIT

hidpi — интерактивный Pip-Boy пикер разрешений

Установка одной командой

curl -fsSL https://raw.githubusercontent.com/titovcode/hidpi/main/install.sh | bash

Скрипт скачает исходники, соберёт релиз, положит бинарник в /usr/local/bin/hidpi (спросит пароль на sudo) и сразу запустит. Требуется macOS и Xcode Command Line Tools (xcode-select --install).

Сборка из исходников

git clone https://github.com/titovcode/hidpi.git
cd hidpi
swift build -c release   # бинарник: .build/release/hidpi

Команды

Команда Что делает
hidpi · hidpi pick Интерактивный пикер HiDPI-разрешений
hidpi pick --all Показать вообще все режимы (включая 1x и мелкие)
hidpi list Онлайн-дисплеи: модель, индекс, текущий режим
hidpi modes -d 0 --hidpi Только HiDPI-режимы дисплея 0
hidpi set -d 0 -w 2560 -h 1440 -s 2 Применить 2560×1440 HiDPI (макс. места)
hidpi set -d 0 -w 2560 -h 1440 -s 1 Нативный режим без HiDPI
hidpi set -d 0 --mode 168 Применить режим по индексу из modes
hidpi install Скопировать бинарник в /usr/local/bin

В пикере: ↑/↓ — навигация, Enter — применить, Esc — выход. Крупнейший HiDPI помечен ★ макс. места, текущий — ← current.

Опции

Опция Назначение По умолчанию
-d, --display N Индекс дисплея 0
-w, --width W Ширина в пикселях текущая
-h, --height H Высота в пикселях текущая
-s, --scale S Множитель (2.0 = HiDPI) 2.0
-b, --bits B Глубина цвета (16 | 32) текущая
--mode IDX Режим по индексу из modes
--hidpi (для modes) только HiDPI-режимы
-a, --all (для pick) все режимы, включая 1x

Какой режим выбирать

scale=2.0 означает, что рабочее пространство W×H рендерится в 2W×2H пикселей.

Панель Рекомендация Итог
4K (3840×2160) 1920×1080 HiDPI чёткий «ретина» 2x → рендер 3840×2160
1440p (2560×1440) 1280×720 HiDPI (идеальный 2x) крупный UI, максимально чётко
1440p (2560×1440) 1920×1080 HiDPI рендер 3840×2160 → даунскейл (суперсэмплинг, мягче, грузит GPU)

Проверенное оборудование

Компонент Модель / Спецификация Статус
Mac Mac mini (M4), Apple Silicon ✅ OK
macOS 15.7 Sequoia ✅ OK
Монитор P27QBA-RX · 2560×1440 (VID 0x61A9 / PID 0xD005) ✅ HiDPI работает
Текущий режим 2560×1440 @ 165 Гц · scale 2.0 · 16bpp ✅ HiDPI
Тулчейн Swift 6.1 / swift-tools 5.9 ✅ OK

Границы метода

Рантайм-API только раскрывает HiDPI-режимы, которые macOS уже сгенерировала. Если панель «недостаточно плотная» (1440p и ниже), macOS не создаёт часть HiDPI-режимов, а их набор в hidpi modes --hidpi — это всё, что доступно. Создать новый HiDPI-режим из ничего рантайм не может: для этого нужен EDID-override в /Library/Displays (на Apple Silicon работает ненадёжно).

Notes

  • Приватный недокументированный API. Не совместим с App Store, может ломаться между версиями macOS.
  • Layout структуры режима (modes_D4) взят из проекта RDM (MIT) и проверен на macOS 15.7 / Apple Silicon.
  • set меняет активный дисплей немедленно; выбор сохраняется между перезагрузками (kCGConfigurePermanently); sudo не требуется.
  • Для системного HiDPI-UI и доп. разрешений на Apple Silicon рабочее стороннее решение — BetterDisplay (виртуальный дисплей).

Лицензия

MIT — см. LICENSE.

About

Enable real HiDPI (Retina 2x) on any Mac display via private CoreGraphics API. Interactive Pip-Boy-styled terminal picker, one-command install.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages