Название окон и границы отсутствуют в QT 6.8.1, Ubuntu 22.04 с Waylan и VulkanRenderererLinux

Ответить
Anonymous
 Название окон и границы отсутствуют в QT 6.8.1, Ubuntu 22.04 с Waylan и VulkanRendererer

Сообщение Anonymous »

У меня есть кроссплатформенный проект QT 6.8.1. Он отлично работает на Windows и Ubuntu 22.04, как с X11, так и с Wayland. По умолчанию он использует рендерер OpenGL. Но мне нужен рендеринг Vulkan, и поэтому добавьте следующую строку кода в начале файла main.cpp:
QQuickWindow::setGraphicsApi(QSGRendererInterface::Vulkan);
После этого приложение продолжает нормально работать на Windows и Ubuntu 22.04 с X11, но с Wayland все мои окна приложения отсутствуют заголовок окна и границы. Так что они вообще не украшены. Как можно исправить такое поведение? Я нашел одно возможное исправление. Я не думаю, что это правильное решение, так как оно запускает приложение через дополнительный уровень совместимости Xwayland, который может повредить производительности, если я понимаю это правильно. В начале функции main () я добавил это: < /p>
// Set Vulkan renderer
QQuickWindow::setGraphicsApi(QSGRendererInterface::Vulkan);

// Fix missing window header & borders on Linux Wayland
#ifdef OS_LINUX
if (qgetenv("XDG_SESSION_TYPE") == "wayland") {
qDebug("Force Wayland to use XCB");
qputenv("QT_QPA_PLATFORM", "xcb");
}
#endif


Подробнее здесь: https://stackoverflow.com/questions/795 ... an-and-vul
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»