Pass EGL_PLATFORM=DRM to XWayland
XWayland needs to create an eglDisplay for platform DRM. Depending on the mesa version eglInitialize expects that the passed native display is a Wayland display and crashes. This prevents KWin to startup. This patch sets EGL_PLATFORM for Xwayland. This is actually not KWin's job, but if it otherwise crashes it's better than nothing. As Xwayland only supports DRM, it's fine to use this.
This commit is contained in:
parent
286ad7104d
commit
58fa92e40b
1 changed files with 1 additions and 0 deletions
|
@ -324,6 +324,7 @@ void ApplicationWayland::startXwaylandServer()
|
||||||
m_xwaylandProcess->setProgram(QStringLiteral("Xwayland"));
|
m_xwaylandProcess->setProgram(QStringLiteral("Xwayland"));
|
||||||
QProcessEnvironment env = m_environment;
|
QProcessEnvironment env = m_environment;
|
||||||
env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
|
env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
|
||||||
|
env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM"));
|
||||||
m_xwaylandProcess->setProcessEnvironment(env);
|
m_xwaylandProcess->setProcessEnvironment(env);
|
||||||
m_xwaylandProcess->setArguments({QStringLiteral("-displayfd"),
|
m_xwaylandProcess->setArguments({QStringLiteral("-displayfd"),
|
||||||
QString::number(pipeFds[1]),
|
QString::number(pipeFds[1]),
|
||||||
|
|
Loading…
Reference in a new issue