LINUX.ORG.RU

История изменений

Исправление 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).

Это просто ликбез, может кому-нибудь будет интересно.