What is the correct way/order of acpi calls to get gameshift mode toggle? #361
Replies: 3 comments
-
0x25,1,0/1 - turns G-mode on and off. Don't work for some systems (even if exist) Q14 - dirty hack for the systems doesn't support common 0x25 functions. Be careful, it's more powerful, then common G-mode. Just toggles it on or off. Avoid if 0x25 working well. Also, some systems require setting power mode to 0xAB first for G-mode. And yes, system remember last power mode set, so it will be restored after reboot. Don't forget to set common or manual (0xa0 or zero) mode at shutdown/hibernate. |
Beta Was this translation helpful? Give feedback.
-
0x25 doesn't seem to do anything (atleast by itself, except for toggling the value returned by 0x25, 2, but fans don't run) setting powermode to 0xab, does seem to enable the fans, right after that using 0x25, 2, returns 1. So just setting powermode to 0xab is enabling gmode, I think? but 0x14, 0xb is just returning 0xab I don't know what fixed it, but I can now toggle my fans on and off again, so problem solved. Thank you. |
Beta Was this translation helpful? Give feedback.
-
I don't remember how it implemented in 5515 BIOS, but just setting power mode can be not enough (f.e. GPU PL can be not altered).
To disable:
You are welcome. |
Beta Was this translation helpful? Give feedback.
-
I have a dual boot system, arch and windows. I don't care about anything else tbh, I just want my fans to toggle on and off, so after trying to go through all the code in alienfans-tools, and trying to wrap around my head, and with some trail and error. I managed to get to know the acpi_calls, to these
_SB.AMW3.WMAX 0 0x25 { 1, 0, 0, 0} // I don't know what this is doing, but the gmode command in the source code, looks like it goes straight to it. and from decomplling structure, it appears this is toggling something, and we can read the toggled value by this call
_SB.AMW3.WMAX 0 0x25 { 2, 0, 0, 0} // So what is this for, to keep gmode state during shutdown or something? because they aren't turning my fans.
_SB.PCI0.LPC0.EC0._Q14 // And this is the actual call that is toggling my fans. So now I'm happy for a while. I can toggle gmode on and off. but then something terrible happen.
If I toggle gmode on and off on one OS at a time, it works with no problems. But then If I remember correctly I enabled gmode in one OS(don't know whether windows or linux, I switch very frequently), and shutdown without disabling it. booted into other OS, and the fans were running, so instinctively tried to turn off gmode, on this OS. and yep that made the fans to run forever now. I tried to switch between OSes multiple times, to figure out if anything would work. but nope. they are running forever now. which is not a bad thing, but this is a laptop, I need to carry around lol.
I think If I executed the calls in proper order, this shouldn't happen. I tried to go through this code, but It feels like I'm wasting a lot of time, and can't wrap my head around. Probably I should compile it on windows, and see how it executes, but that feels like a lot of work, than making this post lol. And also I can't say if it will execute properly either, because now this alienfx/alienfan application is also not able to turn down my fans.
I'd appreciate it a lot, if you just tell me, the proper order of acpi calls to toggle gmode, I don't need nothing else (atleast for now), and I'll try to figure it out, how to get this laptop back to stop the fans.
Thank you 😊
EDIT: forgot to mention, the laptop is Dell G15 5515
Beta Was this translation helpful? Give feedback.
All reactions