Xbox Controller No Longer Recognised in Wine 3.5

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
lightstream
Level 1
Level 1
Posts: 5
Joined: Fri Apr 06, 2018 3:13 pm

Xbox Controller No Longer Recognised in Wine 3.5

Post by lightstream »

My Xbox controller no longer works in most Wine games since upgrading to Wine 3.5.

The games it doesn't work in that I've tried are Evolve Stage 2, Thief and Batman Arkham Asylum. It does however still work in Skyrim.

I rolled back to Wine 3.4 and the controller works as before. However I want 3.5 because of the Vulcan loader it includes.

I don't use xboxdrv, and the controller does appear in wine control just fine.

Not sure what to do next! Is anyone able to get controllers working in 3.5 using Wine's built-in support?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by Bob Wya »

@lightstream

I think you'd have to do a full regression test... See: WineHQ Wiki: Regression Testing.

There aren't any commits to winebus.sys in between release 3.4 and 3.5.
So nothing obvious going on there... :?

Bob
lightstream
Level 1
Level 1
Posts: 5
Joined: Fri Apr 06, 2018 3:13 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by lightstream »

Thanks Bob.

I've compiled the latest Wine from git, and good news - the controller is recognised there.

So either the issue has since been fixed, or my repo's wine package is configured differently in 3.5 than it was in 3.4.

I shall investiage some more!
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by Bob Wya »

lightstream wrote:Thanks Bob.

I've compiled the latest Wine from git, and good news - the controller is recognised there.

So either the issue has since been fixed, or my repo's wine package is configured differently in 3.5 than it was in 3.4.

I shall investiage some more!
I'm not sure what Linux distribution you're using.
But your issue is possibly due to a missing multilib libsdl2-dev dependency at build time or the multilib libsdl2-2.0-0 runtime dependency.

There is some oddities with recent WineHQ package builds - as they haven't been built with Vulkan support for example...
Not sure what's going on there - as the only required (Ubuntu) build-time dependency is the libvulkan-dev mutlilib library.
Probably just an out-of-date build script...

Bob
lightstream
Level 1
Level 1
Posts: 5
Joined: Fri Apr 06, 2018 3:13 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by lightstream »

Bob Wya wrote:I'm not sure what Linux distribution you're using.
I'm on Arch linux. One difference versus Ubuntu is that Arch includes the necessary header files with the main package, so extra build packages are not necessary.
Bob Wya wrote:But your issue is possibly due to a missing multilib libsdl2-dev dependency at build time or the multilib libsdl2-2.0-0 runtime dependency.
Funny you mention this. I didn't have the multilib SDL2 package installed at all when I did the upgrade that lost controller support. I installed it at the time in the hope it would help, but it didn't. SDL2 doesn't seem to be mentioned as a dependency for the Arch package, as far as I can tell from the build script. However I've not really looked at these build scripts before, and I might well be interpreting it wrong. Something I can find out on the Arch forums I suppose.
Bob Wya wrote:There is some oddities with recent WineHQ package builds - as they haven't been built with Vulkan support for example...
The Arch Wine 3.4 package was built without Vulkan support. I must admit I thought that was an oversight by the Arch package maintainer, but it also happened with WineHQ's own builds? Looking at the commit log for the build script I previously linked, I can see though that a second Wine 3.4 package was released, just to add Vulcan.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by Bob Wya »

lightstream wrote: Funny you mention this. I didn't have the multilib SDL2 package installed at all when I did the upgrade that lost controller support. I installed it at the time in the hope it would help, but it didn't. SDL2 doesn't seem to be mentioned as a dependency for the Arch package, as far as I can tell from the build script. However I've not really looked at these build scripts before, and I might well be interpreting it wrong. Something I can find out on the Arch forums I suppose.
I maintain the main working / up-to-date (cough) Gentoo app-emulation/wine* Overlay ebuilds (Gentoo build scripts).
So I poke about in the Wine configure script quite a bit - looking for changes and follow the wine-devel mailing list.

To fully enable the new controller support - that Aric Stewart has been working on - requires SDL2 support.
This work started landing in Wine 3.3.
The Arch PKGBUILD's for wine 3.3 - 3.5 are apparently missing both the makedepends build and optdepends runtime dependences...
lightstream wrote: The Arch Wine 3.4 package was built without Vulkan support. I must admit I thought that was an oversight by the Arch package maintainer, but it also happened with WineHQ's own builds? Looking at the commit log for the build script I previously linked, I can see though that a second Wine 3.4 package was released, just to add Vulcan.
Yeah I don't know the details about the WineHQ packages. Since I don't personally use them very much (being a Gentoo user).
There's a WineHQ Bug (WineHQ packages are built without Vulkan support) open about this support...
Obviously not very relevant to us! 8)

To be pedantic vulkan support landed in Wine 3.3 - but it wasn't actually functional at that point... :lol:

Bob
lightstream
Level 1
Level 1
Posts: 5
Joined: Fri Apr 06, 2018 3:13 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by lightstream »

Bob Wya wrote:To fully enable the new controller support - that Aric Stewart has been working on - requires SDL2 support.
This work started landing in Wine 3.3.
The Arch PKGBUILD's for wine 3.3 - 3.5 are apparently missing both the makedepends build and optdepends runtime dependences...
OK that's interesting, thanks. It is strange that Arch's Wine 3.4 has controller support, but it's absent in 3.5.

Obviously as SDL2 is not listed as a build dependency, if it's not present on the system when the package is built, it would just build it without support for features that require it, such as controllers.

I have no idea how packages are built - whether it is just done by the maintainer on their own machine, or by a more automated and controlled process for instance in a container on a special Arch build server. If the latter, then it would seem much less likely that SDL would be present when Wine 3.4 was built but not present when 3.5 was built.
lightstream
Level 1
Level 1
Posts: 5
Joined: Fri Apr 06, 2018 3:13 pm

Re: Xbox Controller No Longer Recognised in Wine 3.5

Post by lightstream »

So I've found out that Arch packages are built in a clean chroot, so there shouldn't ever be leftover packages hanging around. I've also found out how to see what other packages are installed when a package is built, and both Wine 3.4 and 3.5 were built with the exact same packages (neither having SDL 1 or 2).

The Arch Wine staging package is however built with SDL2 present, as are various other additional packages.

I was pretty sure the controller was working in standard Wine 3.4, but it's possible I mixed that up with Wine staging 3.4. I will have to check this when I'm back at home.
Locked