История изменений
Исправление EXL, (текущая версия) :
Опровергну ещё некоторые некорректные с моей точки зрения утверждения.
qt4 поддерживал openGL
Нет, не поддерживал. Была лишь специальная поддержка сбоку в виде отдельного модуля QtOpenGL: http://doc.qt.io/qt-4.8/qtopengl-module.html Соответственно, для поддержки OpenGL внутри приложения необходимо было создать специальный QtOpenGL-виджет.
Таким образом, все привычные старые приложения на Qt 4, которыми ты пользовался, вроде Konsole, Dolphin, Okular, qBittorent и др. использовали софтовый рендер, который взаимодействовал с иксами и назывался XCB.
Были попытки реализовать отрисовку обычных виджетов в Qt 4 с помощью OpenGL, но они так и не вышли из экспериментального цикла:
https://github.com/qt/qtbase/commit/239df503ba7d6c0d2e458fbe6ece0a549772a6fd#...
А в 2011 году и вовсе были удалены из кода Qt 4.
Теперь что касается Qt 5. Этот фреймворк тоже использует софтовую отрисовку через XCB по умолчанию в любых дистрибутивах. Но отрисовка через OpenGL (|ES) там поддерживается из коробки. В этом нетрудно убедиться, запустив любое Qt 5 приложение таким образом:
sudo QT_QPA_PLATFORM=eglfs qbittorrent
(sudo нужен для прямого доступа к устройствам ввода в /dev/*, если текущий пользователь не имеет к ним доступа)
И все виджеты Qt 5 приложения будут аппаратно ускорены через OpenGL (|ES).
что композитные эффекты и анимации в интерфейсе перестали грузить систему
Этим занимается именно композитный менеджер, который гоняет битмапы окошечек (через XRender или OpenGL (|ES)), применяет к ним различные эффекты и трансформирует их при ресайзе (Wobbly Windows) или сворачивании (Magic Lamp).
К содержимому самих окошек он не имеет никакого отношения.
Если ты сделаешь
$ killall -9 kwin_{x11,wayland}
То потеряешь кавайные эффекты, но все окошки останутся на месте (вернуть всё «как было» можно по kstart kwin_{x11,wayland}
).
Это просто ликбез, может кому-нибудь будет интересно.
Исходная версия EXL, :
Опровергну ещё некоторые некорректные с моей точки зрения утверждения.
qt4 поддерживал openGL
Нет, не поддерживал. Была лишь специальная поддержка сбоку в виде отдельного модуля QtOpenGL: http://doc.qt.io/qt-4.8/qtopengl-module.html Соответственно, для поддержки OpenGL внутри приложения необходимо было создать специальный QtOpenGL-виджет.
Таким образом, все привычные старые приложения на Qt 4, которыми ты пользовался, вроде Konsole, Dolphin, Okular, qBittorent и др. использовали софтовый рендер, который взаимодействовал с иксами и назывался XCB.
Были попытки реализовать отрисовку обычных виджетов в Qt 4 с помощью OpenGL, но они так и не вышли из экспериментального цикла:
https://github.com/qt/qtbase/commit/239df503ba7d6c0d2e458fbe6ece0a549772a6fd#...
А в 2011 году и вовсе были удалены из кода Qt 4.
Теперь что касается Qt 5. Этот фреймворк тоже использует софтовую отрисовку через XCB по умолчанию в любых дистрибутивах. Но отрисовка через OpenGL (|ES) там поддерживается из коробки. В этом нетрудно убедиться, запустив любое Qt 5 приложение таким образом:
sudo QT_QPA_PLATFORM=eglfs qbittorrent
(sudo нужен для прямого доступа к устройствам ввода в /dev/*, если текущий пользователь не имеет к ним доступа)
И все виджеты Qt 5 приложения будут аппаратно ускорены через OpenGL (|ES).
Это просто ликбез, может кому-нибудь будет интересно.