у QT дофигища взаимозаменяемых бекендов для рендеринга, всё зависит от того с какими опциями была собрана твоя версия.
Например X11 рисует формочки и кнопочки сам, ну в смысле клиенту не обязательно отправлять массив пикселей, а давать команды, тут квадратик, тут линию и тд, и есть заглушки которые заворачивают отрисовку в VNC например. Иными словами X Server рендерит всё сам, от клиента это скрыто и уже сервер общается с видеоадаптерами, композиторами и тд. Есть семейство GL DRM которые ожидают что ядро предоставит им интерфейсы куда буферы с изображениями писать, тот же Wayland, он ожидает от приложения буфер, который будет отображать, эту тему я не особо ковырял но какаянить заглушка тоже наверняка есть. Есть FrameBuffer, когда окошки прям в видеопамять рисуются приложением без ведома остальных, вроде как и такое QT умеет из коробки. Основной вопрос, если у тебя некуда рендерить виджеты, то зачем они тебе вообще нужны?
Хотя, там наверное, встроенная видюха. Но это не так важно, потому, что в простейших случаях там затычка. Короче, по сути мне нужно просто знать минимальные требования виджетов Qt к видеокарте и как их грамотно написать.
Встроенная видеокарта - это тоже видеокарта. Если она показывает картинку, значит и твои виджеты показывать будет. У тебя их там 100500 одновременно рисуется, что такие вопросы возникают?
У собственно widgets - никаких. X11 бекенд нуждается в X сервере с некоторым набором Extension. Успешно «отображается» на Xorg сервере с dummy адаптером.
Я запускал приложение на Qt5 в котором основная рабочая область это QGraphicsScene на старом железе: Селерон 1-ядерный ~1000МГц 1024Мб ОЗУ. Работало без тормозов. И сейчас кстати работает. Причем по 8-12 часов в сутки. Уж не помню точно, что там за видюха, но скорее всего такое же старье, как и вышеуказанное железо.
А это как? Куда потом картинка? Как такой программой управляют?
Еще автору темы можно сказать, что раз есть концепты WebGL бэкэндов, то соответственно на сервере может не быть видеокарты «ни в каком возможном смысле» - правильно понимаю?
Эммм ну как бы может и ЦПУ, т.е. имеем три варианта ЦПУ, интегрированный ГПУ и дискретный/внешний ГПУ, в качестве примера даже тот же mpv пока ему не скажешь встроенное видеоускорение врубать будет слайдшоу на ЦПУ показывать с помощью ФБ.
Он, скорее всего, имел в виду, что без видеокарты, интегрированной или нет, монитор ничего не покажет. Видеокарта формирует и отдаёт ему картинку. CPU может и сам рисовать, но для отображения должен отправить всё что нарисовал куда-то откуда монитор это впоследствии получит, т.е. в видеокарту, если она дискретная. Если интегрированная, то в определённое место в оперативной памяти, например, но потом всё равно встроенный GPU это отдаст монитору.
Может, клиент сварганит свою видеокарту из грунта и палок, а потом прибежит жаловаться, что с ней ПО не работает. Ну там, какие-нибудь древние, встроенные в материнку найдёт или подобную экзотику. Реально любая поддерживается?