From be3c3de44a95750b224fd504a011309b87b1ac52 Mon Sep 17 00:00:00 2001 From: Jonathan Riddell Date: Tue, 19 Jul 2016 11:43:46 +0100 Subject: [PATCH 1/2] Update version number for 5.7.2 GIT_SILENT --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39824a69a3..8f0e399596 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ project(KWIN) -set(PROJECT_VERSION "5.7.1") +set(PROJECT_VERSION "5.7.2") set(PROJECT_VERSION_MAJOR 5) cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) From d52944c2c7585c4d1ffb16b78682f7a6142789d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Tue, 19 Jul 2016 17:03:58 +0200 Subject: [PATCH 2/2] [kcmkwin/compositing] Remove combobox to select between GLX and EGL Summary: The selection of whether GLX or EGL should be used doesn't work in practice due to the following reasons: * Intel/EGL/X11 results in rendering errors * NVIDIA still doesn't support EGL * OpenGLES forces to EGL (combobox only one entry) * Wayland forces to EGL (combobox only one entry) Offering the selection only offers the user a way to destroy the system. We get too many bug reports about rendering errors and we get too many complaints about this not working properly on social media. E.g.: "The Meh: EGL mode causes bugs in the launcher" The configuration interface showed a warning when selecting it, but apparently users ignore warnings like "might be broken". If that's the case let's better remove the option. If users really want this they can still enable it manually through editing the config file or through the env variable. Change intended for Plasma/5.7 branch - I'm sick of users complaining about it! Test Plan: Opened KCM, verified Combobox is gone Reviewers: #kwin, #plasma, #vdg Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D2224 --- kcmkwin/kwincompositing/compositing.ui | 226 +++++++++++-------------- kcmkwin/kwincompositing/main.cpp | 19 --- 2 files changed, 100 insertions(+), 145 deletions(-) diff --git a/kcmkwin/kwincompositing/compositing.ui b/kcmkwin/kwincompositing/compositing.ui index 75e8fc4482..8a39bf5e98 100644 --- a/kcmkwin/kwincompositing/compositing.ui +++ b/kcmkwin/kwincompositing/compositing.ui @@ -6,14 +6,99 @@ 0 0 - 402 - 335 + 481 + 415 QFormLayout::AllNonFixedFieldsGrow + + + + + + false + + + OpenGL compositing (the default) has crashed KWin in the past. +This was most likely due to a driver bug. +If you think that you have meanwhile upgraded to a stable driver, +you can reset this protection but be aware that this might result in an immediate crash! +Alternatively, you might want to use the XRender backend instead. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Scale method "Accurate" is not supported by all hardware and can cause performance regressions and rendering artifacts. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Keeping the window thumbnail always interferes with the minimized state of windows. This can result in windows not suspending their work when minimized. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Having full screen windows bypass the compositor is not supported on every hardware. + + + true + + + KMessageWidget::Information + + + + + @@ -143,24 +228,21 @@ - - - - OpenGL interface: + + + + Qt::Horizontal - - - - + Tearing prevention ("vsync"): - + @@ -189,14 +271,14 @@ - + Keep window thumbnails: - + @@ -215,149 +297,41 @@ - + Expert: - + Suspend compositor for full screen windows - + Experimental: - + Enable color correction - - - - Qt::Horizontal - - - - - - - - - OpenGL compositing (the default) has crashed KWin in the past. -This was most likely due to a driver bug. -If you think that you have meanwhile upgraded to a stable driver, -you can reset this protection but be aware that this might result in an immediate crash! -Alternatively, you might want to use the XRender backend instead. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - EGL is not supported by all OpenGL drivers. If not supported the Compositor will be disabled. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Scale method "Accurate" is not supported by all hardware and can cause performance regressions and rendering artifacts. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Keeping the window thumbnail always interferes with the minimized state of windows. This can result in windows not suspending their work when minimized. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Having full screen windows bypass the compositor is not supported on every hardware. - - - true - - - false - - - KMessageWidget::Information - - - - - KMessageWidget QFrame -
kmessagewidget.h
+
kmessagewidget.h
1
diff --git a/kcmkwin/kwincompositing/main.cpp b/kcmkwin/kwincompositing/main.cpp index 8c9e032079..a0d8e958b6 100644 --- a/kcmkwin/kwincompositing/main.cpp +++ b/kcmkwin/kwincompositing/main.cpp @@ -83,7 +83,6 @@ KWinCompositingSettings::KWinCompositingSettings(QWidget *parent, const QVariant connect(reenableGLAction, &QAction::triggered, m_compositing, &KWin::Compositing::Compositing::reenableOpenGLDetection); connect(reenableGLAction, &QAction::triggered, m_form.glCrashedWarning, &KMessageWidget::animatedHide); m_form.glCrashedWarning->addAction(reenableGLAction); - m_form.interfaceWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.scaleWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.tearingWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.windowThumbnailWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); @@ -166,22 +165,6 @@ void KWinCompositingSettings::init() } ); - // openglPlatformInterface - m_form.openGLPlatformInterface->setModel(m_compositing->openGLPlatformInterfaceModel()); - m_form.openGLPlatformInterface->setCurrentIndex(m_compositing->openGLPlatformInterface()); - connect(m_compositing, &Compositing::openGLPlatformInterfaceChanged, m_form.openGLPlatformInterface, &QComboBox::setCurrentIndex); - connect(m_form.openGLPlatformInterface, currentIndexChangedSignal, m_compositing, &Compositing::setOpenGLPlatformInterface); - connect(m_form.openGLPlatformInterface, currentIndexChangedSignal, - [this]() { - if (m_form.openGLPlatformInterface->count() > 1 // only if egl and glx are supported - && m_form.openGLPlatformInterface->currentData().toString() == QStringLiteral("egl")) { - m_form.interfaceWarning->animatedShow(); - } else { - m_form.interfaceWarning->animatedHide(); - } - } - ); - // unredirect fullscreen m_form.unredirectFullscreen->setChecked(m_compositing->unredirectFullscreen()); connect(m_compositing, &Compositing::unredirectFullscreenChanged, m_form.unredirectFullscreen, &QCheckBox::setChecked); @@ -219,8 +202,6 @@ void KWinCompositingSettings::init() m_form.glScaleFilterLabel->setVisible(currentType != CompositingType::XRENDER_INDEX); m_form.xrScaleFilter->setVisible(currentType == CompositingType::XRENDER_INDEX); m_form.xrScaleFilterLabel->setVisible(currentType == CompositingType::XRENDER_INDEX); - m_form.openGLPlatformInterface->setVisible(currentType != CompositingType::XRENDER_INDEX); - m_form.openGLPlatformInterfaceLabel->setVisible(currentType != CompositingType::XRENDER_INDEX); m_form.colorCorrection->setEnabled(currentType == CompositingType::OPENGL31_INDEX || currentType == CompositingType::OPENGL20_INDEX); }; showHideBasedOnType();