tcc-g15 icon indicating copy to clipboard operation
tcc-g15 copied to clipboard

Linux version

Open tungchiahui opened this issue 2 years ago • 20 comments

Have you ever considered launching a Linux version of this software Please?


Please upvote this comment with a👍 if you're interested in this feature. -AlexIII

tungchiahui avatar Dec 10 '23 06:12 tungchiahui

Hi! Unfortunately, no. I don't know how to access WMI in Linux or if it's event gonna work because Dell provides no drivers for linux. Please share if you have ideas how it could be implemented!

AlexIII avatar Dec 10 '23 11:12 AlexIII

WMI

What driver would you need for the G155511? I have one that runs plain Arch Linux and Windows on the other boot, the drivers for this equipment do have an Ubuntu version that includes a BIOS update directly from Dell.

pizanao avatar Dec 24 '23 07:12 pizanao

The Dell driver exposes temperature and fan sensors and fan control over WMI (Windows Management Instrumentation) interface. I don't know what alternative is available in Linux (if any). But obviously WMI won't work because it's windows-only.

AlexIII avatar Dec 30 '23 10:12 AlexIII

@tungchiahui @pizanao https://github.com/cemkaya-mpi/Dell-G15-Controller i tried it and it worked

revoltez avatar Jan 06 '24 07:01 revoltez

@tungchiahui @pizanao https://github.com/cemkaya-mpi/Dell-G15-Controller i tried it and it worked

OK,thank you

tungchiahui avatar Jan 24 '24 00:01 tungchiahui

@revoltez OK,thank you

tungchiahui avatar Jan 24 '24 00:01 tungchiahui

@AlexIII it is possible to use this project on linux but with acpi_calls (they are hard to find the right one to use but i guess i can make it possible thx to your work :) ) there is an laternative to WMI in linux ACPI DSDT but i am still new to using it . i will try my best to work on it and keep you informed on this topic image

meduk0 avatar Sep 23 '24 06:09 meduk0

@meduk0 Hi! Thanks for the info. I will check it out a bit later. In order to port we'd need to find a way to call these 3 WMI functions:

  • Thermal_Information
  • GetFanSensors
  • Thermal_Control

See AWCCWmiWrapper.py for more info. If you'll be able to figure out how to implement those calls on linux we could take up the porting task.

AlexIII avatar Sep 24 '24 13:09 AlexIII

well i never worked on a system project with acpi calls but recently i was able to get some things done . from what i can do i think i will make so much changes first of all : 1- in linux , dell provide the temps and fans speed through lm-sensors : image this make things more clear image

so with some grep commands i am able to get both temps and fans speed percent (using two varaibles one is the current one which need to be monitored maybe throw a systemd service and the max ones are a hardware defined so all what i have to do is save it once and use it when i need it ) Also , the dell command center cctk provides the 4 bios modes (cool , ballanced , optimized (dell's shit ) and performance ) so switching between them is very easy image so the only needed thing is the turbo/mux switch (which i need to find the correct acpi_call for it at least for my model ) Note : for others models like the 5520-5525-5515 there is already plenty of tools that covers them (expect the newer's ones like the 5530 5535 still lack linux users at least from my knowledge ) @AlexIII i am already working on the AWCCWmiWrapper.py (there will be so much changes as both linux and windows works differently , i think i will make a fork and work on it . Are you ok with depending on dell's cctk (there is a more recent version windows only ) . thx for the clear code , i was able to understand it from the first time (even if i don't use windows for years ) . I will try to get the project working on linux as close as i can (i am still a second year cs students ) Last note: from what i have seen different models tend to have different acpi calls especially that dell makes a lot of changes to the G15 every single release so i am able to get both my model (5530) , andthe older's one ready (i got the the needed stuff from what i can find in reddit and github ) . Hopefully , we can get some people with newer models or not covered ones to help us :) .

meduk0 avatar Sep 25 '24 06:09 meduk0

@AlexIII i am already working on the AWCCWmiWrapper.py (there will be so much changes as both linux and windows works differently , i think i will make a fork and work on it . Are you ok with depending on dell's cctk (there is a more recent version windows only ) .

Sure! It's up to you how to better get things working on linux. Unfortunately I don't have enough free time to help at the moment, but I do intend to maintain the project and review issues and PRs. Wish you good luck!

AlexIII avatar Sep 25 '24 07:09 AlexIII

@meduk0 there is also https://github.com/cemkaya-mpi/Dell-G15-Controller which gets the job done.

revoltez avatar Sep 25 '24 08:09 revoltez

@revoltez i know about the project ,in fact , i have been working on adding support for my own model but the maintainer seem to like to not add any other dependecies which somes will make it way ez to work with especially dell cctk as it provides all the bios settings via cli . I will work on my linux fork of this project it will be a qt small app that will support all the bios settings ,cpu governor via intel_pstate and amd pstate as i find it way necessairy as it keep my laptop under 32 °c and with a consumption of 10w (4w on idle ) , show power consumption of both the laptop ,cpu and dgpu if it is in use (it might need an ampere or higher for nvidia) ,and maybe a powersave mode and performance mode . I have some kde plugins i have made so i can make one for the system tray which i think new linux users will love . I think i will provide at least for now a deb version and a pkg in the aur (as i am using arch )

meduk0 avatar Sep 25 '24 08:09 meduk0

@meduk0 That would be great, especially the pstate solution, you might add to it nvidia-smi to control the frequency, im using currently a whacky bash script whenever i turn on my laptop so i was also thinking of creating my own fork (didn't have time lately) so good luck doing that and keep us updated :)

the whacky bash script:

#!/bin/bash

sudo modprobe acpi_call
echo "Setting max nvidia frequency to $1"
sudo nvidia-smi -i 0 -lgc 210,$1
echo "Setting max cpu frequency to $2%"
echo "$2" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct

revoltez avatar Sep 25 '24 08:09 revoltez

@revoltez that is a good addon i will make a progress list for the fork , i think a systemd service with the backend is needed to save the custum settings . if you want we can work together linux fork Maybe if the project get bigger i will make it more public

meduk0 avatar Sep 25 '24 09:09 meduk0

@meduk0 I don't think i have time now, but i'll definitely check it out!

revoltez avatar Sep 26 '24 09:09 revoltez

@revoltez that is a good addon i will make a progress list for the fork , i think a systemd service with the backend is needed to save the custum settings . if you want we can work together linux fork Maybe if the project get bigger i will make it more public

Whats the update about it?

tr1xem avatar Nov 04 '24 01:11 tr1xem

You should checkout Kurt Borja's work on alienware-wmi module. Some functions are working and there are more work to do. You can contact with him and maybe help him in the project or maybe do you own app to control triggers of alienware-wmi module.

arabcian avatar Feb 20 '25 07:02 arabcian

https://github.com/tr1xem/AWCC

So i did some work on G15 its cli only tho fairly easy to use

tr1xem avatar Feb 20 '25 08:02 tr1xem

Thanks for all your comments! Will take a good look at the possibility of linux implementation one of these days. Sadly, too busy at the moment to actively start working on it. But do continue posting the links to relevant info. It'll later come in handy no doubt

AlexIII avatar Feb 25 '25 15:02 AlexIII