На новый год выложил исходники и бинарники текущего состояния.
Помимо драйвера для Nvidia GPU я работаю над новым графическим сервером для Haiku app_server_neo с поддержкой аппаратного ускорения векторного 2D рендеринга через Skia, интеграции аппаратного рендеринга в целом и поддержкой нескольких мониторов.
Видеокарта Ampere. Кабель HDMI - драйвер работает в режиме bios UEFI и CSM/Legacy нормально. Кабель DP - не работает, в CSM/Legacy грузит этот драйвер, но стартует vesa драйвер. В режиме bios UEFI - комп загружается - судя по звуку старта, но экран монитора неактивен/черный, нет сигнала/.
Дефолтная частота обновления - 50 герц, хотя монитор держит до 165 герц. Как увеличить?
новым графическим сервером ... с поддержкой аппаратного ускорения векторного 2D рендеринга через Skia, интеграции аппаратного рендеринга в целом и поддержкой нескольких мониторов.
Почему не будет? https://github.com/VitruvianOS/Vitruvian
Он уже относительно неплохо работает.
А разработчик этого проекта в своем телеграм чате утверждает что он готовит мастшабные обновления. А я, возможно, портирую этот ваш app_server_neo
В Линуксе в целом отказались от серверной векторной графики. Там сейчас принято растеризовать на стороне клиента, а графическому серверу передавать растровые битмапы.
Что-то ты там неправильное пишешь. В оффтопике есть возможность создавать кастомные режимы, а не только лишь пользовать то что в edid монитора прописано. К тому же по слухам встречаются девайсы с бажным edid
Будут. Переделывается только графический сервер. Клиентская часть остаётся прежней. Новый графический сервер реализует тот же IPC протокол, что и старый.
Для клиентской части планируются только небольшие расширения для поддержки битмапов с данными в видеопамяти и implicit sync.
Драйвер Nvidia отвергает все видеорежимы, которые не прописаны в EDID если не был указан флаг принудительной установки режима с отключением проверок. Это логика кода, написанного самой Nvidia, я и Haiku тут не при чём. Всегда устанавливать флаг обхода проверок я вижу плохим решением.
Вот такое сообщение генерируется драйвером Nvidia при ошибке установки режима:
1280 x 1024 @ 75 Hz
Pixel Clock : 135.00 MHz
HRes, HSyncStart : 1280, 1296
HSyncEnd, HTotal : 1440, 1688
VRes, VSyncStart : 1024, 1025
VSyncEnd, VTotal : 1028, 1066
Sync Polarity : +H +V
Mode is rejected: Only EDID-provided modes are allowed on DZX K1301R (DP-7) (continuous frequency modes not allowed).
В оффтопике есть возможность создавать кастомные режимы, а не только лишь пользовать то что в edid монитора прописано.
Да, но это делается с помощью специальной утилиты, а не через стандартные средства ОС.
В Haiku используется свой нативный тулкит, использующий векторные команды рисования. Так что по крайней мере нативные программы смогут эффективно работать с с удалённым рабочим столом. В Haiku есть порт браузерного движка WebKit под нативный тулкит и векторные команды.
RDP в Windows это часть WinAPI.
В Haiku примерно так же.
Напомню, что Haiku – это не очередной дистрибутив Линукса или *BSD/Solaris, где используются одни и те же компоненты для построения десктопа. У Haiku полностью своя графическая подсистема, свой оконный сервер не основанный на X11/Wayland, свой тулкит и DE.
А что имеет больший потенциал и удобства в использовании, сервер гайки или иксы-вейленд? Если ограничения и возможности иксов-вейленда я более-менее понимаю, то с гайкой не сталкивался вообще.
Удобнее разрабатывать тулкит и оконный сервер совместно, а не не участвовать в многолетних дискуссиях по принятию нового протокола X11/Wayland. Оконный сервер Haiku не является самостоятельным продуктом и стабильность протокола не гарантируется.
Сторонние тулкиты вроде Qt/GTK работают поверх нативного тулкита Haiku, а не напрямую поверх протокола оконного сервера как в Линуксах.
В Haiku кстати недавно включили автоматический перезапуск оконного сервера в случае его падения или ручного прибивания с сохранением всех окон запущенных программ.
Кстати, в Qt поддержка «из коробки», или в пакетах Haiku применяются патчи?
Если приложение использует только Qt фреймворк, то ничего патчить не требуется. Но часто софт использующий Qt имеет платформеный код, тогда хочешь или нет - приходится патчить.