badly-drawn-wizards / vangogh_oc_fix

A linux kernel module to override AMD Van Gogh APU PowerPlay limits for CPU
GNU General Public License v3.0
19 stars 5 forks source link

Does this still works on SteamOS 3.5.5? #12

Closed DiegcD closed 5 months ago

DiegcD commented 9 months ago

SteamOS just launched with kernel version 6.1.52-valve7-1-neptune-61

tweakbsd commented 9 months ago

I would say yes. But I went from Steam OS 3.4.11 straight to 3.5.7 which equals to "6.1.52-valve9-1-neptune-61" and it is working for me on that version.

DiegcD commented 9 months ago

I would say yes. But I went from Steam OS 3.4.11 straight to 3.5.7 which equals to "6.1.52-valve9-1-neptune-61" and it is working for me on that version.

How could I install it too? I updated to 3.5.7 and I have the same kernel as you 6.1.52-valve9-1-neptune-61

tweakbsd commented 9 months ago

Clone the git repo project to your steam deck and download the correct kernel sources from here:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/sources/jupiter-3.5/

in my case it was:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/sources/jupiter-3.5/linux-neptune-61-6.1.52.valve9-1.src.tar.gz

extract them and find the "drivers/gpu/drm/amd" folder in that source tree and put those in the repo under

REPO_DIR/module/amd_headers/6.1.52-valve9/drivers/gpu/drm/amd

and try to build the module. You probably need to install base-devel with pacman first I think. Tell me where you're stuck maybe I can guide you a bit more detailed. Or even send you the compiled kernel module might be possible.

DiegcD commented 9 months ago

Clone the git repo project to your steam deck and download the correct kernel sources from here:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/sources/jupiter-3.5/

in my case it was:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/sources/jupiter-3.5/linux-neptune-61-6.1.52.valve9-1.src.tar.gz

extract them and find the "drivers/gpu/drm/amd" folder in that source tree and put those in the repo under

REPO_DIR/module/amd_headers/6.1.52-valve9/drivers/gpu/drm/amd

and try to build the module. You probably need to install base-devel with pacman first I think. Tell me where you're stuck maybe I can guide you a bit more detailed. Or even send you the compiled kernel module might be possible.

Thanks for the steps, I'll try them tonight and close this issue if it works ♥️🙌🏻

DiegcD commented 9 months ago

in my case it was:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/sources/jupiter-3.5/linux-neptune-61-6.1.52.valve9-1.src.tar.gz

extract them and find the "drivers/gpu/drm/amd" folder in that source tree and put those in the repo under

I downloaded the kernel sources you linked, got a .tar.gz file then uncompressed it but I can't find the amd folder you mentioned. How can I get to the needed folder? Maybe you linked the wrong file?

tweakbsd commented 8 months ago

Hi there, yeah I understand. I am a programmer so it was obvious to me that the downloaded file contained a GIT repository. You have to "clone" it to see the real data in it. In the extracte archive you find a folder structure like this:

linux-neptune-61/archlinux-linux-neptune

On a Terminal:

cd linux-neptune-61 git clone archlinux-linux-neptune ./src

then in the "src" folder you find what you need, the whole "drivers/gpu" sources including the needed headers. Make this folder:

vangogh_oc_fix/module/amd_headers/6.1.52-valve9

and copy the Makefile from the existing amd_headers/6.1.52-valve3 over to it as well. I hope you can follow it, it is really messy with extracting the source into the amd_headers folder but it should work. I try to clean my folder an make a PR here soon so the headers are in this repo.

DiegcD commented 8 months ago

Hi there, yeah I understand. I am a programmer so it was obvious to me that the downloaded file contained a GIT repository. You have to "clone" it to see the real data in it. In the extracte archive you find a folder structure like this:

linux-neptune-61/archlinux-linux-neptune

On a Terminal:

cd linux-neptune-61 git clone archlinux-linux-neptune ./src

then in the "src" folder you find what you need, the whole "drivers/gpu" sources including the needed headers. Make this folder:

vangogh_oc_fix/module/amd_headers/6.1.52-valve9

and copy the Makefile from the existing amd_headers/6.1.52-valve3 over to it as well. I hope you can follow it, it is really messy with extracting the source into the amd_headers folder but it should work. I try to clean my folder an make a PR here soon so the headers are in this repo.

I did those steps. Got the folders pasted where you pointed. Ran the commands but when I tried make build it asked for headers but the command it printed was incorrect: When I pasted the headers command this error shows pacman: invalid option -- 'a'

(1)(deck@steamdeck vangogh_oc_fix-master)$ make build
Makefile:18: *** "Could not find /lib/modules/6.1.52-valve9-1-neptune-61/build\nYou probably don't have headers installed. Run 'sudo pacman -S -headers' to install them".  Stop.
(2)(deck@steamdeck vangogh_oc_fix-master)$ sudo pacman -S -headers
pacman: invalid option -- 'a'
(1)(deck@steamdeck vangogh_oc_fix-master)$ 

I need the correct headers command I believe, that one doesn't work 😭

tweakbsd commented 8 months ago

You can download the packages you need here:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/

I think I installed this manually by downloading it and running

pacman -U /path/to/linux-neptune-61-headers-6.1.52.valve9-1-x86_64.pkg.tar.zst

https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/linux-neptune-61-headers-6.1.52.valve9-1-x86_64.pkg.tar.zst

And I probably also installed this one too:

https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/linux-neptune-61-6.1.52.valve9-1-x86_64.pkg.tar.zst

Sorry for not being more helpful, it was a mess how I got this kernel module to build as I already told ya. But these are all the parts you need to get it to build. The "make" command in the headers folder btw. never worked for me, it is broken in my opinion cause it doesn't display the right version This command is missing some string variable in a script

"pacman -S -headers"

It should rather be somethinh like "pacman -S linux-61-neptune-headers" but even after using that it installed the wrong stuff for me. Instead of "linux-neptune-61-headers-6.1.52.valve9-1" I ended up with a too NEW version of the headers for my system sth. like "linux-neptune-61-headers-6.1.52.valve10".

Keep at it, you're near completion and can get it to work!