protonscr

`PROTON_ENABLE_HIDRAW` is not working since Proton 10.0-1 (Beta)

protonopen
ValveSoftware/Proton#8672 · opened 2025-05-09 by foriequal0 · updated 2026-09-28 · 13 comments · github
Fforiequal0 2025-05-09 github

I'm playing Dirt Rally 2.0

I'm using this launch command:

PROTON_ENABLE_HIDRAW=0x5229/0x6425,0x7698/0x6528 %command%

to use my SimJack shifter/handbrake:

> lsusb

Bus 001 Device 005: ID 7698:6528 FreeJoy simjack-SQL # handbrake
Bus 001 Device 014: ID 5229:6425 FreeJoy SIMJACK-HQB # shifter

It worked fine for some days ago on Proton Experimental branch (it was proton 10 based experimental),
but I noticed that it is not working anymore.
shifter is not recognized at all and handbrake is not recognized properly.

doesn't work:

  • Proton Hotfix (2025-05-09)
  • Proton Experimental (2025-05-09)
  • Proton 10.0-1 (beta) (2025-05-09)

works:

  • Proton Experimental, a few days ago.
  • Proton 9.0-4
  • GE-Proton9-27

I've tried PROTON_ENABLE_HIDRAW=1, but it the result is the same.

Kkakra 2025-05-09 github

Maybe it's a similar issue than mine with Elite Dangerous? https://github.com/ValveSoftware/Proton/issues/150#issuecomment-2849400921

BTW: I think PROTON_ENABLE_HIDRAW needs the device IDs instead of just a 1. But it's probably more useful is the device IDs from your devices would be added to the hidraw whitelist in wine-proton, similar to this one: https://github.com/ValveSoftware/wine/commit/c5a726e8a3ac20a242c27123abb4970c9a477dc7

Fforiequal0 2025-05-09 github

BTW: I think PROTON_ENABLE_HIDRAW needs the device IDs instead of just a 1. But it's probably more useful is the device IDs from your devices would be added to the hidraw whitelist in wine-proton, similar to this one: c5a726e

It seems to be reworked on proton_10.0 branch.

It used to be:
https://github.com/ValveSoftware/wine/blob/015230dc0f78a543032dea0907f6c97304b25ca3/dlls/winebus.sys/unixlib.c#L163-L165

but it is:
https://github.com/ValveSoftware/wine/blob/2553b5b162bd57b6c6a06fcba132d82ec937397e/dlls/winebus.sys/main.c#L487-L493

NNikiSkaarup 2025-05-12 github

can confirm both my thrustmaster farmsticks and logitech G29 stops working if I switch to the proton 10 beta

KKawazu0 2025-05-14 github

VKB Gladiator EVO completely stopped being detected with proton 10

(I'm using protontricks to confirm what I see in Elite dangerous and Windows forced American Truck Simulator)

FFB Wheel is always detected

/dev/input/event22: VKB-Sim © Alex Oz 2021 VKBsim Gladiator EVO L
/dev/input/event23: Thrustmaster Thrustmaster force feedback wheel

Kkakra 2025-05-14 github

Please run the game with PROTON_LOG=+hid,+setupapi,+plugplay %command% and post the Steam log in $HOME here to help Valve devs find the problem.

KKawazu0 2025-05-15 github

Please run the game with PROTON_LOG=+hid,+setupapi,+plugplay %command% and post the Steam log in $HOME here to help Valve devs find the problem.

The file is huge but as there are many errors, I let it as is. Given the error at start about vm.max_map_count, I've increased it to 262144 (32768MB / 128KB)

USB Joystick Id is 231D. I also unplugged and plugged it just before quitting.

best regards.

steam-359320.log

Nnschubach 2025-06-02 github

kakra mentioned this issue in another thread re: Virpil controllers. I'm having something similar to this. I have two of the same Virpil sticks (but left/right versions) that are detected and "work" as SDL controllers with HIDRAW IDs in Proton 9, but in Proton 10 it can only see my left stick.

Fforiequal0 2025-06-09 github

Proton GE (custom build of Proton) 10-3 release fixed this issue. (It's working)
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton10-3

This is the commit that included the patch
https://github.com/GloriousEggroll/proton-ge-custom/commit/1fa2f92b34d198481f9b30f043f05ae983326c2b

The original change:
https://github.com/Etaash-mathamsetty/wine-valve/commit/1c2f561d80d20fa770c5fd170b9100c94293792d

I assume that PROTON_DISABLE_HIDRAW environment variable set from Linux isn't available at that point?

Kkakra 2025-07-13 github

Proton failed again to detect my joysticks, and even the Xbox controller is gone...

@rbernon Why does Proton add my joystick via SDL according to logs?

176478.510:0094:00b8:trace:hid:sdl_add_device Making up serial number for Sim © Alex Oz 2021 VKBsim Gladiator EVO L: 03004fdd1d2300000102000011010000.0
176478.510:0094:00b8:trace:hid:sdl_add_device joystick id 0, axis_offset 0, desc {vid 231d, pid 0201, version 0111, input -1, uid 00000000, is_gamepad 1, is_hidraw 0, is_bluetooth 0}.

I've set SDL_GAMECONTROLLER_IGNORE_DEVICES=0x044F/0xB10A,0x044F/0xB687,0x231D/0x0200,0x231D/0x0201 but Proton seems to ignore that. Is this maybe filtered out by pressure-vessel?

If it does, maybe there is a race condition? Looking at the logs, the SDL bus seems to add the device before the HID driver adds it. I wonder if it sometimes works the other way around...

steam-359320.log.gz

PS: is_gamepad 1 is wrong anyways but that's probably an issue within SDL itself...

Tthibaultmol 2026-02-16 github

(as someone who's looking into buying a set of Virpil controllers) Is this issue fixed now or not?

HHungryHedgehog 2026-06-08 github

It still does not seem to work?

KKnifeOfDunwall 2026-09-20 github

I also have the issue of joysticks not being recognized, i tried various combinations between PROTON_ENABLE_HIDRAW, SDL_GAMECONTROLLER_IGNORE_DEVICES and SDL_JOYSTICK_HIDAPI=1. Ignore devices makes the device completely invisible while the rest just seem to not do anything, all get recognized as xinput. the only way to fix it was to manually go into the gamepad menu of the wine prefix and override xinput to dinput.

(easiest was protontricks, open wine cmd and then "control joy.cpl")

KKnifeOfDunwall 2026-09-28 github

I have found the solution. Linux in general does not allow HIDRAW access to devices so you have to add a udev rule to allow it. I used the following one, changing the vid and pid for each Device

KERNEL=="hidraw*", ATTRS{idVendor}=="VID", ATTRS{idProduct}=="PID", MODE="0666"