MsiFanControl icon indicating copy to clipboard operation
MsiFanControl copied to clipboard

Linux support

Open Xieyt opened this issue 7 years ago • 16 comments

Hello I am new to all this.Can plzz port it to linux or guide me how to do it .I am just a student and not able to use linux in msi .. thanks

Xieyt avatar Jan 07 '19 15:01 Xieyt

Sadly, this is rather involved process, as MSI uses WMI (Windows Instrumentation) to communicate with ACPI and control fans. It's almost surely can be done on linux too, but it wouldn't be an easy thing to do. Some info can be found here: https://wiki.ubuntu.com/Kernel/Reference/WMI Also it seems that acpica-tools ubuntu package has some tools to manipulate ACPI tables. Maybe someday I'll do something more, but as for now I do not have enough spare time, sorry

kykc avatar Jan 07 '19 18:01 kykc

The thing that I can possibly do is try to migrate this repo to .NET Core 2.x, this shouldn't be too involved and will be some start towards portability

kykc avatar Jan 07 '19 18:01 kykc

+1 for Linux support, I didn't dare asking because I figured out the project is Windows-dependant, but it would be very nice : I have a dual boot, and everytime I choose Linux in GRUB, the first thing I think about is "from this moment I pressed Enter, my laptop will start overheating all day". Thanks

KaKi87 avatar Jan 14 '20 18:01 KaKi87

Sadly, free time is still a problem for me. I'll try to port it to .net core at least.

Also, I don't think fan control will solve your overheating issues. MSI laptops usually have rather aggressive fan policy by default, and I've used this utility to actually reduce fan speeds to make my laptop more quiet. As for temperature issues, that's sadly rather generic problem with modern desktop linux - it sucks in terms of power efficiency. I also have dual boot on my laptop, and under the same load linux looses to windows in terms of battery life/fan noise/temperature. Of course this could be investigated, how frequencies/voltages of CPU are managed, does discrete GPU got suspended when it's not used, etc. But that's beyond the scope of this simple utility, just thinking out loud.

kykc avatar Jan 14 '20 20:01 kykc

MSI laptops usually have rather aggressive fan policy by default, and I've used this utility to actually reduce fan speeds to make my laptop more quiet

Well, on the contrary, noise isn't a problem for me since I always work with headphones.

I don't think fan control will solve your overheating issues

Actually, it does. Forcing fan speed to 100% on Windows prevents my CPU temperature to exceed 40°C

I however think that the root cause is that my computer is a WS60-IQJ aka. one of the few consumer laptops equipped with server hardware, e.g. Intel Xeon CPU 😂

As for temperature issues, that's sadly rather generic problem with modern desktop linux - it sucks in terms of power efficiency.

Oh really ?

under the same load linux looses to windows in terms of battery life/fan noise/temperature

This is disappointing since Linux is supposed to be the symbol of sustainable development... 🙄

KaKi87 avatar Jan 14 '20 20:01 KaKi87

Actually, it does. Forcing fan speed to 100% on Windows prevents my CPU temperature to exceed 40°C

I however think that the root cause is that my computer is a WS60-IQJ aka. one of the few consumer laptops equipped with server hardware, e.g. Intel Xeon CPU 😂

OK, got your point. My situation was different as the main problem in my case was desktop version of nvidia gtx1060 GPU.

This is disappointing since Linux is supposed to be the symbol of sustainable development... 🙄

Totally agree, but my experience so far was like this.

As I've expected porting the executable to .net core 2.2 is almost effortless, I've just needed to figure out a few dependencies and write a correct project file: https://github.com/kykc/MsiFanControl/blob/migrate-to-dotnet-core/MsiFanControlCore/MsiFanControlCore.csproj

I'll try to dig something about WMI and linux.

kykc avatar Jan 14 '20 21:01 kykc

Thanks !

KaKi87 avatar Jan 15 '20 08:01 KaKi87

Hello, any news on this ? Thanks !

KaKi87 avatar Apr 23 '20 15:04 KaKi87

@KaKi87 after so much digging out. I found that someone has made it for linux. Maybe you should give it a try https://github.com/YoyPa/isw

Xieyt avatar Apr 24 '20 02:04 Xieyt

It's interesting, but it doesn't seem very easy to use 😅

KaKi87 avatar Apr 24 '20 12:04 KaKi87

Hello, I would like to report that the isw project is not maintained and doesn't seem to support my device. Thanks

KaKi87 avatar May 18 '22 20:05 KaKi87

Hello, I would like to report that the isw project is not maintained and doesn't seem to support my device. Thanks

that project has active forks with minor commits as recent as days ago, they may still not support your device. at a minimum it shows the project is still relevant.

feelingwalnut avatar May 18 '22 21:05 feelingwalnut

I found said fork, and even thought it would replace the main project, but turns out it was created only to add suppport for a single other device, which means the owner doesn't want to become a maintainer.

KaKi87 avatar May 19 '22 06:05 KaKi87

I found said fork, and even thought it would replace the main project, but turns out it was created only to add suppport for a single other device, which means the owner doesn't want to become a maintainer.

look at some of the forks that added device support and see how it is done. I have so many other issues with linux running smoothly on my MSI laptop that i've not sat and tried to find the fan addesses to try and add support for it. but it doesnt appear to require "coding" on first glance, just marking addresses and changes and noting them in the config file. I believe this may be helpful to see how linux handles the fan speeds on each device. https://github.com/YoyPa/isw/issues/247

feelingwalnut avatar May 22 '22 11:05 feelingwalnut

Well, unless there's a proper tutorial explaining how to do it, from beggining to end, starting with the meaning of "EC", then I won't be able to do it.

KaKi87 avatar May 22 '22 11:05 KaKi87

this project is active. it at least supports my gf63. https://github.com/YoCodingMonster/OpenFreezeCenter

feelingwalnut avatar May 22 '22 18:05 feelingwalnut