Linux Support for Game Haptics Router

Anyone know if there’s any way to get GHR working on Linux/any plans for Linux support in the future?

2 Likes

In trying to figure this out, I’ve noticed that Bottles has a default-off setting that allows it to detect Steam’s Proton prefixes, list them as Bottles, and allow running .exe files inside them!

Though so far, while I’ve gotten GHR to start inside the prefix, the process list only has one entry - “winedevice (148) (XInput)” - and while I can attach to it, it doesn’t seem to actually be registering the vibration. The game I tried this with was Warframe. Maybe others work better…?

If you can, please try this with some other games and let me know how it goes for you!

EDIT: Ah, okay, the log shows this error message when I attach to the winedevice process:

2025-08-01 15:10:23.4115|DEBUG|IntifaceGameHapticsRouter.ModControl|winedevice (148) (XInput)
2025-08-01 15:15:56.9885|INFO|IntifaceGameHapticsRouter.EasyHookMod|Attaching XInput Mod Payload
2025-08-01 15:15:56.9915|ERROR|IntifaceGameHapticsRouter.EasyHookMod|System.MissingMethodException: Method not found: void System.Runtime.Remoting.Channels.Ipc.IpcServerChannel..ctor(System.Collections.IDictionary,System.Runtime.Remoting.Channels.IServerChannelSinkProvider,System.Security.AccessControl.CommonSecurityDescriptor)
  at EasyHook.RemoteHooking.IpcCreateServer[TRemoteObject] (System.String& RefChannelName, System.Runtime.Remoting.WellKnownObjectMode InObjectMode, System.Security.Principal.WellKnownSidType[] InAllowedClientSIDs) [0x00000] in <8ffd8ce146cf492298132db433f4b221>:0 
  at IntifaceGameHapticsRouter.EasyHookMod.Attach[T] (System.Int32 aProcessId, System.String payloadName) [0x0000d] in <601c54e0359449bd89f290ca7fe51bba>:0 

I’ve now tried Deep Rock Galactic, which shows a different process: “ntoskml (148) (XInput)”

Unfortunately, I got pretty much the same error message:

2025-08-01 15:54:17.7674|INFO|IntifaceGameHapticsRouter.MainWindow|Application started.
2025-08-01 15:54:19.2274|DEBUG|IntifaceGameHapticsRouter.ModControl|ntoskrnl (148) (XInput)
2025-08-01 15:54:29.8923|INFO|IntifaceGameHapticsRouter.EasyHookMod|Attaching XInput Mod Payload
2025-08-01 15:54:29.8953|ERROR|IntifaceGameHapticsRouter.EasyHookMod|System.MissingMethodException: Method not found: void System.Runtime.Remoting.Channels.Ipc.IpcServerChannel..ctor(System.Collections.IDictionary,System.Runtime.Remoting.Channels.IServerChannelSinkProvider,System.Security.AccessControl.CommonSecurityDescriptor)
  at EasyHook.RemoteHooking.IpcCreateServer[TRemoteObject] (System.String& RefChannelName, System.Runtime.Remoting.WellKnownObjectMode InObjectMode, System.Security.Principal.WellKnownSidType[] InAllowedClientSIDs) [0x00000] in <8ffd8ce146cf492298132db433f4b221>:0 
  at IntifaceGameHapticsRouter.EasyHookMod.Attach[T] (System.Int32 aProcessId, System.String payloadName) [0x0000d] in <601c54e0359449bd89f290ca7fe51bba>:0

On top of that, after connecting to the process, all controller input for the game suddenly stopped working.