KhronosGroup / OpenXR-Tutorials

OpenXR Tutorials
https://www.openxr-tutorial.com/
Apache License 2.0
76 stars 15 forks source link

Unable to build on Linux #43

Closed wsherman64 closed 1 year ago

wsherman64 commented 1 year ago

I meant to make a formal submission, but just ran out of time. There are some issues with building the tutorial on Linux, and even more troublesome issues with running it -- at least for me. My apologizes for bunching this all in one issue, but it does all have to do with getting Chapter 2 to build and run on Linux.

First some issues with header files:

The only other issue with compiling is:

Unfortunately, when I then run "./OpenXRTutorialChapter2" it outputs the title of the tutorial, and then crashes on the line: const std::vector &supportSwapchainFormats = GetSupportedSwapchainFormats(); I'm not sure whether this is the cause of the error, but in gdb, I was given this information: (gdb) print supportSwapchainFormats $4 = std::vector of length -525420, capacity -525420 = {6620760227972, 962689011016, -8895937474100832024, -5437172960282474460, -4068641623515267036, -4519086758524671672, 6826918609914, -18360, [,,,]

A negative vector length seems like it could be a problem, but I don't know whether this is a cause or a symptom.

I tried a few more experiments:

And one final thought -- last week I was able to get version Chapter 2.1 to build and run, and connect to the Monado OpenXR runtime, so that's a slight regression, but I'm happen to take a step back if it ultimately means we get where we want.

rvkennedy commented 1 year ago

Thanks for the detailed feedback. We'll be revisiting the Linux build later in the week to address this.

wsherman64 commented 1 year ago

Great, thanks Roderick. I'll be on the road at SIGGRAPH next week, but I can certainly test whether the application builds, and at least get as far as running the app to see whether it crashes or not while away from my system.

rvkennedy commented 1 year ago

Hi @wsherman64 we've got the Linux version working. It's been tested for Chapters 4 and 5 on OpenGL and Vulkan with Monado (no hardware yet, just emulation). If you've time to take a look, please let me know how you get on.