#modesetting

2025-04-25

Загадка от Жака Фреско
#xorg #xfree86 #xf86 #modesetting #legacy

2025-04-25

#xorg #modesetting #dri3 #бомбёжка
Что с кодовой базой иксов? Саботаж? Код вообще проверяют? Апстримный modesetting драйвер просто кешит use-after-free, недавний код для tearfree каким-то чудом вообще работает.
Недавно начал эксперименты с програмной реализацией dri3. Цель сделать чтобы работал вывод текстур с opengl/vulkan приложений с отключенным glamor там, где нет реализации 2д ускорения (для amdgpu её нет)
Взял за основу драйвер modesettiing. Сначала экспериментировал с патчами msdri3 (кто-то уже пытался сделать что-то подобное для raspberry pi, но в таком виде оно не работало на большинстве драйверов и патчи отклонили).
На ветке того времени у меня получилась условно работоспособная реализация, ранний прототип, но т.к там копипаста из старых версий без истории и намешан код под разными лицензиями, решил переписать с нуля.
Замержил апстримный (c master) код modesetting поверх старого репозитория, добавил проверки на отсутствующие фичи (tearfree код требует так же и изменений в xorg-server), но выключенный tearfree эти изменения не затрагивают.
Вроде драйвер заработал (но tearfree требует xorg-server из апстрима)
Начал заново писать softdri3, уже с учётом архитектурынх изменений.
Первый звоночек - вместо указателя на фукнцию в приватной структуре оказывается NULL. Добавил проверку, вроде заработало.
Добавляю ещё один указатель в структуру (ничего больше не трогаю). На предыдущем указателе NULL уже нету.
Уже понятно, что дело тут нечистое, но добавил паддинг и пошёл дальше писать код...
Добавляю обёртку функций отрисовки и xrender (идея в том, чтобы во время отрисовки использовался dumb buffer, а для чтения gbm bo).
xrender вызывается, а в отрисовку ничего не приходит вообще, а с отрубленным shadow buffer вместо CreateGC nullptr.
Через некоторое время собрал код на другой машине с address sanitizer и обнаружил что практически весь код добавленный Sultan Alsawaf (TearFree патчсет) разваливается при закрытии любого opengl окна.
С glamor видимых проблем пока что нет, но это вопрос времени.

Wildy :verified_paw:me@socialpa.ws
2022-12-04

@Werwolf2517 @Evv1L у меня подозрение что это видеодрайверы или что-то в неродных нотификациях (обычно некорректно рисуются они, потом начинаются подвисания графики). Неродные - это телеграмные)

#amdgpu/#radeon и kernel #modesetting (раньше был xf86-video-#intel) на разных машинах, везде немножко подглючивает, но по-своему.

Еще бесит что радеон не умеет снижать клоки памяти если подключены два монитора (т.к. переключать их надо в момент Vblank, а рефреш-то разный!)

Жрет ток как не в себя))

2018-11-01

I think I finally have my laptop working smoothly again. Had to dump the #intel driver in favor of the #modesetting driver, and fiddle a bit with the kernel parameters, plus some other odds and ends (gitlab.com/zick.kim/nixos/nixo)

So glad I won't have to do this again now that it's in my #NixOS configs, since I seem to always wind up on the modesetting driver anyway

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst