Jump to content

Xbox controllers don't function on reconnect without restarting a game

I'm not entirely sure if this is the ideal section for this, but I thought it would fit here since it's Linux related. Basically, when I play games on Steam using Proton they work really well. I've been playing GTA V a lot, it really does run exceptionally well for me.

 

There's only one issue I have that can be bothersome. If my Xbox controller disconnects (such as when the batteries die), I can reconnect it, but I need to restart the game in order to have the controller function again. I'm wondering if anyone else has this issue too, and if there's a way to resolve it.

 

I'm running Arch Linux, and I'm using the latest version of Proton. I know restarting the game isn't a major issue, but it's not ideal, especially if you're playing online. I also know that the mouse and keyboard can be better for some games, but I personally like using a controller for a lot of games.

 

EDIT: It happens with an Xbox 360 controller using a wireless adapter, and also with an Xbox One controller over Bluetooth.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

Use a charger and leave it connected? Get a wired controller? Linux doesn't have "out of the box" support for xbox controllers so when you use software to use the controller and it disconnects the game still registers the "controller"(software) connected so you need to restart your controller software as well, see if that works, if it doesn't then usually restarting the game will more than likely be the only option other than using a wired one that won't die on you. You could also use Windows where it has native xbox controller support and more games, any gaming PC especially a nicer, newer one should run Windows. It's by far the best operating system for gaming and is the most compatible with the best selection of games. Gaming on Linux and Mac is just a hindrance in my opinion.

Main Desktop: CPU - i9-14900k | Mobo - Gigabyte Z690 Aorus Elite AX DDR4 | GPU - ASUS TUF Gaming OC RTX 4090 RAM - Corsair Vengeance Pro RGB 64GB 3600mhz | AIO - H150i Pro XT | PSU - Corsair RM1000X | Case - Phanteks P500A Digital - White | Storage - Samsung 970 Pro M.2 NVME SSD 512GB / Sabrent Rocket 1TB Nvme / Samsung 860 Evo Pro 500GB / Samsung 970 EVO Plus 2tb Nvme / Samsung 870 QVO 4TB  |

 

TV Streaming PC: Intel Nuc CPU - i7 8th Gen | RAM - 16GB DDR4 2666mhz | Storage - 256GB WD Black M.2 NVME SSD |

 

Phone: Samsung Galaxy Z Fold 4 - Phantom Black 512GB |

 

Link to comment
Share on other sites

Link to post
Share on other sites

Windows definitely is more ideal when it comes to gaming, but Linux gaming has really come a long way in the past year. I remember trying GTA last year and having a really low frame rate, along with some other issues. Now I get near native performance in the game, with the only issues being small ones like the controller issue.

 

My Xbox 360 controller actually does connect out of the box also, I don't run any additional software to use the controller. Proton seems to manage to use xinput, since the games actually pick up the controller as they would under Windows.

 

Since it's nothing too major, I could always just make sure to charge the batteries before I play, or just use the Xbox One controller wired. I was just wondering if it was anything that could be resolved, but I guess that's probably up to the Proton devs to fix in an update more than an actual Linux problem.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

Make sure your on the latest Proton Version. If you are I would report it to the proton github, It is probably a regression as a update was pushed awhile back to add support for adding controllers while in-game.

Link to comment
Share on other sites

Link to post
Share on other sites

I just installed Debian on a spare SSD, interestingly the problem is gone. I can now reconnect the controller without an issue. I wonder what's wrong with my Arch installation then that I can't, I knew I remembered playing Rayman Origins on Debian before and being able to reconnect my controller.

 

Anyway, it's not a proton problem then it seems, but I have no idea what's going on then.

 

EDIT: GTA V still has the same problem with disconnecting the controller, but it works on other games. It's also worth noting that GTA seems to freeze for a few seconds after disconnecting the controller on Arch, but this isn't happening on Debian. The game is also successfully exiting instead of steam saying "STOP" after the game is already closed, which is another problem I seem to have on Arch.

 

EDIT 2: I think the controller configuration under Steam was causing the issue in other games, as disabling it fixed those in Arch. GTA however still has the issue.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

GTA has had issues under Proton, for that particular title. If it's just in GTA, it may just be a matter of waiting for Proton to fix it. Last I checked GTA couldn't even properly save settings still, and nearly every update breaks proton support in some way.

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah I think it's probably just Proton related then. I tried it again on Rayman Origins since I happen to have it installed, the controller reconnects without any issues. It must just he a Proton bug that affects GTA.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

On the positive side, Steam focuses a lot on trying to keep GTA Functioning under Proton, we even get Proton updates just for that.

You could also try https://github.com/GloriousEggroll/proton-ge-custom

It's been really good about keeping GTA Working, may help in the controller issue, but idk.

I haven't played GTA in quite some time.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm actually using Proton GE for GTA, it's got some nice fixes for other games too it seems. The controller thing isn't a deal breaker for me, I was just wondering if others encountered it, and whether it could be fixed. I prefer to use Linux over Windows personally, I could dual boot Windows just to play games, but I'd rather just do everything on the one OS.

 

