Giter VIP home page Giter VIP logo

steam-patch's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

steam-patch's Issues

[Rog Ally][HoloISO]Command Center Button and Armoury Crate Button does not work

I tested the buttons in Steam and found that there was no functional mapping between these two buttons. I tried to allocate the drive, but when the Xbox 360 controller's Xbox buttons needed to be allocated, I tried to press these two buttons without any response

My Ally has been updated to the latest bios. HOLOISO is a live image installation I built myself, with a kernel of 6.4.12-zen1-1-zen and the bios being the latest 323. After installing HOLOISO, I only installed one browser and applied this patch. The systemctl status steam-patch shows that it is running without any errors and the patch is successful

[enhancement][new feature] ROG Ally: add mapping to the back keys

Would it be feasible to map the separated back keys (KEY_F17 and KEY_F18) to something useful (BTN_SELECT and BTN_START, for instance) using your patching method?

TIA

The back keys on the ROG Ally show KEY_F15 in its default state (auto mode in windows). Both provide the same input and it's mean to be used as a shift key.

NeroReflex put down a kernel patch to be able to control modes[1]. In its latest incarnation, the sysfs interface can be located here[2]:
/sys/devices/pci0000:00/0000:00:08.1/0000:09:00.3/usb1/1-3/1-3:1.2/0003:0B05:1ABE.0004/rc71l_controller /sys/devices/pci0000:00/0000:00:08.1/0000:09:00.3/usb1/1-3/1-3:1.0/0003:0B05:1ABE.0002/rc71l_controller /sys/devices/pci0000:00/0000:00:08.1/0000:09:00.3/usb1/1-3/1-3:1.1/0003:0B05:1ABE.0003/rc71l_controller
(any of them will work to control the states).

It admits three states:
0 - default one, back keys are KEY_F15: shift key, interacts with other keys.
1 - gamepad mode, back keys are separarated ordinary keys, KEY_F17 and KEY_F18.
2- lizard mode, right stick is mouse, R1 left click, R2 right click, a enter, etc. and back keys KEY_F17 and KEY_F18.

The state is remembered after sleep, even if the keys are gone and then back every other resume. So if you set it at startup it will be respected on suspend-resume).
I am using a simple systemd service that changes the mode to 1 on startup so the back keys are separate ordinary inputs[3]. In desktop I can remap them (evremap, i.e.) and use them. In gamescope it's not possible.

[1] https://github.com/NeroReflex/linux-chimeraos/blob/v6.6/linux/0002-usb-Add-a-mode-switch-for-the-controller-embedded-on.patch
[2] After the loss of N-Key device on suspend, the id changes. But it's easily scriptable: cd $(find /sys -name rc71l_controller | head -1)
[3] Really simple ones:
`cat /usr/local/bin/gamepad.sh
#!/bin/sh

cd $(find /sys -name rc71l_controller | head -1)

if test -f switch_mode
then echo 1 > switch_mode
else exit 1
fi
exit 0 cat /etc/systemd/system/gamepad.service
[Unit]
Description=Service that puts the Ally controller in gamepad mode
[Service]
Type=oneshot
ExecStart=/usr/local/bin/gamepad.sh
[Install]
WantedBy=multi.user.target`

Adjust tpd slider on rog ally

Hello! Great work but I am having issues on Nobara , all I need is to be able to change the wattage values from the 3-15 to 7-44 is it possible for me to do this? I just need a visual change not for it to actually change the tdp as nobara has a tdp function now.
The problem is the scale is 3-15 and the tdp changes are roughly x2 scale so 3=7 and 15 =35, if this is possible to do please point me in the right direction

After latest UI fixes steam client enters an update loop (gamescope-session)

With commit 1d4fd86 the steam client enters an unending update loop. You have to stop steam-patch for the loop to cease. I haven't suffered it with the desktop client.

Yesterday it worked fine and survived a couple of reboots. Today the first boot was ok too. Now every boot/change to gamescope-session is affected.

Using a binary compiled before the mentioned commit the steam client does not enter the update loop.

Attached are:

[Rog Ally][ChimeraOS] Changing TDP does not change thermal policy

Steps to reproduce:

Check /sys/devices/platform/asus-nb-wmi/throttle_thermal_policy (defaults to 0).

Change TDP to 30W.

Check /sys/devices/platform/asus-nb-wmi/throttle_thermal_policy : it's still 0

This issue was present too before 0.6 version.

