@@ -168,7 +168,13 @@ int startShell(int argc, const char** argv, void* server)
168168 }
169169
170170 view->setSource(source);
171− view->setColor("transparent");
171+
172+ // Make background transparent, so that the greeter can bleed through.
173+ // In normal shell, the background is never seen.
174+ QSurfaceFormat format;
175+ format.setAlphaBufferSize(8);
176+ view->setFormat(format);
177+ view->setColor(Qt::transparent);
172178
173179 if (qgetenv("QT_QPA_PLATFORM") == "ubuntu" || isUbuntuMirServer || args.contains(QLatin1String("-fullscreen"))) {
174180 // First, size window equal to screen (fake a real WM fullscreen mode).