Об этом проекте
OpenDisplay — это бесплатное решение с открытым исходным кодом, без учётной записи и без аппаратного ключа, позволяющее использовать iPhone, iPad или запасной Mac в качестве полноценного дополнительного дисплея для macOS. Это самостоятельно размещаемая альтернатива Apple Sidecar, Duet Display и Luna Display.
Ключевые возможности включают настоящее расширение рабочего стола (а не зеркалирование), проводное подключение по USB через встроенный в macOS usbmuxd для минимальной задержки и режим WiFi с нулевой настройкой через обнаружение Bonjour. Виртуальный дисплей поддерживает Retina/HiDPI с попиксельным соответствием @2x, сенсорный ввод (нажатие для клика, перетаскивание, прокрутка двумя пальцами), поворот в портретную и ландшафтную ориентацию, а также низколатентный конвейер аппаратного кодирования H.264 с использованием VideoToolbox.
Проект использует CGVirtualDisplay — приватный API CoreGraphics — для создания виртуальных дисплеев, которые macOS воспринимает как настоящие мониторы. Конвейер потоковой передачи захватывает виртуальный дисплей через ScreenCaptureKit, кодирует с помощью аппаратного H.264 (режим реального времени, без B-кадров) и передаёт по TCP с обратным давлением через пропуск кадров и восстановлением по ключевым кадрам. Декодирование и отрисовка на стороне приёмника выполняются AVSampleBufferDisplayLayer.
Запасной Mac также может служить дисплеем — для этого нужно установить отдельное приложение OpenDisplay Receiver (требуется macOS 12+). Подключение по WiFi работает из коробки; для проводных соединений можно использовать кабель Thunderbolt/USB4, Ethernet-кабель или обычный USB-C кабель для передачи данных.
Сетевой протокол открыто описан в PROTOCOL.md, что позволяет создавать сторонние реализации. Существуют клиенты, созданные сообществом, для Android (Android 8.0+), старых устройств iOS (iOS 12) и Linux (рабочие столы Wayland, включая KDE Plasma и Hyprland). Это проекты, сделанные энтузиастами, и они не поддерживаются официально.
Приложение для macOS подписано сертификатом Developer ID и нотаризовано Apple. Приложение для iOS требует iOS/iPadOS 15 или новее и доступно через TestFlight либо может быть собрано из исходного кода. Приложение обновляется самостоятельно через Sparkle. Проект распространяется под лицензией GPL-3.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.