Meumeu / WiVRn

An OpenXR streaming application to a standalone headset
GNU General Public License v3.0
134 stars 22 forks source link

Unable to compile server #59

Closed Mesalon closed 1 month ago

Mesalon commented 2 months ago

Linux Mint 21.3, Kernel 6.5.0-28-generic AMD Ryzen 7 7800X3D 8-Core Processor × 8 AMD RX 7900XTX

Trying to compile WiVRn server build is nigh impossible, after fiddling for hours with dependencies, I give up.

/home/mesalon/WiVRn/common/vk/allocation.cpp: In static member function ‘static void basic_allocation_traits<VkBuffer_T*>::destroy(vk::raii::Buffer&, VmaAllocation, void*)’:
/home/mesalon/WiVRn/common/vk/allocation.cpp:53:44: error: ‘class vk::raii::Buffer’ has no member named ‘release’
   53 |         vmaDestroyBuffer(allocator, buffer.release(), allocation);
      |                                            ^~~~~~~
/home/mesalon/WiVRn/common/vk/allocation.cpp: In static member function ‘static void basic_allocation_traits<VkImage_T*>::destroy(vk::raii::Image&, VmaAllocation, void*)’:
/home/mesalon/WiVRn/common/vk/allocation.cpp:97:42: error: ‘class vk::raii::Image’ has no member named ‘release’
   97 |         vmaDestroyImage(allocator, image.release(), allocation);
      |                                          ^~~~~~~
make[2]: *** [common/CMakeFiles/wivrn-common.dir/build.make:104: common/CMakeFiles/wivrn-common.dir/vk/allocation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:812: common/CMakeFiles/wivrn-common.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

That's the last 2 errors I could get it down to.

PLEASE add a prebuilt release. I'm begging you.

xytovl commented 2 months ago

You need a newer version of vulkan headers, a check has been added in dfa74c2f985577067dbc12ac3b5f5e6419e56103.

I do not plan to publish prebuilt releases, as this should better be handled by packages from your distribution. As WiVRn is still rapidly evolving, a ppa could be appropriate, I am not an Ubuntu/Mint user myself and would not be able to maintain such ppa.

Mesalon commented 2 months ago

I was able to compile after installing a newer version of vulkan. I still urge you to provide a prebuilt copy in the release, it took me three days to get the program working, three days spent when it could have been run from the getgo. Why are you against it?

Mesalon commented 2 months ago

Nevermind, was able to compile but not run. There is no server executable like the guide might suggest upon being compiled. PLEASE

xytovl commented 2 months ago

Precompiled binaries that work across multiple distributions is not an easy task, and I do not wish to maintain such a solution.

There is a project to easy building and running VR runtimes: https://gitlab.com/gabmus/envision, but in previous testing, the appimage is unable to run WiVRn and the issue has not been fully investigated.

xytovl commented 1 month ago

Closing issue as precompiled binaries are not planned.

Some distributions have packages: AUR (Arch Linux) https://aur.archlinux.org/packages/wivrn-server Guru (Gentoo) https://gitweb.gentoo.org/repo/proj/guru.git/tree/media-libs/wivrn NixOS in progress: https://github.com/NixOS/nixpkgs/pull/299830