UPDATE Ignore all of this. Install envision.
https://gitlab.com/gabmus/envision
some of this still applies but you can pretty much ignore the builds. Envision does it for you.
UPDATED for Kubuntu 24.04
Plasma X11. No wayland. I had way too many issues with wayland to want to even bother, even before vr setup.
Losely based on this
https://gitlab.freedesktop.org/monado/webpage/-/merge_requests/41/diffs
This is what I had to do to get my vr to work.
First install video Drivers.
I have an Nvidia RTX 2060, so I've installed the latest proprietary drivers from ubuntu. nvidia 550.67 I think. Manual installed via terminal as it's not included in additional drivers. I decided to just skip 535, as my previous install had bugs that were solved by updating the driver, so didn't even bother with 535 this time around. You can google if you don't know how... it's easy (if you can't save xorg.conf, google "nvidia polkit")
Also had steam, bottles, and wine installed and working before I started any of this, so you may want to start there. Steam with steams deb, and wine installed both in flatpak for bottles and i386 arch (dpkg --add-architecture i386) winehq stable does not appear to have a package yet for 24.04, and so installed staging. that didn't quite work, it seems, so did a sudo apt install wine, which seems to have done something funny to staging, but I dunno. it's working, so don't really care.
Then install these:
sudo apt install cmake ninja-build build-essential git wget unzip libeigen3-dev curl patch python3 pkg-config libx11-dev libx11-xcb-dev libxxf86vm-dev libxrandr-dev libxcb-randr0-dev libvulkan-dev glslang-tools libglvnd-dev libgl1-mesa-dev ca-certificates libusb-1.0-0-dev libudev-dev libhidapi-dev libwayland-dev libuvc-dev libavcodec-dev libopencv-dev libv4l-dev libcjson-dev libsdl2-dev libegl1-mesa-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libbluetooth-dev libsystemd-dev xr-hardware libtbb-dev libglew-dev libpng-dev liblz4-dev libbz2-dev libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-date-time-dev libboost-program-options-dev libboost-serialization-dev libgtest-dev libfmt-dev libuvc-dev mesa-common-dev libxxf86vm-dev libxcb-randr0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-glx0-dev libxcb-dri2-0-dev libx11-xcb-dev libvulkan-dev libgl1-mesa-dev python3 vulkan-tools libvulkan1 doxygen libopenvr-dev
OpenXR-SDK
OpenXR-SDK compiled built in packages on kubuntu 24.04 so this wasn't needed. Leaving for just in case.
BASALT
and now 6dof works? either way, my terminology may be wrong, but it's good.
Edit these 2 files
nano thirdparty/Pangolin/include/pangolin/log/packetstream_tags.h
^^Add this line under the first #include to both these files
#include <cstdint>
./scripts/install_deps.sh
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBASALT_BUILD_SHARED_LIBRARY_ONLY=on
or
OpenHMD
https://github.com/OpenHMD/OpenHMD
Monado
Download and compile/install Monado
git clone https://gitlab.freedesktop.org/monado/monado.git
cd monado/
cmake -G Ninja -B build -DCMAKE_INSTALL_PREFIX=/usr
sudo ninja -C build install
create /etc/X11/xorg.conf.d/99-HMD.conf and insert this into contents
sudo nano /etc/X11/xorg.conf.d/99-HMD.conf
Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "AllowHMD" "yes"
EndSection
xrandr --output HDMI-0 --prop --set non-desktop 1
now run monado-service with your headset plugged in and you should get a grey output on the goggles. you should see in the terminal
press enter to exit monado-service(DO NOT CTRL X Z OR C YOU WILL EITHER HAVE TO KILL THE PROCESS OR REBOOT)
A bit about this xrandr command. I could make this load on login, but I run multiple monitors and my hdmi port uses one, so I switch it. also, I don't leave my headset plugged in, to save it's life. even plugged in and off, it's warm, so I leave it unplugged when not using, and then run this when I plug in, and test with monado-service.
check the man page for info on this line as well, as you will have a different setup than mine, and your variables will be different.
My full xrandr line denotes all 3 monitors and my headset like this
xrandr --output DP-5 --pos 0x0 --mode 1920x1080 --primary --output DP-1 --pos 1920x0 --mode 1680x1050 --output DP-3 --pos 3600x0 --mode 1920x1080 --scale 0.5x0.5 --output HDMI-0 --prop --set non-desktop 1
Install Steam and devices(again, lots of how tos on this)
steampowered.com download and install the deb.
I first installed steam, and configured with proton experimental before I even started doing this install. (along with bottles and wine) so you may want to make sure that steam is just working before starting this how to.
log in, and install steamvr
Also I ran steam in a terminal, so I could check output for troubleshooting. You can also got to .steam/steam/logs/ vrmonitor.txt and vrserver.txt are really useful if you have issues.
Libcurl is installed with steam, and it's corrupt? incorrect? dunno... link it to actual, and all works fine.(i've been told this isn't proper, but really don't care since it seems to work....if devs want things proper, maybe they should include a script that corrects the issue? or tell it to valve, not a user who just want's his shit to work....)
cd /home/$USER/.steam/steam/ubuntu12_32/steam-runtime/pinned_libs_64
mv libcurl.so.4 libcurl.so.4.bak
ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4 libcurl.so.4
Then,
~/.steam/steam/steamapps/common/SteamVR/bin/vrpathreg.sh adddriver /usr/share/steamvr-monado
something else is wrong here, but once I do this, instead of launching steamvr,
cd ~/.steam/steam/steamapps/common/SteamVR/bin
and run
./vrmonitor.sh
that'll launch something, set up stand or sit down, and then launch your game. works, but don't know how or why, as I'm having issues with steamvr...
This works with multiple monitors. Maybe older versions had issues, but this did not.
No comments:
Post a Comment