Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Overte with Wivrn on my laptop: segmentation fault #1267

Open
M0Rf30 opened this issue Dec 8, 2024 · 5 comments
Open

Using Overte with Wivrn on my laptop: segmentation fault #1267

M0Rf30 opened this issue Dec 8, 2024 · 5 comments
Labels
question Further information is requested

Comments

@M0Rf30
Copy link

M0Rf30 commented Dec 8, 2024

Hi and thanks for this great software. I'm trying to launch overte appimage using Wivrn.
I'm using

  • wivrn official flatpak 0.22
  • overte official appimage 2024.11.1

Wivrn is successfully connected to the Quest 3

This is what happens on Overte side
log.txt

Let me know if I can retrieve some other useful details

@M0Rf30 M0Rf30 changed the title Using overte with Wivrn: segmentation fault Using Overte with Wivrn on my laptop: segmentation fault Dec 8, 2024
@ksuprynowicz
Copy link
Member

What GPU and driver version do you have?
If Nvidia drivers, then are you using Vulkan layer described here?
https://lvra.gitlab.io/docs/hardware/

It looks like segfault is caused by Opencomposite failing to start. Opencomposite fails to create Vulkan instance, so this would also be really worth reporting to Opencomposite maintainers. Here's the relevant part of the log:

LOG in xrCreateInstance: Instance created
        createInfo->applicationInfo.applicationName: OpenComposite_interface
        createInfo->applicationInfo.applicationVersion: 1
        createInfo->applicationInfo.engineName:
        createInfo->applicationInfo.engineVersion: 0
        createInfo->applicationInfo.apiVersion: 1.0.12
        appinfo.detected.engine.name: (null)
        appinfo.detected.engine.version: 0.0.0
        quirks.disable_vulkan_format_depth_stencil: false
        quirks.no_validation_error_in_create_ref_space: true
        quirks.skip_end_session: false
        quirks.parallel_views: false

LOG in xrCreateInstance: Selected devices
        Head: 'WiVRn HMD'
        Eyes: '<none>'
        Left: 'WiVRn HMD left hand controller'
        Right: 'WiVRn HMD right hand controller'
        Gamepad: '<none>'
        Hand-Tracking Left: 'WiVRn HMD left hand controller'
        Hand-Tracking Right: 'WiVRn HMD right hand controller'
[OC] Config:226          Checking for app specific config file...
[OC] wini_parse:167      No config file found at /home/gianluca/opencomposite.ini
[OC] CheckAppEnabled:59          [once] Launcher configuration not yet supported on Linux
[OC] GetXRAppName:59     Setting application name to OpenComposite_interface
LOG in xrCreateInstance: Instance created
        createInfo->applicationInfo.applicationName: OpenComposite_interface
        createInfo->applicationInfo.applicationVersion: 1
        createInfo->applicationInfo.engineName:
        createInfo->applicationInfo.engineVersion: 0
        createInfo->applicationInfo.apiVersion: 1.0.12
        appinfo.detected.engine.name: (null)
        appinfo.detected.engine.version: 0.0.0
        quirks.disable_vulkan_format_depth_stencil: false
        quirks.no_validation_error_in_create_ref_space: true
        quirks.skip_end_session: false
        quirks.parallel_views: false

LOG in xrCreateInstance: Selected devices
        Head: 'WiVRn HMD'
        Eyes: '<none>'
        Left: 'WiVRn HMD left hand controller'
        Right: 'WiVRn HMD right hand controller'
        Gamepad: '<none>'
        Hand-Tracking Left: 'WiVRn HMD left hand controller'
        Hand-Tracking Right: 'WiVRn HMD right hand controller'
[OC] Config:226          Checking for app specific config file...
[OC] wini_parse:167      No config file found at /home/gianluca/opencomposite.ini
[OC] CheckAppEnabled:59          [once] Launcher configuration not yet supported on Linux
[OC] VR_InitInternal2:223        [once] Initializing OpenComposite - revision 34311da-dirty (Wrap calls involving cached views in a mutex, 2024-11-11)
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_binding_modification
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_composition_layer_cylinder
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_composition_layer_depth
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_composition_layer_equirect2
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_convert_timespec_time
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_locate_spaces
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_maintenance1
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_opengl_enable
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_opengl_es_enable
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_swapchain_usage_input_attachment_bit
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_visibility_mask
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_vulkan_enable
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_vulkan_enable2
[OC] CreateOpenXRBackend:149     Extension: XR_KHR_vulkan_swapchain_format_list
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_active_action_set_priority
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_dpad_binding
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_eye_gaze_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_hand_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_hand_tracking
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_hp_mixed_reality_controller
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_local_floor
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_palm_pose
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_samsung_odyssey_controller
[OC] CreateOpenXRBackend:149     Extension: XR_BD_controller_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_FB_face_tracking2
[OC] CreateOpenXRBackend:149     Extension: XR_FB_display_refresh_rate
[OC] CreateOpenXRBackend:149     Extension: XR_FB_touch_controller_pro
[OC] CreateOpenXRBackend:149     Extension: XR_FB_touch_controller_proximity
[OC] CreateOpenXRBackend:149     Extension: XR_META_touch_controller_plus
[OC] CreateOpenXRBackend:149     Extension: XR_ML_ml2_controller_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_MND_headless
[OC] CreateOpenXRBackend:149     Extension: XR_MND_swapchain_usage_input_attachment_bit
[OC] CreateOpenXRBackend:149     Extension: XR_MSFT_unbounded_reference_space
[OC] CreateOpenXRBackend:149     Extension: XR_OPPO_controller_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_EXTX_overlay
[OC] CreateOpenXRBackend:149     Extension: XR_HTC_vive_cosmos_controller_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_HTC_vive_focus3_controller_interaction
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_ball_on_a_stick_controller
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_egl_enable
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_force_feedback_curl
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_hydra
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_system_buttons
[OC] CreateOpenXRBackend:149     Extension: XR_MNDX_xdev_space
[OC] CreateOpenXRBackend:149     Extension: XR_EXT_debug_utils
[OC] CreateOpenXRBackend:154     Num layers available: 2
[OC] CreateOpenXRBackend:162     Layer: XR_APILAYER_LUNARG_api_dump
[OC] CreateOpenXRBackend:162     Layer: XR_APILAYER_LUNARG_core_validation
[OC] GetXRAppName:59     Setting application name to OpenComposite_interface
LOG in xrCreateInstance: Instance created
        createInfo->applicationInfo.applicationName: OpenComposite_interface
        createInfo->applicationInfo.applicationVersion: 1
        createInfo->applicationInfo.engineName:
        createInfo->applicationInfo.engineVersion: 0
        createInfo->applicationInfo.apiVersion: 1.0.0
        appinfo.detected.engine.name: (null)
        appinfo.detected.engine.version: 0.0.0
        quirks.disable_vulkan_format_depth_stencil: false
        quirks.no_validation_error_in_create_ref_space: true
        quirks.skip_end_session: false
        quirks.parallel_views: false

