Valkirie / HandheldCompanion

ControllerService
Other
1.2k stars 92 forks source link

Fan stops running (dangerous). #1169

Open mirage335 opened 1 week ago

mirage335 commented 1 week ago

Device manufacturer GPD

Device model GPD Win Mini 2024

Handheld Companion Version 0.21.6.1

Describe the bug Fan stops running upon switching from the external power to battery power configured performance profile, at least when connected to Thunderbolt/USB4 dock.

To Reproduce Plug into external PCI-E Thunderbolt/USB4 dock with NVIDIA graphics card. Close lid.

Set two profiles. Maybe one 'Default', one 'Fast', both with software fan control.

Set one profile for when on battery power, the other when on external power.

Unplug external PCI-E Thunderbolt/USB4 dock with NVIDIA graphics card.

Fan stops, only starting again when switched to a different profile or 'Hardware' control. When switching back to the original profile in 'Software' control, the fan stops again.

Expected behavior Fan continues on the alternative fan profile.

Obviously this is indeed dangerous for the health of the hardware. Also, there are still some intermittent cases of Handheld Companion going to 100% CPU . The new version of Handheld Companion may be causing some issues reconnecting to the PCI-E Thunderbolt/USB4 dock with NVIDIA graphics card.

I would much prefer to reduce the fan speed from the BIOS if that worked, or through a hardware mod.

mirage335 commented 3 days ago

Latest release is still broken, fan can still stop when switching back to battery power.

Valkirie commented 3 days ago

@romracer anything comes to mind here ?

romracer commented 2 days ago

When the device is unplugged, the current power profile should be discarded. When that happens, fan control is reverted to hardware. @mirage335 do you hear any indication the fan is starting to spin at this moment (particularly if the device is warm enough that it should spin)?

When the new power profile is applied, the fan should be set back to what the new profile requests (software here). Perhaps the EC writes to toggle to hardware on discard and then re-enable software are fired off in too quick of succession?