Как получилось, что приложения на основе GLX можно запускать на Wayland в Ubuntu?

Итак, GLX — это система создания и управления графическим контекстом для OpenGL на X11. Но по дизайну Wayland не совместим с X11 и реализует EGL для управления контекстом OpenGL, а не GLX. Так как же получается, что в сеансах на основе Wayland в Ubuntu 17.10 я все еще могу запускать приложения, которые создают свои контексты с использованием GLX (например, glxinfo и glxgears)? Происходит ли какая-то прозрачная эмуляция GLX?

Кроме того (поскольку это, вероятно, связано с вопросом выше), почему при запуске на Wayland это приложение на основе GLX не может использовать MSAA (например, glxinfo не возвращает какие-либо типы контекста, поддерживающие MSAA) - по крайней мере, на графических процессорах Intel, которые Я тестировал их — в то время как MSAA отлично работает для тех же приложений, графических процессоров и версии Ubuntu при работе на X.org вместо Wayland?


person Dreamer    schedule 13.12.2017    source источник
comment
en.wikipedia.org/wiki/X.Org_Server#XWayland   -  person genpfault    schedule 13.12.2017
comment
@genpfault: так что это объясняет, почему GLX вообще работает. Любые идеи о том, почему XWayland ведет себя иначе, чем родной X.org в отношении поддержки MSAA?   -  person Dreamer    schedule 13.12.2017
comment
К сожалению, нет, понятия не имею, почему есть разница в поддержке MSAA :(   -  person genpfault    schedule 13.12.2017
comment
Попробуйте форсировать серверную часть X11, запустив ее в терминале export GDK_BACKEND=x11, а затем запустите приложение ./myapp   -  person Ripi2    schedule 13.12.2017


Ответы (1)


Итак, на основе предоставленной ссылки @genpfault:

  • XWayland — это часть XOrg, предоставляющая X-сервер поверх Wayland. Любое приложение, связанное с библиотеками X11 и работающее под управлением Wayland, автоматически будет использовать XWayland в качестве своего бэкэнда. Таким образом, GLX-часть XWayland — это механизм, который позволяет приложениям OpenGL на основе GLX работать в Wayland.
  • Невозможность использовать MSAA в приложениях на основе GLX, по-видимому, является известной ошибкой XWayland, по крайней мере, для графических процессоров Intel и AMD (см. https://bugs.freedesktop.org/show_bug.cgi?id=98272 ). Но никакой дополнительной информации по этому поводу я не нашел.
person Dreamer    schedule 15.12.2017
comment
Также интересно, может ли кто-нибудь, более разбирающийся в Wayland/Xorg, углубиться в детали. - person Paradox; 08.04.2019