hannesmann/gcadapter-oc-kmod

Cannot make on SteamOS (Steam Deck)

bungholemaster opened this issue · 9 comments

1665222461765937
I get this error trying to run
make
on the Steam Deck.

I tried disabling the read only OS with
sudo steamos-readonly disable
and it still would not work, and I cannot create a folder in that directory.

Asking around I was linked this issue:
DanielOgorchock/joycond#102
which may be related to this?

I am not Linux proficient enough to understand this and try to resolve it.

Hmm... I don't own a Steam Deck so I haven't tested it on SteamOS, but from the linked issue this should be all you need:

sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S gcc linux-neptune-headers

I wouldn't mess with any of Valve's system files so don't bother trying to install it with the Arch Linux PKGBUILD. Instead, just use sudo insmod gcadapter_oc.ko when you want to overclock the adapter.

Let me know if it works! If it does I'll add it to the readme for anyone else using a Steam Deck.

Hmm... I don't own a Steam Deck so I haven't tested it on SteamOS, but from the linked issue this should be all you need:

sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S gcc linux-neptune-headers

I wouldn't mess with any of Valve's system files so don't bother trying to install it with the Arch Linux PKGBUILD. Instead, just use sudo insmod gcadapter_oc.ko when you want to overclock the adapter.

Let me know if it works! If it does I'll add it to the readme for anyone else using a Steam Deck.

Well I just sent my Deck off for an RMA so I can't test it until I get it back.
Like I said I'm not Linux proficient, are these commands just installing dependencies so that it can run make properly?
I guess I could also try this when I get it but if I reenable the read only OS afterward would that stop sudo insmod gcadapter_oc.ko from working?

Like I said I'm not Linux proficient, are these commands just installing dependencies so that it can run make properly?

Pretty much. The error shows up because linux-neptune-headers is missing. I included GCC just to be sure, you probably have it already.

but if I reenable the read only OS afterward would that stop sudo insmod gcadapter_oc.ko from working?

I don't think so but every time you update the Deck you'll need to run make again to build the module for the new kernel.

Like I said I'm not Linux proficient, are these commands just installing dependencies so that it can run make properly?

Pretty much. The error shows up because linux-neptune-headers is missing. I included GCC just to be sure, you probably have it already.

If the Deck does already have GCC I'm assuming running that will just overwrite it and not add any unnecessary files, correct?

Also if I'm understanding right I have to run sudo insmod gcadapter_oc.ko every time I reboot for it to work?
I'm running Slippi in desktop mode but I'm assuming going back into game mode wouldn't revert the polling rate once I do that right?

If the Deck does already have GCC I'm assuming running that will just overwrite it and not add any unnecessary files, correct?

It'll warn that you're reinstalling GCC but it won't overwrite anything important or add unnecessary files. You can try skipping it and only run sudo pacman -S linux-neptune-headers which is the important part.

Also if I'm understanding right I have to run sudo insmod gcadapter_oc.ko every time I reboot for it to work?

Yes, if the Deck has rebooted the module will need to be loaded into the running kernel. Switching from desktop mode to game mode should retain the polling rate since it's just switching between KDE and the Steam client? (Again I don't own a Deck so I don't know exactly how that works).

If the Deck does already have GCC I'm assuming running that will just overwrite it and not add any unnecessary files, correct?

It'll warn that you're reinstalling GCC but it won't overwrite anything. You can try skipping it and only run sudo pacman -S linux-neptune-headers which is the important part.

I'm just trying to avoid installing anything I don't explicitly need, but looking at the Reddit post linked further down in that issue comment chain I don't think the Deck has GCC either.

Like I said I can't actually test it right now but I'm trying my best to understand all this Linux stuff. Where does it actually install these dependencies?

I don't think the Deck has GCC either.

Nevermind, according to this it does.
https://www.reddit.com/r/SteamDeck/comments/t9g2na/comment/i5n1538/

Screenshot_20221027_115833
Okay, finally got my Deck back to try this out and it works! Didn't even need to install GCC, the neptune headers were enough. Loading the module also still works even after reenabling the read only OS.

sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S linux-neptune-headers

That was all I needed for make to work properly.

Thanks for the update, good to know that it works! I added SteamOS instructions here: https://github.com/hannesmann/gcadapter-oc-kmod/blob/master/STEAMOS.md