@Chris, it's not easy to use one line of code but not too hard to implement.
Must clean up the existed table if the original policy is passive policy 2.
Then parse&install pp1 on thermald.
I thought it's better to follow the upstream code architecture.
~~~
#here's code sniplet of 82609c7
+void cthd_engine_adaptive::install_passive_default() {
+ if (passive_installed)
+ return;
+
+ thd_log_info("IETM_D0 processed\n");
+
+ for (unsigned int i = 0; i < zones.size(); ++i) {
+ cthd_zone *_zone = zones[i];
+ _zone->zone_reset(1);
+ _zone->trip_delete_all();
+
+ if (_zone->zone_active_status())
+ _zone->set_zone_inactive();
+ }
+
+ struct psvt *psvt = gddv.find_def_psvt();
+ if (!psvt)
+ return;
+
+ std::vector<struct psv> psvs = psvt->psvs;
+
+ thd_log_info("Name :%s\n", psvt->name.c_str());
+ for (unsigned int j = 0; j < psvs.size(); ++j) {
+ install_passive(&psvs[j]);
+ }
+
+ psvt_consolidate();
+ thd_log_info("\n\n ZONE DUMP BEGIN\n");
+ for (unsigned int i = 0; i < zones.size(); ++i) {
+ zones[i]->zone_dump();
+ }
+ thd_log_info("\n\n ZONE DUMP END\n");
+ passive_installed = 1;
+}
+
~~~
I have did the way you said, the one is affected and the one is not affected.
e.g. TGL and ADL platform.
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to thermald in Ubuntu.
https://bugs.launchpad.net/bugs/1981087
Title:
thermald prematurely throttling GPU
Status in thermald package in Ubuntu:
Fix Released
Status in thermald source package in Jammy:
In Progress
Bug description:
[Impact]
* thermald prematurely throttling GPU
[Test Plan]
* Run game on the target machine.
* the FPS must not be throttled below 20FPS.
[Where problems could occur]
* better support for Passive Policy. currently passive policy 1 is supported
and it should have a bug if the machine only enable pssive policy 2.
~~~
I got a new game and started playing it
It would run at over 100 FPS solidly some of the time and then cyclically dip
down to below 20 FPS for a few minutes
I determined that it was thermald trying to keep my GPU below 70°C
to determine this I sudo systemctl stop thermald
The game ran solidly and consistently with the GPU at 75°C
This is well below the specs set by the manufacturer and perhaps
unreasonably low for a laptop
But more importantly I was given no indication this was happening. I
had to sleuth it out myself.
Perhaps it is impossible to determine good defaults for all hardware,
I don't know. However without an indication that this is happening
there will be a lot of people with a mysteriously broken experience.
This was extremely difficult for me to find and I had several friend
who are experts on linux gaming and video drivers trying to track this
down. I discovered it by luck and perseverance.
This absolutely needs some sort of indication and hopefully a way to
remedy it from the GUI. ideally it would set thermal limits that are
more in line with what the device is designed for and not a
conservative default if at all possible.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: thermald 2.4.9-1
ProcVersionSignature: Ubuntu 5.15.0-40.43-generic 5.15.35
Uname: Linux 5.15.0-40-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: XFCE
Date: Fri Jul 8 16:08:55 2022
InstallationDate: Installed on 2020-10-19 (626 days ago)
InstallationMedia: Xubuntu 20.04.1 LTS "Focal Fossa" - Release amd64
(20200731)
SourcePackage: thermald
UpgradeStatus: Upgraded to jammy on 2022-06-17 (20 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/thermald/+bug/1981087/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp