tuxedocomputers/tuxedo-control-center

2.1.3: no cpu temperature, no cpu fan, no iGPU frequency

Closed this issue ยท 25 comments

After the update to tuxedo-control-center 2.1.3 and tuxedo-drivers 4.1.0 tuxedo-control-center shows no cpu temperature and no cpu fan - see screenshot.

Infos:
DMI: TUXEDO TUXEDO InfinityBook S 15/17 Gen7/NS5x_7xPU, BIOS 1.07.09RTR2 11/17/2022

openSUSE Tumbleweed 20240116
Linux 6.6.11-1-default

I found the following in the journal:

tccd[1236]: Daemon started
tccd[1236]: (node:1236) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'tableCPU' of undefined
tccd[1236]:     at FanControlWorker.setPreviousValues (/snapshot/tuxedo-control-center/dist/tuxedo-control-center/service-app/service-app/classes/FanControlWorker.js)
tccd[1236]:     at FanControlWorker.updateFanLogic (/snapshot/tuxedo-control-center/dist/tuxedo-control-center/service-app/service-app/classes/FanControlWorker.js)
tccd[1236]:     at FanControlWorker.initFanControl (/snapshot/tuxedo-control-center/dist/tuxedo-control-center/service-app/service-app/classes/FanControlWorker.js)
tccd[1236]:     at FanControlWorker.setupTuxedoIO (/snapshot/tuxedo-control-center/dist/tuxedo-control-center/service-app/service-app/classes/FanControlWorker.js)
tccd[1236]:     at FanControlWorker.<anonymous> (/snapshot/tuxedo-control-center/dist/tuxedo-control-center/service-app/service-app/classes/FanControlWorker.js)
tccd[1236]:     at Generator.next (<anonymous>)
tccd[1236]:     at fulfilled (/snapshot/tuxedo-control-center/node_modules/tslib/tslib.js)
tccd[1236]: (Use `tccd --trace-warnings ...` to show where the warning was created)
tccd[1236]: (node:1236) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
tccd[1236]: (node:1236) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
tccd[1236]: Failed executing onWork() => TypeError: Cannot read property 'tableCPU' of undefined
tccd[1236]: Failed executing onWork() => TypeError: Cannot read property 'tableCPU' of undefined
tccd[1236]: Failed executing onWork() => TypeError: Cannot read property 'tableCPU' of undefined
tccd[1236]: Failed executing onWork() => TypeError: Cannot read property 'tableCPU' of undefined
...

scr

In addition, the tccd constantly floods the log with the message:

tccd[1236]: Failed executing onWork() => TypeError: Cannot read property 'tableCPU' of undefined

A new line every second.

Same here.

Also, it would be nice to be able to roll back to the previous version, but unfortunately, it is not on the APT server anymore.

I also noticed that the iGPU frequency is not available or grayed out - see also the screenshot.

I also looked at #346 and noticed that the code assumes /sys/class/drm/card0/, but only /sys/class/drm/card1/ exists on my notebook.

So something doesn't seem to be working correctly there either.

$ ls -l /sys/class/drm/
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-1
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-DP-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-DP-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-3
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-DP-4 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-4
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-1
lrwxrwxrwx 1 root root    0 Jan 18 07:00 card1-eDP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1
lrwxrwxrwx 1 root root    0 Jan 18 07:00 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
-r--r--r-- 1 root root 4096 Jan 18 09:34 version

and

$ ls -lR /sys/class/drm/card1/gt*
-r--r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_RP0_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_RP1_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_RPn_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_act_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_boost_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_cur_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_max_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 09:34 /sys/class/drm/card1/gt_min_freq_mhz

/sys/class/drm/card1/gt:
total 0
drwxr-xr-x 3 root root 0 Jan 18 10:10 gt0

/sys/class/drm/card1/gt/gt0:
total 0
drwxr-xr-x 2 root root    0 Jan 18 10:07 .defaults
-r--r--r-- 1 root root 4096 Jan 18 10:11 id
-r--r--r-- 1 root root 4096 Jan 18 10:11 punit_req_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rc6_enable
-r--r--r-- 1 root root 4096 Jan 18 10:11 rc6_residency_ms
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_RP0_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_RP1_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_RPn_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_act_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 10:11 rps_boost_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_cur_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 10:11 rps_max_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 10:11 rps_min_freq_mhz
-rw-r--r-- 1 root root 4096 Jan 18 10:11 slpc_ignore_eff_freq
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_pl1
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_pl2
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_pl4
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_prochot
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_ratl
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_status
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_thermal
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_vr_tdc
-r--r--r-- 1 root root 4096 Jan 18 10:11 throttle_reason_vr_thermalert

/sys/class/drm/card1/gt/gt0/.defaults:
total 0
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_down_threshold_pct
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_max_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_min_freq_mhz
-r--r--r-- 1 root root 4096 Jan 18 10:11 rps_up_threshold_pct

I've also noticed that the temperature management doesn't work with the latest version, the fan doesn't start and the CPU temperature can exceed 90ยฐC :/.

Downgraded back to 2.1.2 and it works again. Build it yourself:

Steps to build (for deb package):

git clone https://github.com/tuxedocomputers/tuxedo-control-center.git -b v2.1.2
cd tuxedo-control-center
npm install
npm run pack-prod deb

If you are too lazy to build it, I don't recommend installing a package that a stranger provides, but here is the deb file that I built: gdrive link.

After the installation, exit tuxedo control center and restart tccd:

sudo service tccd restart

@tuxedoxt is it possible to provide binaries in the "Release" section?

This doesn't necessarily belong here and maybe I'll open a separate issue for it, but ...

Why is logLine code disabled and instead stdout (and thus the journal) is cluttered with messages (see)?!

For the time being the tccd.service could be extended, e.g. with

StandardOutput=truncate:/var/log/tccd/log
StandardError=truncate:/var/log/tccd/log

Hello,

I pushed a quick fix regarding fan control. Please try v2.1.4.

Hello,

I pushed a quick fix regarding fan control. Please try v2.1.4.

Thanks v2.1.4 solves the device control problem. But still, I see logs printed every second in the journal like this:

Jan 18 16:09:23 stellaris tccd[312049]: Failed executing onWork() => Error: Command failed: export XAUTHORITY=/home/salih/.Xauthority && xrandr -q -display :1 --current
Jan 18 16:09:23 stellaris tccd[312049]: No protocol specified
Jan 18 16:09:23 stellaris tccd[312049]: Can't open display :1

Hello,

I pushed a quick fix regarding fan control. Please try v2.1.4.

It looks better now. cpu temperature and cpu fan seem to work again, iGPU frequency is still without function (I doubt that the display of iGPU - Power is correct and works, because it always says 0 W).

scr

Still have issues with empty gauges in 2.1.4 and constant fan with temp showing nearly 90 degrees on idle.

After a while the gauges work, but the constnat fan on max makes the laptop unuseable.

Pulse 15 Gen 1 - Ubuntu 22.04 (from WebFAI)

Hello,

It looks better now. cpu temperature and cpu fan seem to work again, iGPU frequency is still without function (I doubt that the display of iGPU - Power is correct and works, because it always says 0 W).

Regarding other dashboard issues, flexible paths etc there will be another fix.

Still have issues with empty gauges in 2.1.4 and constant fan with temp showing nearly 90 degrees on idle.
After a while the gauges work, but the constnat fan on max makes the laptop unuseable.

High fan speed and high temp sounds like high load in general. Check for example top to see which processes are using a lot of CPU time. If the load is fine but you want a max noise level at the expense of throttling you can play around with the max fan speed parameter or the custom fan curve.

Hello,

It looks better now. cpu temperature and cpu fan seem to work again, iGPU frequency is still without function (I doubt that the display of iGPU - Power is correct and works, because it always says 0 W).

Regarding other dashboard issues, flexible paths etc there will be another fix.

Ok, thanks.
One more comment on this:
I'm not sure which values are read from which source, from src/service-app/classes/GpuInfoWorker.ts I get

cur_freq: /sys/class/drm/card0/gt_act_freq_mhz
max_freq: /sys/class/drm/card0/gt_RP0_freq_mhz

On my notebook (InfinityBook S 15/17 Gen7/NS5x_7xPU) the following values result for card1:

$ cat /sys/class/drm/card1/gt_act_freq_mhz
0
$ cat /sys/class/drm/card1/gt_RP0_freq_mhz
1400

gt_act_freq_mhz is probably not useful here, gt_cur_freq_mhz looks more correct:

$ cat /sys/class/drm/card1/gt_cur_freq_mhz
300

But I'm still researching which values are sensible and correct, and I'm sure you have much more knowledge about this.

High fan speed and high temp sounds like high load in general. Check for example top to see which processes are using a lot of CPU time. If the load is fine but you want a max noise level at the expense of throttling you can play around with the max fan speed parameter or the custom fan curve.

This is no load, it is constantly on at max with nearly 90 degree cpu temp.

Why should I play around with profiles or look for load when there is none? Just reverting to an older version of the TCC fixes the issue.

High fan speed and high temp sounds like high load in general. Check for example top to see which processes are using a lot of CPU time. If the load is fine but you want a max noise level at the expense of throttling you can play around with the max fan speed parameter or the custom fan curve.

This is no load, it is constantly on at max with nearly 90 degree cpu temp.

Why should I play around with profiles or look for load when there is none? Just reverting to an older version of the TCC fixes the issue.

Alright, that's new. Could you include some info like

  • journalctl -u tccd
  • the profile config /etc/tcc/profiles
  • output of dkms status and uname -r

After upgrading from 2.1.1 to 2.1.4 my GPU disappeared from TCC Dashboard. I use Tuxedo OS 2.
Screenshot_20240122_221046

@tuxedoxt

uname -r

6.5.0-10013-tuxedo

