uglyDwarf / linuxtrack

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

Update, has this been abadoned? #189

Open Freejack01 opened 2 years ago

Freejack01 commented 2 years ago

This really needs to be updated for most Linux versions. There is a huge group of gamers that would love this for Star Citizen, Falcon BMS, Elite Dangerous and I know there are other games out there players would love to have this for.

sigzegv commented 2 years ago

looks like it is abandonned, but lastest version still works in either game handled by wine. (I'm currently using it on DCS with Archlinux)

Freejack01 commented 2 years ago

Problem is, in current ubuntu derivatives it will not compile or install due to missing/out dated dependencies. That is why I was asking about it.

Simple Tech Solutions IT Security and Data Management Linux OS, Apple OS, Microsoft OS

Phone: (518)832-9892 Cell: (205)504-0377

Apr 5, 2022 6:39:27 AM sigzegv @.***>:

looks like it is abandonned, but lastest version still works in either game handled by wine. (I'm currently using it on DCS with Archlinux)

— Reply to this email directly, view it on GitHub[https://github.com/uglyDwarf/linuxtrack/issues/189#issuecomment-1088542966], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AXT2PIIQG2WB3K3BQOVVGVTVDQJ5PANCNFSM5SN23FJA]. You are receiving this because you authored the thread.[Tracking image][https://github.com/notifications/beacon/AXT2PIMKLTIREIRDZ2R7LCDVDQJ5PA5CNFSM5SN23FJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOIDQ5R5Q.gif]

sigzegv commented 2 years ago

You don't need to recompile it, just use the precompiled universal package https://github.com/uglyDwarf/linuxtrack/wiki/Downloads. In some cases you won't be able to use the gui (because it's old QT4) but you can install the wine dependencies by directly installing linuxtrack-wine.exe (located in share/linuxtrack/ in the universal package) in your wine prefix, and then you trackIR will work. Then you will be able to use term app ltr_recenter to recenter your TIR. (just bind it to a keyboard shortcut)

uglyDwarf commented 2 years ago

Hello guys, I didn't abandon the project - just as kids grow older, my free time is more and more limited. I'll try and see if I can come up with some more uptodate universal package. Kind regards,

Michal

erinarbleizez commented 2 years ago

thanks for the news ^^

for the current universal package, I confirm it no longer work on manjaro: installing only wine elf binary is not enough and ltr_pipe refuse to launch and ask to use ltr_gui which we can't because of the QT4 situation. I managed to make it work by using an old ubuntu 18.04 docker which have QT4 but it's far from perfect because it means mounting sensitive system directory inside the docker which is completely outdated...

CmdrHope commented 2 years ago

Great to see you're still around, Michal! I think some polishing on Linuxtrack would be greatly appreciated.

Regarding the problem of @Freejack01 : after several day of try and error (I'm more or less a Linux Noob) I managed to get a (mostly) working build of Linuxtrack on the current Ubuntu 22.04. I did the following on a fresh install in a VM and used the fork by exuvo which already contains the pull requests #166 #167 and #182.

mkdir -p $HOME/Code cd $HOME/Code/ wget -nc https://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK303.zip unzip XPSDK303.zip sudo dpkg --add-architecture i386 wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo mv winehq.key /usr/share/keyrings/winehq-archive.key wget -nc https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources sudo mv winehq-jammy.sources /etc/apt/sources.list.d/ sudo apt update sudo apt install --install-recommends -y winehq-devel wine-devel-dev git checkinstall build-essential automake bison gawk flex gcc-multilib g++-multilib gobjc gobjc++ libmxml-dev libssl-dev libusb-1.0-0-dev libcwiid-dev libopencv-dev libv4l-dev libqt5opengl5-dev libqt5webkit5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools nsis git clone https://github.com/exuvo/linuxtrack.git cd linuxtrack/ aclocal autoupdate autoconf automake ./configure --prefix=$HOME/linuxtrack --with-xplane-sdk=$HOME/Code/SDK/CHeaders --with-wine-libs=-L/opt/wine-devel/bin make make install sudo cp $HOME/linuxtrack/share/linuxtrack/99-TIR.rules /lib/udev/rules.d

After a reboot I could connect my TrackIR 5, run Linuxtrack and it seems to work like a charm. Next step for me would be to adapt the procedure for my preferred Linux Mint and then getting it to work with Elite Dangerous.

vranki commented 2 years ago

@uglyDwarf maybe you could consider adding @exuvo as a contributor to this repository? I'd really like to see the project continuing instead of being forked to be useful. According to previous comments the new PR's work fine.

jaspi72 commented 2 years ago

Great to see you're still around, Michal! I think some polishing on Linuxtrack would be greatly appreciated.

Regarding the problem of @Freejack01 : after several day of try and error (I'm more or less a Linux Noob) I managed to get a (mostly) working build of Linuxtrack on the current Ubuntu 22.04. I did the following on a fresh install in a VM and used the fork by exuvo which already contains the pull requests #166 #167 and #182.

mkdir -p $HOME/Code cd $HOME/Code/ wget -nc https://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK303.zip unzip XPSDK303.zip sudo dpkg --add-architecture i386 wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo mv winehq.key /usr/share/keyrings/winehq-archive.key wget -nc https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources sudo mv winehq-jammy.sources /etc/apt/sources.list.d/ sudo apt update sudo apt install --install-recommends -y winehq-devel wine-devel-dev git checkinstall build-essential automake bison gawk flex gcc-multilib g++-multilib gobjc gobjc++ libmxml-dev libssl-dev libusb-1.0-0-dev libcwiid-dev libopencv-dev libv4l-dev libqt5opengl5-dev libqt5webkit5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools nsis git clone https://github.com/exuvo/linuxtrack.git cd linuxtrack/ aclocal autoupdate autoconf automake ./configure --prefix=$HOME/linuxtrack --with-xplane-sdk=$HOME/Code/SDK/CHeaders --with-wine-libs=-L/opt/wine-devel/bin make make install sudo cp $HOME/linuxtrack/share/linuxtrack/99-TIR.rules /lib/udev/rules.d

After a reboot I could connect my TrackIR 5, run Linuxtrack and it seems to work like a charm. Next step for me would be to adapt the procedure for my preferred Linux Mint and then getting it to work with Elite Dangerous.

Damn nice work thx! 1st time suxxess on compiling linuxtrack on my linux :) Im total noob on linux and want to get this linuxtrack work. I have trackir5 and it works on windows but i start to hate windows. I need headtracking on steam games but cant get this to work as dont know what to do. Can someone do guide making linuxtrack working on steam games. Linuxtrack works thx to [CmdrHope] ;) Now i need to get virtual joystic work or what with games?

CmdrHope commented 2 years ago

I can't provide a complete guide, but I can try to explain the tricky part of my procedure to get Linuxtrack working with Elite Dangerous and Steam/Proton. Since the "Install Linuxtrack-Wine support" option of the ltr_gui app doesn't work for me, I needed to manually install the Linuxtrack-Wine part into the Proton prefix of the game. This required me to run linuxtrack-wine.exe inside the Proton prefix of the game. This can be be done with a quite lengthy terminal command. The command is env which needs to set several path variables and call proton to run the specified .exe. For my specific case the command looks like: env STEAM_COMPAT_CLIENT_INSTALL_PATH=$HOME/.steam STEAM_COMPAT_DATA_PATH=$HOME/.steam/steam/steamapps/compatdata/359320 WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/359320/pfx LD_LIBRARY_PATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib WINEDLLPATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine PATH=${PATH}:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton run $HOME/linuxtrack/share/linuxtrack/linuxtrack-wine.exe The actual paths are individual to everyones system, game and used Proton version, so simple copy and paste won't work. For example 359320 is the number Steam associates with Elite Dangerous, other games have other numbers and 7.0 is the Proton version Number I am using with Elite. After the Linuxtrack-Wine support is installed, the game needs to be started and the Controller.exe needs to be run. In my case the command looks like: env STEAM_COMPAT_CLIENT_INSTALL_PATH=$HOME/.steam STEAM_COMPAT_DATA_PATH=$HOME/.steam/steam/steamapps/compatdata/359320 WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/359320/pfx LD_LIBRARY_PATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib WINEDLLPATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine PATH=${PATH}:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton run "$HOME/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/Program Files (x86)/Linuxtrack/Controller.exe" Controller.exe allows to set hotkeys for pause and recenter. Then I can switch to the game and start using my TrackIR 5. Because the command is quite long, I recommend to create a shellskript for it.

jaspi72 commented 2 years ago

For my specific case the command looks like: `env STEAM_COMPAT_CLIENT_INSTALL_PATH=$HOME/.steam STEAM_COMPAT_DATA_PATH=$HOME/.steam/steam/steamapps/compatdata/359320 WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/359320/pfx LD_LIBRARY_PATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib WINEDLLPATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine PATH=${PATH}:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton

Thanx for help.. I tryed this way and proton is asking wheres compat data path?? :) steam app is war thunder..

STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/jaspi/.steam jaspi@jaspi-gamingFeren:~$ STEAM_COMPAT_DATA_PATH=/home/jaspi/.steam/steam/steamapps/compatdata/236390 jaspi@jaspi-gamingFeren:~$ WINEPREFIX=/home/jaspi/.steam/steam/steamapps/compatdata/236390/pfx jaspi@jaspi-gamingFeren:~$ LD_LIBRARY_PATH=/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib jaspi@jaspi-gamingFeren:~$ WINEDLLPATH=/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine jaspi@jaspi-gamingFeren:~$ PATH=${PATH}:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton Proton: No compat data path?

exuvo commented 2 years ago

You need to put everything on the same line or use 'export' ex 'export ENV_VAR_NAME=testValue', otherwise the earlier environment values are only set for that very same line and never reach proton in the last command.

berniyh commented 1 year ago

Maybe it would be a good idea to drop the Wiimote support? Because with that and the pull requests merged, I think you get rid of most outdated dependencies. Wiimote support needs cwiid, which needs python 2.

berniyh commented 1 year ago

For my specific case the command looks like: `env STEAM_COMPAT_CLIENT_INSTALL_PATH=$HOME/.steam STEAM_COMPAT_DATA_PATH=$HOME/.steam/steam/steamapps/compatdata/359320 WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/359320/pfx LD_LIBRARY_PATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib WINEDLLPATH=$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine PATH=${PATH}:$HOME/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton

Thanx for help.. I tryed this way and proton is asking wheres compat data path?? :) steam app is war thunder..

STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/jaspi/.steam jaspi@jaspi-gamingFeren:~$ STEAM_COMPAT_DATA_PATH=/home/jaspi/.steam/steam/steamapps/compatdata/236390 jaspi@jaspi-gamingFeren:~$ WINEPREFIX=/home/jaspi/.steam/steam/steamapps/compatdata/236390/pfx jaspi@jaspi-gamingFeren:~$ LD_LIBRARY_PATH=/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib jaspi@jaspi-gamingFeren:~$ WINEDLLPATH=/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib64/wine:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/lib/wine jaspi@jaspi-gamingFeren:~$ PATH=${PATH}:/home/jaspi/.steam/steam/steamapps/common/Proton\ 7.0/dist/bin $HOME/.steam/steam/steamapps/common/Proton\ 7.0/proton Proton: No compat data path?

I don't think the approach to run it this way works with newer Proton versions. What I did is use steamtinkerlaunch. In that you can specify a program that should be run before the actual game started, which is how I got both linuxtrack and the game run in the same Proton prefix (and thus the game recognizing the tracking support). Just set a custom command there and select "Fork custom command", which means to run the custom command in the background and continue with the normal game start.

Regarding the install, imo it's the easiest to just fire up protontricks --gui for the game to get the proper winetricks and in winetricks select "Select the default wineprefix" and then "Run explorer". Navigate to the linux track wine plugin and install it. In any case, this way, you don't need to mess around with the variables. ;)

Personally, I'm not a big fan of steamtinkerlaunch, I think the UI is a huge effin mess. But in this case, it was the only solution I got working with newer proton versions.

berniyh commented 1 year ago

Then you will be able to use term app ltr_recenter to recenter your TIR. (just bind it to a keyboard shortcut)

btw, it shouldn't be too much work to do some similar app ltr_pause to call suspend and wakeup, right? I might give that a try myself actually, but with my very limited knowledge of C it'll take a while.