commit:     371a5ea953f6b6519af36fcc4106256e46602e87
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  9 22:09:03 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  9 22:34:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=371a5ea9

kde-plasma/libkscreen: clear EDID when output changed

Some GPUs will report a virtual edid even there is no monitor connected [...]

Upstream commit f34ec78318aca50511ae062cd218ef20627132a6

See also:
https://invent.kde.org/plasma/libkscreen/-/merge_requests/118

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/libkscreen-5.27.4-clear-edid.patch       | 34 +++++++++++++++++
 kde-plasma/libkscreen/libkscreen-5.27.4-r1.ebuild  | 43 ++++++++++++++++++++++
 2 files changed, 77 insertions(+)

diff --git a/kde-plasma/libkscreen/files/libkscreen-5.27.4-clear-edid.patch 
b/kde-plasma/libkscreen/files/libkscreen-5.27.4-clear-edid.patch
new file mode 100644
index 000000000000..11e20b9a2f09
--- /dev/null
+++ b/kde-plasma/libkscreen/files/libkscreen-5.27.4-clear-edid.patch
@@ -0,0 +1,34 @@
+From 282cb301f5961d6519bb5a295155f25f96421c85 Mon Sep 17 00:00:00 2001
+From: Kai Li <li...@kylinos.cn>
+Date: Wed, 5 Apr 2023 10:51:31 +0800
+Subject: [PATCH] Some GPUs will report a virtual edid even there is no monitor
+ connected to the VGA/HDMI port, when a monitor is plugged in, the edid will
+ be updated. The old pattern is not working for some GPUs, because the edid is
+ already in the cache with wrong data.
+
+So we clear edid when output changed, to make libkscreen to get the latest
+edid and improve hardware compatibility.
+
+Signed-off-by: likai <li...@kylinos.cn>
+
+
+(cherry picked from commit f34ec78318aca50511ae062cd218ef20627132a6)
+---
+ backends/xrandr/xrandroutput.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/backends/xrandr/xrandroutput.cpp 
b/backends/xrandr/xrandroutput.cpp
+index 2fce87a5..5a43b6f8 100644
+--- a/backends/xrandr/xrandroutput.cpp
++++ b/backends/xrandr/xrandroutput.cpp
+@@ -177,6 +177,7 @@ void XRandROutput::update(xcb_randr_crtc_t crtc, 
xcb_randr_mode_t mode, xcb_rand
+         }
+ 
+         m_hotplugModeUpdate = XRandR::hasProperty(m_id, 
"hotplug_mode_update");
++        m_edid.clear();
+     }
+ 
+     // A monitor has been enabled or disabled
+-- 
+GitLab
+

diff --git a/kde-plasma/libkscreen/libkscreen-5.27.4-r1.ebuild 
b/kde-plasma/libkscreen/libkscreen-5.27.4-r1.ebuild
new file mode 100644
index 000000000000..c481da498507
--- /dev/null
+++ b/kde-plasma/libkscreen/libkscreen-5.27.4-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="forceoptional"
+KFMIN=5.102.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.7
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Plasma screen management library"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5/8"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# requires running session
+RESTRICT="test"
+
+RDEPEND="
+       dev-libs/wayland
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtx11extras-${QTMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/kwayland-${KFMIN}:5
+       x11-libs/libxcb
+"
+DEPEND="${RDEPEND}
+       >=dev-libs/plasma-wayland-protocols-1.10.0
+"
+BDEPEND="
+       >=dev-qt/linguist-tools-${QTMIN}:5
+       >=dev-qt/qtwaylandscanner-${QTMIN}:5
+       dev-util/wayland-scanner
+"
+
+PATCHES=( "${FILESDIR}/${P}-clear-edid.patch" )

Reply via email to