maluoi / openxr-explorer Goto Github PK
View Code? Open in Web Editor NEWA cross-platform OpenXR capabilities explorer and runtime switcher with a CLI and GUI.
License: MIT License
A cross-platform OpenXR capabilities explorer and runtime switcher with a CLI and GUI.
License: MIT License
Changing the global runtime in the GUI fails when the application is not running as root. Please consider an update that uses some sort of privilege escalation technique (such as pkexec
) so the GUI does not need to run as root. The GUI locks up when you try changing the runtime as non-root.
hello,
recompiling the project, it fails on not finding ""C:\Data\Repositories\openxr-explorer\src\openxrexplorer\oxr-explorer-icon.ico" indicated in the project file : openxr-explorer\src\openxrexplorer\resource.rc
i changed to another (external ico file) and it works, but maybe you'd prefer to provided your own icon and fix the absolute path to this ICO file.
It should promot for UAC when installed system-wide when editing/creating runtimes.txt
This specification has not yet been implemented in any runtime, but it is expected to be supported in the future.
Please add a .desktop file for launching the application. Here is an example .desktop file and attached compatible icon based on the oxr-explorer-icon.ico. It was created with convert oxr-explorer-icon.ico openxr-explorer.png
.
openxr-explorer.desktop
[Desktop Entry]
Name=OpenXR Explorer
Comment=OpenXR explorer GUI
Type=Application
Exec=openxr-explorer
Icon=openxr-explorer
Terminal=false
gui works fine, but when giving an argument to invoke the cli, there is always a segfault
gdb -q --args build/openxr-explorer help
Reading symbols from build/openxr-explorer...
(gdb) r
Starting program: /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/build/openxr-explorer help
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bd42ca in glXCreateContext () from /usr/lib/libGLX.so.0
(gdb) bt
#0 0x00007ffff7bd42ca in glXCreateContext () from /usr/lib/libGLX.so.0
#1 0x00005555555cd2bf in gl_init_glx () at /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/src/openxrexplorer/imgui/sk_gpu.h:2503
#2 0x00005555555cd409 in skg_init (app_name=app_name@entry=0x555555607184 "OpenXR Explorer", adapter_id=adapter_id@entry=0x0) at /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/src/openxrexplorer/imgui/sk_gpu.h:2549
#3 0x000055555556372d in app_cli (arg_count=2, args=0x7fffffffd978) at /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/src/openxrexplorer/app_cli.cpp:31
#4 0x000055555555a559 in app_args (arg_count=<optimized out>, args=<optimized out>) at /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/src/openxrexplorer/main.cpp:35
#5 0x000055555555a38a in main (arg_count=<optimized out>, args=<optimized out>) at /home/haagch-collabora/openxr-explorer-git/src/openxr-explorer/src/openxrexplorer/imgui/imgui_skg.cpp:41
On Linux / Debian Sid when I run openxr-explorer from the console I usually/often get the following segfault with the Neo keyboard layout I'm using:
$ gdb openxr-explorer
...
(gdb) core core.dump
...
#0 0x000055c53e7f8da5 in ImGui_ImplX11_ProcessEvent (event=event@entry=0x55c53f5d67d0)
at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_impl_x11.cpp:466
466 io.KeysDown[k - 0xFF00] = 0;
[Current thread is 1 (Thread 0x7f22eb807740 (LWP 301445))]
(gdb) bt
#0 0x000055c53e7f8da5 in ImGui_ImplX11_ProcessEvent (event=event@entry=0x55c53f5d67d0)
at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_impl_x11.cpp:466
#1 0x000055c53e7f9768 in shell_loop (step=step@entry=0x55c53e7f8f30 <_FUN()>)
at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_skg.cpp:347
#2 0x000055c53e77f2d8 in main (arg_count=<optimized out>, args=<optimized out>)
at /home/linus/dev-priv/vr/openxr-explorer/openxr-explorer.git/src/openxrexplorer/imgui/imgui_skg.cpp:60
(gdb)
When I run openxr-explorer from the console with $ sleep 5; ./openxr-explorer
and make sure to release all keys before the 5 seconds are over then I get no crash.
Also, I only seem to get this crash with the German Neo2 keyboard layout and when using its alternative Enter key via a modifier key. Which is accessible by holding the AltGr key and then pressing the V key for instance on both an English QWERTY or a German QWERTZ keyboard (as shown in the picture at the top of the linked page, after clicking on "Ebene 4" = "Layer 4"). So the easiest way to reproduce is:
$ setxkbmap de neo
$ sleep 5; ./openxr-explorer
-> Execute with Neo's Enter via AltGr+V
-> release V, but keep holding AltGr
-> wait for the 5 seconds to pass and the openxr-explorer GUI to appear
-> release AltGr
-> openxr-explorer segfaults immediately
The openxr-explorer version I'm trying is the current Git main branch.
Edit:
I can also trigger this issue with a standard, typical German keyboard layout (Neo is more a niche thing):
$ setxkbmap de
$ sleep 5; ./openxr-explorer
-> Execute with Enter key, release before the 5 seconds finish
-> press & hold AltGr before the 5 seconds finish
-> wait for the 5 seconds to pass and the openxr-explorer GUI to appear
-> release AltGr
-> openxr-explorer segfaults immediately
However the same approach does not seem to crash with "setxkbmap us" instead of "setxkbmap de".
Pitool is an application that must be run in order to run a pimax headset in OpenXR. If I either open pitool with OpenXR Explorer open and attempt to reload runtime data, or start the explorer with Pitool already open, the explorer crashes. I see no pimax-related entry in my list of OpenXR runtimes otherwise. Loading runtime data with both the pitool and steamVR running (which is normal procedure) also produces a crash.
I'm new to the use of the openXR explorer, and this corner of development generally, I'm just trying to suss out a separate problem that also seemed related to my use of a pimax headset in a game project. I can't find any sort of logs or appdata for the explorer, so if there's any of that stuff you need please tell me where to find it.
Hi!
I followed the instruction sets for Windows 10 (x64):
mkdir build
cd build
cmake ..
cmake --build . --config Release --parallel 8
cd Release
openxr-explorer.exe
However, the openxr-explorer.exe
command opening the window, and instantly closing.
Layer source: https://github.com/KhronosGroup/OpenXR-SDK-Source/tree/main/src/api_layers
API dump until crash:
Because the OpenXR submodule has its own install target it gets installed too when installing openxr explorer
On Linux that's
Openxr-explorer saves and loads the runtimes from runtimes.txt
xrsetruntime loads the runtimes from xr_runtimes.txt
This is a problem when I try to switch between runtimes, because xrsetruntime is reading a different txt file and fails to set the runtime path.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.