!77 电源节能模式兼容hadess和tuned两个后端。
From: @tangjie02 Reviewed-by: @stonefly128 Signed-off-by: @stonefly128
This commit is contained in:
commit
2eeee339f0
1044
0001-feature-power-Compatiable-two-power-profile-daemon-w.patch
Normal file
1044
0001-feature-power-Compatiable-two-power-profile-daemon-w.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,83 @@
|
|||||||
|
From 8a7cee50c347b79d0f68c0426ce5a07f25b462de Mon Sep 17 00:00:00 2001
|
||||||
|
From: tangjie02 <tangjie02@kylinsec.com.cn>
|
||||||
|
Date: Mon, 8 May 2023 18:04:07 +0800
|
||||||
|
Subject: [PATCH] fix(edid): Fix the problem that cannot match correct monitor
|
||||||
|
when has same edid.
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
- 修复edid相同时无法正确匹配到对应的显示器问题
|
||||||
|
|
||||||
|
Signed-off-by: tangjie02 <tangjie02@kylinsec.com.cn>
|
||||||
|
---
|
||||||
|
plugins/display/display-manager.cpp | 28 +++++++++++++++++++++++++---
|
||||||
|
plugins/display/display-manager.h | 3 +++
|
||||||
|
2 files changed, 28 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/display/display-manager.cpp b/plugins/display/display-manager.cpp
|
||||||
|
index 0860253..f80e248 100644
|
||||||
|
--- a/plugins/display/display-manager.cpp
|
||||||
|
+++ b/plugins/display/display-manager.cpp
|
||||||
|
@@ -410,12 +410,13 @@ bool DisplayManager::apply_screen_config(const ScreenConfigInfo &screen_config,
|
||||||
|
|
||||||
|
for (const auto &c_monitor : c_monitors)
|
||||||
|
{
|
||||||
|
- std::string uid = c_monitor.uid();
|
||||||
|
- auto monitor = this->get_monitor_by_uid(uid);
|
||||||
|
+ auto monitor = this->match_best_monitor(c_monitor.uid(), c_monitor.name());
|
||||||
|
|
||||||
|
if (!monitor)
|
||||||
|
{
|
||||||
|
- KLOG_WARNING("Cannot find monitor for %s.", uid.c_str());
|
||||||
|
+ KLOG_WARNING("cannot find monitor for uid=%s, name=%s.",
|
||||||
|
+ c_monitor.uid().c_str(),
|
||||||
|
+ c_monitor.name().c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -800,6 +801,27 @@ std::shared_ptr<DisplayMonitor> DisplayManager::get_monitor_by_name(const std::s
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
+std::shared_ptr<DisplayMonitor> DisplayManager::match_best_monitor(const std::string &uid,
|
||||||
|
+ const std::string &name)
|
||||||
|
+{
|
||||||
|
+ std::shared_ptr<DisplayMonitor> retval;
|
||||||
|
+ for (const auto &iter : this->monitors_)
|
||||||
|
+ {
|
||||||
|
+ if (!retval && iter.second->get_uid() == uid)
|
||||||
|
+ {
|
||||||
|
+ retval = iter.second;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // 完美匹配则直接退出
|
||||||
|
+ if (iter.second->get_uid() == uid && iter.second->name_get() == name)
|
||||||
|
+ {
|
||||||
|
+ retval = iter.second;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return retval;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
std::string DisplayManager::get_monitors_uid()
|
||||||
|
{
|
||||||
|
std::vector<std::string> result;
|
||||||
|
diff --git a/plugins/display/display-manager.h b/plugins/display/display-manager.h
|
||||||
|
index c2fdce6..3d866ff 100644
|
||||||
|
--- a/plugins/display/display-manager.h
|
||||||
|
+++ b/plugins/display/display-manager.h
|
||||||
|
@@ -107,6 +107,9 @@ private:
|
||||||
|
std::shared_ptr<DisplayMonitor> get_monitor(uint32_t id);
|
||||||
|
std::shared_ptr<DisplayMonitor> get_monitor_by_uid(const std::string& uid);
|
||||||
|
std::shared_ptr<DisplayMonitor> get_monitor_by_name(const std::string& name);
|
||||||
|
+ // 优先匹配uid,如果有多个uid匹配,则再匹配name
|
||||||
|
+ std::shared_ptr<DisplayMonitor> match_best_monitor(const std::string& uid,
|
||||||
|
+ const std::string& name);
|
||||||
|
|
||||||
|
// 将uid进行排序后拼接
|
||||||
|
std::string get_monitors_uid();
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: kiran-cc-daemon
|
Name: kiran-cc-daemon
|
||||||
Version: 2.5.1
|
Version: 2.5.1
|
||||||
Release: 12
|
Release: 14
|
||||||
Summary: DBus daemon for Kiran Desktop
|
Summary: DBus daemon for Kiran Desktop
|
||||||
|
|
||||||
License: MulanPSL-2.0
|
License: MulanPSL-2.0
|
||||||
@ -15,6 +15,8 @@ Patch0006: 0001-fix-identification-issues-in-control-centers.patch
|
|||||||
Patch0007: 0001-fix-keybinding-Add-support-desktop-key-for-GC.patch
|
Patch0007: 0001-fix-keybinding-Add-support-desktop-key-for-GC.patch
|
||||||
Patch0008: 0001-fix-display-Add-adaptive-screen-change-flag.patch
|
Patch0008: 0001-fix-display-Add-adaptive-screen-change-flag.patch
|
||||||
patch0009: 0001-fix-systeminfo-Adjusting-the-reading-method-of-cpu-i.patch
|
patch0009: 0001-fix-systeminfo-Adjusting-the-reading-method-of-cpu-i.patch
|
||||||
|
Patch0010: 0001-feature-power-Compatiable-two-power-profile-daemon-w.patch
|
||||||
|
Patch0011: 0001-fix-edid-Fix-the-problem-that-cannot-match-correct-m.patch
|
||||||
|
|
||||||
BuildRequires: cmake >= 3.2
|
BuildRequires: cmake >= 3.2
|
||||||
BuildRequires: pkgconfig(glibmm-2.4)
|
BuildRequires: pkgconfig(glibmm-2.4)
|
||||||
@ -184,6 +186,10 @@ glib-compile-schemas /usr/share/glib-2.0/schemas &> /dev/nulls || :
|
|||||||
%{_libdir}/pkgconfig/kiran-cc-daemon.pc
|
%{_libdir}/pkgconfig/kiran-cc-daemon.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jul 08 2023 tangjie02 <tangjie02@kylinsec.com.cn> - 2.5.1-13
|
||||||
|
- KYOS-F: Compatiable two power profile daemon which contains hadess and tuned.
|
||||||
|
- KYOS-B: Fix the problem that cannot match correct monitor when has same edid.
|
||||||
|
|
||||||
* Fri Jun 9 2023 wangtaozhi <wangtaozhi@kylinsec.com.cn> - 2.5.1-12
|
* Fri Jun 9 2023 wangtaozhi <wangtaozhi@kylinsec.com.cn> - 2.5.1-12
|
||||||
- KYOS-F: Adjusting the reading method of cpu information
|
- KYOS-F: Adjusting the reading method of cpu information
|
||||||
- KYOS-F: Resolve program crash issue when exiting the program
|
- KYOS-F: Resolve program crash issue when exiting the program
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user