As I said, gaming on Linux has come a long way in the past couple of years, and Proton made a huge difference. It's at the stage where I'm pretty happy with how games perform on Linux, I don't really have any reason to use Windows anymore, I've grown to love the Linux OS.

 

EDIT: I also have an RX 5700 XT on the way, mainly because the open source mesa drivers on Linux are amazing for AMD GPUs.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

My 5700XT actually performs better under Linux with Proton most of the time than it does in Windows.

With your CPU and and the 5700XT I do recommend upgrading to mesa-git with llvm 11 and the TKG PDS Zen2 Linux Kernel.

Between the aco compiler and the above, my experience has been great, funnily its more stable than Windows lol.

I personally use the Chaotic Aur to get the above, so I don't have to keep recompiling everything. I know some Games, mainly ARK, throw a out of memory error. For some reason the TKG Kernel Builds fix that, I haven't dug into why yet.

 

If steam breaks which it does occasionally with mesa-git, i hop over to the mesa-aco builds temporarily.

RADV_PERFTEST=aco %COMMAND% in steams launch options for aco.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the info, I'll be sure to check those out. The GPU could be here tomorrow, if not it should be Monday.

 

I do remember when I had a Vega 64, I wanted to use Cemu to try out a Wii U game. The performance under Windows was horrible, but it was amazing under Linux. Mesa really is a really nice open source project, and it's actually funny how it's better than the official Windows AMD drivers lol.

 

AURs are really useful also, I haven't tried Chaotic-AUR, but I have tried one on Arch called yay.

 

I really like the direction Linux gaming is heading in, and I just feel much more comfortable using the OS in general lately.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

Just wanted to say my 5700XT arrived today. I switched to the PDS kernel, along with mesa-git. I have tested GTA in Windows to compare the framerate, unsurprisingly it crashed after a couple of minutes with a D3D error. The framerate was almost the same in Arch as Windows, with only the shadows seeming to have a negative effect on it. I put shadows down to high instead of very high and I can stay way over 60fps in 4K.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

So I only thought about something today regarding this issue. I remembered that xboxdrv was a thing, so I decided to test it so see if it made a difference.

 

I installed an AUR for xboxdrv, then unloaded and blacklisted the xpad module. I then ran xboxdrv in a terminal and confirmed that the driver was working. Then when I tested GTA, the controller could actually reconnect again.

 

Afterwards, I just ran "systemctl enable xboxdrv", so that xboxdrv would always load on startup. Now I actually have the controller working properly under Linux. The only thing is that the rumble doesn't seem to work under xboxdrv, but that's really not a big deal for me anyway.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

idk if it helps, but if its Xbox1 control, you can stick a phone charger matching the control in the usb port of your pc and try that. did it with injustice 1 under photon worked just fine. Word of warning: do not use the launcher option. thats how you get crashes.

main rig:

CPU: 8086k @ 4.00ghz-4.3 boost

PSU: 750 watt psu gold (Corsair rm750)

gpu:axle p106-100 6gbz msi p104-100 @ 1887+150mhz oc gpu clock, 10,012 memory clock*2(sli?) on prime w coffee lake igpu

Mobo: Z390 taichi ultimate

Ram: 2x8gb corsair vengence lpx @3000mhz speed

case: focus G black

OS: ubuntu 16.04.6, and umix 20.04

Cooler: mugen 5 rev b,

Storage: 860 evo 1tb/ 120 gb corsair force nvme 500

 

backup

8gb ram celeron laptop/860 evo 500gb

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Snowarch said:

idk if it helps, but if its Xbox1 control, you can stick a phone charger matching the control in the usb port of your pc and try that. did it with injustice 1 under photon worked just fine. Word of warning: do not use the launcher option. thats how you get crashes.

Launcher Option? You mean the one I posted above?

RADV_PERFTEST=aco %COMMAND%

I have never had a issue with it and it usually provides a large improvement. It should be set on a game by game basis anyways, if it doesn't work on a title, then remove it.

Your mesa and kernel version will make a difference as well when it comes to Navi and the aco compiler.

Otherwise I have no idea what launcher option your mentioning.

Link to comment
Share on other sites

Link to post
Share on other sites

For GTA I'm just using:

WINEDLLOVERRIDES=winedbg.exe=d %command%

Otherwise the game will crash as soon as you go online.

OS: LFS, Arch, Gentoo | CPU: AMD Ryzen 3700X | Motherboard: ASUS ROG STRIX B550-F | RAM: 16GB HyperX @ 3600MHz (OC)

GPU: XFX Thicc III Ultra RX 5700 XT | Case: Fractal Meshify C | Storage: 250GB Samsung 970 EVO NVMe, 500GB SATA SSD, 2TB HDD, 1TB HDD

PSU: BeQuiet 530W | Cooling: Arctic Liquid Freezer 240

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×