summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-plasma/libkscreen/files/libkscreen-5.27.4-clear-edid.patch34
-rw-r--r--kde-plasma/libkscreen/libkscreen-5.27.4-r1.ebuild43
2 files changed, 77 insertions, 0 deletions
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 <likai@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 <likai@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" )