История изменений
Исправление mittorn, (текущая версия) :
pageflip подразумевает вывод на экран в обход дисплейного сервера.
1. Например, если иксы обнаружили что размеры окна совпадают с размерами экрана - они вместо своего фреймбуффера будут отправлять dmabuf клиента сразу на экран
2. Если в иксах запущен композитор и он определил, что окно полноэкранное - то он отключает редирект и дальше иксы делают п.1
В случае xwayland pageflip логически используется чтобы передать окно wayland композитору сразу без лишнего копирования, дальше им уже wayland композитор занимается словно нативным окном. Это кстати основная причина, почему под wayland даже иксовые приложения могут работать лучше, чем в иксах с композитором
Ну и на wayland полноэкранный surface по идее тоже должен выводиться напрямую, но я этого не проверял - наверняка найдётся комопзитор, этого не умеющий
При работающем pageflip работа дисплейного сервера сводится к тому, чтобы получить dmabuf или его номер от клиента и отправить его в ядро для каждого кадра.
Какая-то нестабильность alt-tab вероятно могла быть вызвана кривой реализацией pageflip в драйвере. Кстати, проблема не только линуксов - я отчётливо помню, как в винде лет дцать назад некотоыре игры при alt-tab весили комп, а вот в линуксах такого не встречал
Исходная версия mittorn, :
pageflip подразумевает вывод на экран в обход дисплейного сервера.
1. Например, если иксы обнаружили что размеры окна совпадают с размерами экрана - они вместо своего фреймбуффера будут отправлять dmabuf клиента сразу на экран
2. Если в иксах запущен композитор и он определил, что окно полноэкранное - то он отключает редирект и дальше иксы делают п.1
В случае xwayland pageflip логически используется чтобы передать окно wayland композитору сразу без лишнего копирования, дальше им уже wayland композитор занимается словно нативным окном. Это кстати основная причина, почему под wayland даже иксовые приложения могут работать лучше, чем в иксах с композитором
Ну и на wayland полноэкранный surface по идее тоже должен выводиться напрямую, но я этого не проверял - наверняка найдётся комопзитор, этого не умеющий