P.S.: I don't know if it has been changed with the new BIOS (I'm using latest, 323), but this seems to not be correct in my machine:
// Update thermal policy let thermal_policy = match tdp { val if val < 12 => 0, // silent val if (12..=25).contains(&val) => 1, // performance _ => 2, // turbo };
From my testing, 0 would be balanced, 1 would be performance and 2 would be silent. Test with a game (A plague tale innocence, high-ultra settings):

  • 0 gets a TDP arround 15W (fans not very loud)
  • 1 gets maximum TDP. (fans loud)
  • 2 gets a TDP around 10W. (fans almost silent)

[Enhancement] Feature request for ALLY extra button support

Thanks for this great repo. I'm running Nobara (dual boot with W11) on my ASUS ROG ALLY, and I was wondering if it would be possible to patch in the keybinds for the Steam button and right side menu button (Armoury Crate button on ROG ALLY). These two buttons must be sending different HEX codes on keypress from the default Steam Deck buttons, which is why they don't work natively (without intervention). These buttons work when I tried ChimeraOS, but I don't want to use their solution for this in Nobara. If the keybinds could be fixed with this patching method (until if and when Valve allows an easier way to change those keybinds), then I think my last gripe with Nobara gamescope-session would be solved.

Nobara on Ally

Service seems to be hit or miss if it applies.

One possible cause I've seen is that setting the client to Beta will often forget that it's Beta and start redownloading updates every couple or so boots.

I'm assuming it's doing the "update" whenever steam-patcher tries to run and thus can't find the files it needs.

Maybe some detection for if Steam is in the middle of an update?

× steam-patch.service - Steam Patches Loader
     Loaded: loaded (/etc/systemd/system/steam-patch.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: core-dump) since Thu 2023-08-10 17:52:50 EDT; 6min ago
   Duration: 15min 52.843s
   Main PID: 1223 (code=dumped, signal=ABRT)
        CPU: 651ms

Aug 10 17:51:59 nobara-pc steam-patch[1223]: Show QAM
Aug 10 17:51:59 nobara-pc steam-patch[1223]: Show Menu
Aug 10 17:51:59 nobara-pc steam-patch[1223]: Show QAM
Aug 10 17:52:10 nobara-pc steam-patch[1223]: Steam unpatched
Aug 10 17:52:12 nobara-pc steam-patch[1223]: Steam patched
Aug 10 17:52:49 nobara-pc steam-patch[1223]: Steam unpatched
Aug 10 17:52:50 nobara-pc steam-patch[1223]: thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/steam.rs:198:78
Aug 10 17:52:50 nobara-pc steam-patch[1223]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aug 10 17:52:50 nobara-pc systemd[1]: steam-patch.service: Main process exited, code=dumped, status=6/ABRT
Aug 10 17:52:50 nobara-pc systemd[1]: steam-patch.service: Failed with result 'core-dump'.

"Asus Keyboard" Device not always appear in /input/devices, on Rog Ally.

ok, I found the problem. Because the "Asus Keyboard" Hid Device not always appear in /input/devices, so steam-patch not recognize it when "Asus Keyboard" not appear.

I: Bus=0003 Vendor=0b05 product=1abe Version=0110
N: Name="Asus Keyboard"
...

On my Rog Ally, suspend will disappear this, so when awake up, press the Main Button or QAM Button not responsible everytime.

I don't know why cause this.

Are there some tutorials about steam client hack?

This project is cool, but I want to modify this to achieve some features about my own needs. I can learn Rust Language to write, could you tell my more about this tutorial about hack steam client, any tutorial or blog? Thanks a lot.

Restarting Steam corrupts its installation

The problem in the watcher that prevents Steam from patching files back.
I listens to delete file event and tries to write to the file, so does Steam. It leads to crash and corruption of the installation.
The correct way to handle it would be listening to changes and applying patches after Steam closed the file.

[Rog Ally][ChimeraOS][V43.1] Buttons stop working when opening virtual keyboard

Problem:
Non-standard Xbox buttons stop working, and the issue can only be resolved by restarting a Rog Ally.
(Rog Button and guide)
How to reproduce:
Open the virtual keyboard in-game or in the configuration.
Observe that the non-standard Xbox buttons have stopped working.

Steps taken so far:
I have attempted to resolve the issue by restarting a service, which sometimes works, but not always.

I have checked the systemd service logs, but I couldn't notice any abnormalities.
Sorry if this text is confusing, English is not my first language.

Review from DTF

Предлагаю описать, что именно твои патчи делают :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.