代码之家  ›  专栏  ›  技术社区  ›  Dreamer

为什么基于GLX的应用程序可以在Ubuntu的Wayland上运行?

  •  2
  • Dreamer  · 技术社区  · 7 年前

    因此,GLX是X11上OpenGL的图形上下文创建和管理系统。但从设计上看,Wayland与X11不兼容,并且实现了用于OpenGL上下文管理的EGL,而不是GLX。那么,在Ubuntu 17.10上基于Wayland的会话上,我如何仍然可以运行使用GLX创建上下文的应用程序(例如。 glxinfo glxgears )? 是否正在进行一些透明的GLX仿真?

    此外(因为这可能与上述问题有关)为什么在Wayland上运行时,这些基于GLX的应用程序不能使用MSAA(例如。 glxinfo公司 不返回任何支持MSAA的上下文类型(至少在我测试它们的英特尔GPU上),而MSAA在X.org而不是Wayland上运行时,对相同的应用程序、GPU和Ubuntu版本也可以正常工作?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Dreamer    7 年前

    因此,根据@genpfault提供的链接:

    • XWayland是XOrg的一部分,它在Wayland之上提供一个X服务器。任何链接到X11 libs并在Wayland下运行的应用程序都将自动使用XWayland作为其后端。因此,XWayland的GLX部分是允许基于GLX的OpenGL应用程序在Wayland上运行的机制。
    • 无法在基于GLX的应用程序中使用MSAA似乎是XWayland的一个已知错误,至少对于Intel和AMD GPU(参见。 https://bugs.freedesktop.org/show_bug.cgi?id=98272 ). 但我找不到关于这件事的任何其他信息。