LOG in xrCreateInstance: Selected devices
        Head: 'WiVRn HMD'
        Eyes: '<none>'
        Left: 'WiVRn HMD left hand controller'
        Right: 'WiVRn HMD right hand controller'
        Gamepad: '<none>'
        Hand-Tracking Left: 'WiVRn HMD left hand controller'
        Hand-Tracking Right: 'WiVRn HMD right hand controller'
[OC] parseExtensionsStr:14       Str: VK_KHR_external_fence_capabilities VK_KHR_external_memory_capabilities VK_KHR_external_semaphore_capabilities VK_KHR_get_physical_device_properties2
[OC] parseExtensionsStr:30       Add extension: VK_KHR_external_fence_capabilities
[OC] parseExtensionsStr:30       Add extension: VK_KHR_external_memory_capabilities
[OC] parseExtensionsStr:30       Add extension: VK_KHR_external_semaphore_capabilities
[OC] parseExtensionsStr:30       Add extension: VK_KHR_get_physical_device_properties2
[OC] oovr_abort_raw_va:206       Abort!
[OC] TemporaryVk:62      Vulkan Call failed, aborting. /run/build/opencomposite/DrvOpenXR/tmp_gfx/TemporaryVk.cpp:62 TemporaryVk. Error code: -9
vkCreateInstance(&createInfo, nullptr, &instance)
zenity è /usr/bin/zenity
zenity: symbol lookup error: /usr/lib/libgobject-2.0.so.0: undefined symbol: g_pointer_bit_unlock_and_set
OOVR_MESSAGE: OpenComposite Error - info in log: Vulkan Call failed, aborting. /run/build/opencomposite/DrvOpenXR/tmp_gfx/TemporaryVk.cpp:62 TemporaryVk. Error code: -9
vkCreateInstance(&createInfo, nullptr, &instance)

@JulianGro
Copy link
Member

I am marking this as question, since this appears to be an issue with OpenComposite. Overte itself appears to be getting terminated by OpenComposite rather than crashing.

OOVR_MESSAGE: OpenComposite Error - info in log: Vulkan Call failed, aborting. /run/build/opencomposite/DrvOpenXR/tmp_gfx/TemporaryVk.cpp:62 TemporaryVk. Error code: -9
vkCreateInstance(&createInfo, nullptr, &instance)
fish: Job 1, '~/Scaricati/Overte-2024.11.1-x8…' terminated by signal SIGABRT (Abort)

Last time I tried OpenComposite myself, it didn't crash like this.
One thing you could try is to get WiVRn through Envision rather than Flatpak: https://gitlab.com/gabmus/envision/
That way we can rule out that Flatpak is causing problems.

@JulianGro JulianGro added the question Further information is requested label Dec 15, 2024
@ksuprynowicz
Copy link
Member

Ada has a temporary workaround for this. Quoting from Discord post:

the TemporaryVk crash in opencomposite is because it's trying to load a non-existent vulkan driver inside the appimage's libraries, you can work around it by extracting the appimage and modifying the LD_LIBRARY_PATH line in AppRun to also include your system /usr/lib64 directory (though with that it seems like it might also need qt5-webengine installed on your system?)

@M0Rf30
Copy link
Author

M0Rf30 commented Dec 15, 2024

Need to do other debug, what I can say is that I tried with latest overte commits compiled with nix and there's no segmentation fault, although the video is not correctly shown in the VR device. I will give other details in the next days

@M0Rf30
Copy link
Author

M0Rf30 commented Jan 3, 2025

I managed to run overte on meta quest 3 with wivrn, doing this

./Overte-2024.11.1-x86_64.AppImage --appimage-extract
cd squash-root
sed -i 's|LD_LIBRARY_PATH=\$curdir/usr/lib64|LD_LIBRARY_PATH=/usr/lib|' AppRun
./AppRun

Of course I have all the libraries required under /usr/lib

Amazing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants