Closed mnjm97 closed 2 months ago
Hi, you can get a list of requested extensions using RUST_LOG=debug
. Then check against the extensions listed by Vulkan (in the log you posted above) to find out what's missing.
What kind of driver are you using? I've seen similar from people trying to use NVK.
running with RUST_LOG=debug gives exact same output. I am on debian 12, xfce4 using the non-free Nvidia driver 550.54.15 on a rtx 2060s.
I am running monado with 'monado-service' in a terminal, when I try to launch wlx-overlay-s this is what I get in the monado terminal:
INFO [ipc_handle_instance_describe_client] Client info: id: 3 application_name: 'wlx-overlay-s' pid: 22353 extensions: ext_hand_tracking_enabled: false ext_eye_gaze_interaction_enabled: false ext_hand_interaction_enabled: false INFO [client_loop] Client disconnected.
try apply this on latest main:
diff --git a/src/graphics.rs b/src/graphics.rs
index cffe3bd..c619622 100644
--- a/src/graphics.rs
+++ b/src/graphics.rs
@@ -243,14 +243,7 @@ impl WlxGraphics {
.position(|(_, q)| q.queue_flags.intersects(QueueFlags::GRAPHICS))
.expect("Vulkan device has no graphics queue") as u32;
- let device_extensions = DeviceExtensions {
- khr_swapchain: true,
- khr_external_memory: true,
- khr_external_memory_fd: true,
- ext_external_memory_dma_buf: true,
- ext_image_drm_format_modifier: true,
- ..DeviceExtensions::empty()
- };
+ let device_extensions = DeviceExtensions::empty();
let device_extensions_raw = device_extensions
.into_iter()
OK, that seems to work now. however, all I get is a black screen.
check wrist for watch: https://github.com/galister/wlx-overlay-s?tab=readme-ov-file#the-watch
or double-tap b or y on left controller
oh, I don't have a watch or controllers. just keyboard, mouse and xreal glasses.
not sure if it'll be much value for you, then. when i tried with the xreal, i ended up just using my real monitor, since the glasses are transparent and all.
ah, so sorry. I misunderstood what this was for. I thought that it would project my desktop into the glasses in a vr environment.
ironically the best experience i had with the xreal was plugging it in and using as a monitor. the fov is sadly way too small for practical vr use. but you can try run vrchat on it or such.
nah, not really that into the vr stuff. I was mostly looking for a gimicky desktop.
I am sure I am doing something wrong but I can't figure it out. I tried the appimage as well as building from source.
RUST_BACKTRACE=full ./wlx-overlay-s Logging to: /tmp/wlx.log INFO [wlx_overlay_s] Welcome to wlx-overlay-s version 0.3.2! INFO [wlx_overlay_s] It is Sun Apr 14 13:55:28 2024. LOG in xrCreateInstance: Instance created createInfo->applicationInfo.applicationName: wlx-overlay-s createInfo->applicationInfo.applicationVersion: 0 createInfo->applicationInfo.engineName: wlx-overlay-s createInfo->applicationInfo.engineVersion: 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 LOG in xrCreateInstance: Selected devices Head: 'Nreal Air Glasses' Eyes: ''
Left: ''
Right: ''
Gamepad: ''
Hand-Tracking Left: ''
Hand-Tracking Right: ''
INFO [wlx_overlay_s::backend::openxr::helpers] Using OpenXR runtime: Monado(XRT) by Collabora et al 'v21.0.0-4304-g084dae3c' 21.0.0
INFO [wlx_overlay_s::backend::openxr] Using environment blend mode: OPAQUE
LOG in xrCreateVulkanInstanceKHR: Creation of VkInstance:
result: VK_SUCCESS
vulkanInstance: 0x55a47b798f30
extensions:
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
VK_EXT_debug_utils
INFO [wlx_overlay_s::graphics] Using vkPhysicalDevice: NVIDIA GeForce RTX 2060 SUPER
LOG in xrGetVulkanGraphicsDeviceKHR: Creation of VkDevice:
result: VK_ERROR_EXTENSION_NOT_PRESENT
vulkanDevice: 0x0
vulkanInstance: 0x55a47b798f30
external_fence_fd: true
external_semaphore_fd: true
timelineSemaphore: true
extensions:
VK_KHR_dedicated_allocation
VK_KHR_external_fence
VK_KHR_external_memory
VK_KHR_external_semaphore
VK_KHR_get_memory_requirements2
VK_KHR_external_memory_fd
VK_KHR_swapchain
VK_EXT_external_memory_dma_buf
VK_EXT_image_drm_format_modifier
VK_KHR_external_semaphore_fd
VK_KHR_external_fence_fd
VK_KHR_image_format_list
VK_KHR_timeline_semaphore
thread 'main' panicked at src/graphics.rs:301:18:
Vulkan error creating Vulkan device: ERROR_EXTENSION_NOT_PRESENT
stack backtrace:
0: 0x55a47a41dda6 - ::fmt::h410d4c66be4e37f9
1: 0x55a47a44b3b0 - core::fmt::write::he40921d4802ce2ac
2: 0x55a47a41ac1f - std::io::Write::write_fmt::h5de5a4e7037c9b20
3: 0x55a47a41db84 - std::sys_common::backtrace::print::h11c067a88e3bdb22
4: 0x55a47a41f257 - std::panicking::default_hook::{{closure}}::h8c832ecb03fde8ea
5: 0x55a47a41efb9 - std::panicking::default_hook::h1633e272b4150cf3
6: 0x55a47a41f6e8 - std::panicking::rust_panic_with_hook::hb164d19c0c1e71d4
7: 0x55a47a41f5c2 - std::panicking::begin_panic_handler::{{closure}}::h0369088c533c20e9
8: 0x55a47a41e2a6 - std::sys_common::backtrace::rust_end_short_backtrace::hc11d910daf35ac2e
9: 0x55a47a41f314 - rust_begin_unwind
10: 0x55a479ec76b5 - core::panicking::panic_fmt::ha6effc2775a0749c
11: 0x55a479ec7c03 - core::result::unwrap_failed::ha188096f98826595
12: 0x55a479f85fde - wlx_overlay_s::graphics::WlxGraphics::new_openxr::ha73114b6348ea252
13: 0x55a479f3351e - wlx_overlay_s::backend::openxr::openxr_run::h4c3d414342664b27
14: 0x55a479f0fea9 - wlx_overlay_s::main::h2af73d2c044a2635
15: 0x55a479f9d3f3 - std::sys_common::backtrace::rust_begin_short_backtrace::h91d6d1877081b7c7
16: 0x55a479f121a9 - std::rt::lang_start::{{closure}}::ha277efd1681ca73e
17: 0x55a47a412411 - std::rt::lang_start_internal::h4d236095b69a230b
18: 0x55a479f11ef5 - main
19: 0x7fa8c9ed824a -
20: 0x7fa8c9ed8305 - __libc_start_main
21: 0x55a479ec7f01 - _start
22: 0x0 -