uglyDwarf / linuxtrack

Headtracking for Linux/Mac
MIT License
158 stars 29 forks source link

Wine plugin won't build despite configure can find all wine related libraries #204

Open 1312rene opened 7 months ago

1312rene commented 7 months ago

I tried running the binaries (from linuxtrack-0.99.19hid), but I ended up with unresolved opencv dependency. The ltr_gui did work, found my device and the tests there worked. However, after installing linuxtrack-wine.exe in my proton prefix and running it before my game (I use steamtinkerlaunch), the camera does show 2 green leds and the server app opens, but the game doesn't recognize trackIR. I tried this with various games running in proton (Elite Dangerous, IL2 BOS, Tiny Combat Arena, ROF United).

Seeing that several PRs were made to address various compatibility issues (e.g. qt5), I decided to build https://github.com/exuvo/linuxtrack from source. However, when building (mostly follow the steps from here), I run into a problem where whatever I do, configure seems to find all the wine-related packages but still doesn't pass the Wine plugin check.

Output from ./configure --with-wine-libs=-L/usr/lib/wine:

...
checking for linux/uinput.h... yes
checking for wine64... yes
checking for makensis... no
checking for XPLMPlugin.h... no
checking 64bit winegcc... yes
checking 64bit wineg++... yes
checking 32bit winegcc... yes
checking 32bit wineg++... yes
checking for OPENCV... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/pathconfig.h
config.status: creating src/mac/Makefile
config.status: creating src/mac/Info.plist
config.status: creating src/osc_server_mac/Makefile
config.status: creating src/osc_server_mac/OscServer-Info.plist
config.status: creating src/local_config.h
config.status: creating src/qt_gui/ltr_gui.pro
config.status: creating src/wii_server/wii_server.pro
config.status: creating src/wine_bridge/Makefile
config.status: creating src/wine_bridge/client/Makefile
config.status: creating src/wine_bridge/ft_client/Makefile
config.status: creating src/wine_bridge/controller/Makefile
config.status: creating src/wine_bridge/tester/Makefile
config.status: creating src/wine_bridge/ft_tester/Makefile
config.status: creating src/wine_bridge/tester/npview.rc
config.status: creating src/wine_bridge/ft_tester/fttester.rc
config.status: creating src/wine_bridge/views/Makefile
config.status: creating src/wine_bridge/ltr_wine64.nsi
config.status: creating src/wine_bridge/ltr_wine.nsi
config.status: creating doc/Makefile
config.status: creating src/linuxtrack.pc
config.status: creating src/mickey/mickey.pro
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing libtool commands
configure: ===============================================================
configure: ===                         Summary                         ===
configure: ===============================================================
checking Webcam support... yes
checking Wiimote support... no
checking TrackIR support... yes
checking Facetracker support... yes
checking XPlane plugin... no
checking Mickey... yes
checking Wine plugin... no
checking OSC support... yes

If I just go ahead and make/make install and re-use the linuxtrack-0.99.19hid controller-wine plugin, I have the same problem as with the prebuilt linuxtrack-0.99.19hid binaries: ltr_gui shows my TrackIR just fine (although installing the wine bridge is greyed out), the controller.exe opens, lights are green, but the games simply ignore any and all input from TrackIR.

I am unsure what is the problem. I would assume I need to use the controller-wine.exe from my own build and get the wine plugin to be enabled, but I can't get it to build it because of the above. On the other hand, I am unsure if the openCV compatibility issue is maybe still present or not. I am a bit lost on how to further troubleshoot, and if it even makes sense to continue looking at anything until the wine plugin issue fixes itself.

For what it's worth, I am building and running on a steam deck, so basically Arch.

uglyDwarf commented 7 months ago

Hello, as for the original problem, can you check inside of the proton prefix, looking for the Linuxtrack directory (probably in the Program Files (x86) directory) and see if there is TirViews.dll and the mfc42u.dll ? Also the binaries of the Game - do you know if they are 32 or 64 bit? I had Linuxtrack running in the IL-2 1946 (under Wine), which was 32 bit and it did work...

As for the second problem - the configure can't find the makensis; it is a part of the nsis package. Try installing it and it should allow the Wine plugin to be built.

Kind regards,

Michal