dkms status

tuxedo-drivers/4.0.3, 6.5.0-10013-tuxedo, x86_64: installed
tuxedo-drivers/4.0.3, 6.5.0-10022-tuxedo, x86_64: installed
virtualbox/7.0.14, 6.5.0-10013-tuxedo, x86_64: installed
virtualbox/7.0.14, 6.5.0-10022-tuxedo, x86_64: installed

/etc/tcc/profiles

[{"id":"default_custom_profile","name":"TUXEDO Defaults","description":"Edit profile to change behaviour","display":{"brightness":100,"useBrightness":false},"cpu":{"useMaxPerfGov":false,"governor":"powersave","energyPerformancePreference":"balance_performance","noTurbo":false},"webcam":{"status":true,"useStatus":true},"fan":{"useControl":true,"fanProfile":"Balanced","minimumFanspeed":0,"offsetFanspeed":0},"odmProfile":{},"odmPowerLimits":{"tdpValues":[]}}]

journalctl -u tccd

Screenshot from 2024-01-23 09-06-44

Hi, would you please update your system (at least kernel, tuxedo-control-center and tuxedo-drivers) to the latest versions please?

Hi, would you please update your system (at least kernel, tuxedo-control-center and tuxedo-drivers) to the latest versions please?

I don't know who you were talking to - I always keep my system up to date:

DMI: TUXEDO TUXEDO InfinityBook S 15/17 Gen7/NS5x_7xPU, BIOS 1.07.09RTR2 11/17/2022
openSUSE Tumbleweed 20240131
Linux kernel 6.7.2-1-default x86_64
tuxedo-drivers 4.1.2
tuxedo-control-center 2.1.5

The display is still like in #353 (comment) - no change/improvement.

@tuxedoherbert

tcc

2.1.6

uname -r

6.5.0-10022-tuxedo

dkms status

tuxedo-drivers/4.2.1, 6.5.0-10022-tuxedo, x86_64: installed
virtualbox/7.0.14, 6.5.0-10013-tuxedo, x86_64: installed
virtualbox/7.0.14, 6.5.0-10022-tuxedo, x86_64: installed


It is a lot better! Good work. The fans still start slightly during boot, and once the greater appears the fans ramp up to pretty much max, even though the laptop isn't doing aynthing, about just over a minute after logging in the fans have slowly reduced from max to zero.

It would be good if these issues could be fixed too... but better than always on.

I haven't had time yet to really do anything so i don't know how playing games, using kdenlive, or programming affect it but it is certainly better than 2.1.5.

Some gauges still have issues: CPU Power, iGPU Temp, and iGPU speed all show n/a when I first open the tcc, and it takes a few seconds for these values to change (Pulse 15 Gen 1).

Fans also still keep switching on to max for about 5 seconds when waking from sleep.

After upgrading from 2.1.1 to 2.1.4 my GPU disappeared from TCC Dashboard. I use Tuxedo OS 2. Screenshot_20240122_221046

After Upgrading to 2.1.6, the GPU appear again in TCC Dashboard. Thanks!

@sketchbuch :

Fans also still keep switching on to max for about 5 seconds when waking from sleep.

That's a correct behavoir to also wake up the fans and make sure that they are turning.

Some gauges still have issues: CPU Power, iGPU Temp, and iGPU speed all show n/a when I first open the tcc, and it takes a few seconds for these values to change (Pulse 15 Gen 1).

That's also fine :) It needs a couple of seconds to initialize this, because it needs to collect data over a short period of time to get valid information. If it would collect this all the time, the system wouild have load all the time.

the fans ramp up to pretty much max, even though the laptop isn't doing aynthing

Please check top for system load or the tcc for the temp. The fans should only ramping up if the temp is high. maybe there is some background process (apt/discover/etc.) that is causing some load which leads into higher temp. Do you have your own fan profile configured with very low speed or high temps?

Hi, would you please update your system (at least kernel, tuxedo-control-center and tuxedo-drivers) to the latest versions please?

I don't know who you were talking to - I always keep my system up to date:

DMI: TUXEDO TUXEDO InfinityBook S 15/17 Gen7/NS5x_7xPU, BIOS 1.07.09RTR2 11/17/2022 openSUSE Tumbleweed 20240131 Linux kernel 6.7.2-1-default x86_64 tuxedo-drivers 4.1.2 tuxedo-control-center 2.1.5

The display is still like in #353 (comment) - no change/improvement.

hi @munix9 , would you please be so kind and recheck with the latest updates?

hi @munix9 , would you please be so kind and recheck with the latest updates?

looks good, thanks!

That's a correct behavoir to also wake up the fans and make sure that they are turning.

So why in the last 3 years that I have had the laptop was it not required? Why if I go back 2.0.8 does this not happen?

Why is this behaviour that the fans come on at max rpm for 5 seconds upon waking suddenly required? It makes it difficult to use on trains and planes as people around me get scared as literally no other laptop does this when waking.