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" )