diff --git a/effects/blur/CMakeLists.txt b/effects/blur/CMakeLists.txt --- a/effects/blur/CMakeLists.txt +++ b/effects/blur/CMakeLists.txt @@ -12,6 +12,7 @@ KF5::ConfigWidgets KF5::I18n KF5::Service + KF5::WindowSystem ) kcoreaddons_desktop_to_json(kwin_blur_config blur_config.desktop SERVICE_TYPES kcmodule.desktop) diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -118,7 +118,7 @@ if (shader) shader->setRadius(radius); - m_shouldCache = BlurConfig::cacheTexture(); + m_shouldCache = effects->waylandDisplay() ? false : BlurConfig::cacheTexture(); windows.clear(); diff --git a/effects/blur/blur_config.cpp b/effects/blur/blur_config.cpp --- a/effects/blur/blur_config.cpp +++ b/effects/blur/blur_config.cpp @@ -25,6 +25,7 @@ #include #include #include +#include K_PLUGIN_FACTORY_WITH_JSON(BlurEffectConfigFactory, "blur_config.json", @@ -37,6 +38,9 @@ : KCModule(KAboutData::pluginData(QStringLiteral("blur")), parent, args) { ui.setupUi(this); + if (KWindowSystem::isPlatformWayland()) { + ui.kcfg_CacheTexture->setVisible(false); + } BlurConfig::instance(KWIN_CONFIG); addConfig(BlurConfig::self(), this);