gitextract_unk25vpb/ ├── .cargo/ │ └── config.toml ├── .clang-format ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.md │ ├── dependabot.yml │ └── workflows/ │ ├── prepare-release.yml │ ├── queue.yml │ ├── rust.yml │ ├── stale.yml │ └── wiki.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── about.toml ├── alvr/ │ ├── adb/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── commands.rs │ │ ├── lib.rs │ │ └── parse.rs │ ├── audio/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── linux.rs │ │ └── windows.rs │ ├── client_core/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build.rs │ │ ├── cbindgen.toml │ │ └── src/ │ │ ├── audio.rs │ │ ├── c_api.rs │ │ ├── connection.rs │ │ ├── lib.rs │ │ ├── logging_backend.rs │ │ ├── sockets.rs │ │ ├── statistics.rs │ │ ├── storage.rs │ │ └── video_decoder/ │ │ ├── android.rs │ │ └── mod.rs │ ├── client_mock/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── client_openxr/ │ │ ├── Cargo.toml │ │ ├── cbindgen.toml │ │ ├── resources/ │ │ │ ├── drawable/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ └── ic_launcher.xml │ │ │ └── values/ │ │ │ └── ic_launcher_background.xml │ │ └── src/ │ │ ├── c_api.rs │ │ ├── extra_extensions/ │ │ │ ├── body_tracking_bd.rs │ │ │ ├── body_tracking_fb.rs │ │ │ ├── eye_gaze_interaction.rs │ │ │ ├── eye_tracking_social.rs │ │ │ ├── face_tracking2_fb.rs │ │ │ ├── face_tracking_pico.rs │ │ │ ├── facial_tracking_htc.rs │ │ │ ├── mod.rs │ │ │ ├── motion_tracking_bd.rs │ │ │ ├── multimodal_input.rs │ │ │ ├── passthrough_fb.rs │ │ │ └── passthrough_htc.rs │ │ ├── graphics.rs │ │ ├── interaction.rs │ │ ├── lib.rs │ │ ├── lobby.rs │ │ ├── passthrough.rs │ │ └── stream.rs │ ├── common/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── average.rs │ │ ├── c_api.rs │ │ ├── connection_result.rs │ │ ├── inputs.rs │ │ ├── lib.rs │ │ ├── logging.rs │ │ ├── primitives.rs │ │ └── version.rs │ ├── dashboard/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ ├── dashboard/ │ │ │ ├── components/ │ │ │ │ ├── about.rs │ │ │ │ ├── debug.rs │ │ │ │ ├── devices.rs │ │ │ │ ├── installation.rs │ │ │ │ ├── logs.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── new_version_popup.rs │ │ │ │ ├── notifications.rs │ │ │ │ ├── settings.rs │ │ │ │ ├── settings_controls/ │ │ │ │ │ ├── array.rs │ │ │ │ │ ├── boolean.rs │ │ │ │ │ ├── choice.rs │ │ │ │ │ ├── collapsible.rs │ │ │ │ │ ├── dictionary.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── notice.rs │ │ │ │ │ ├── number.rs │ │ │ │ │ ├── optional.rs │ │ │ │ │ ├── presets/ │ │ │ │ │ │ ├── builtin_schema.rs │ │ │ │ │ │ ├── higher_order_choice.rs │ │ │ │ │ │ ├── mirror.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── schema.rs │ │ │ │ │ ├── reset.rs │ │ │ │ │ ├── section.rs │ │ │ │ │ ├── switch.rs │ │ │ │ │ ├── text.rs │ │ │ │ │ ├── up_down.rs │ │ │ │ │ └── vector.rs │ │ │ │ ├── setup_wizard.rs │ │ │ │ └── statistics.rs │ │ │ └── mod.rs │ │ ├── data_sources.rs │ │ ├── data_sources_wasm.rs │ │ ├── linux_checks.rs │ │ ├── logging_backend.rs │ │ ├── main.rs │ │ └── steamvr_launcher/ │ │ ├── linux_steamvr.rs │ │ ├── mod.rs │ │ └── windows_steamvr.rs │ ├── events/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── filesystem/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── lib.rs │ ├── graphics/ │ │ ├── Cargo.toml │ │ ├── resources/ │ │ │ ├── lobby_line.wgsl │ │ │ ├── lobby_quad.wgsl │ │ │ ├── staging_fragment.glsl │ │ │ ├── staging_vertex.glsl │ │ │ └── stream.wgsl │ │ └── src/ │ │ ├── lib.rs │ │ ├── lobby.rs │ │ ├── staging.rs │ │ └── stream.rs │ ├── gui_common/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── basic_components/ │ │ │ ├── button_group.rs │ │ │ ├── mod.rs │ │ │ ├── modal.rs │ │ │ └── switch.rs │ │ ├── lib.rs │ │ └── theme.rs │ ├── launcher/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── actions.rs │ │ ├── main.rs │ │ └── ui.rs │ ├── packets/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── server_core/ │ │ ├── Cargo.toml │ │ ├── cbindgen.toml │ │ └── src/ │ │ ├── bitrate.rs │ │ ├── c_api.rs │ │ ├── connection.rs │ │ ├── hand_gestures.rs │ │ ├── haptics.rs │ │ ├── input_mapping.rs │ │ ├── lib.rs │ │ ├── logging_backend.rs │ │ ├── sockets.rs │ │ ├── statistics.rs │ │ ├── tracking/ │ │ │ ├── body.rs │ │ │ ├── face.rs │ │ │ ├── mod.rs │ │ │ └── vmc.rs │ │ └── web_server.rs │ ├── server_io/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── firewall.rs │ │ ├── lib.rs │ │ ├── openvr_drivers.rs │ │ └── openvrpaths.rs │ ├── server_openvr/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── LICENSE-Valve │ │ ├── build.rs │ │ ├── cpp/ │ │ │ ├── ALVR-common/ │ │ │ │ ├── common-utils.cpp │ │ │ │ ├── common-utils.h │ │ │ │ ├── exception.cpp │ │ │ │ ├── exception.h │ │ │ │ └── packet_types.h │ │ │ ├── alvr_server/ │ │ │ │ ├── ChaperoneUpdater.cpp │ │ │ │ ├── Controller.cpp │ │ │ │ ├── Controller.h │ │ │ │ ├── FakeViveTracker.cpp │ │ │ │ ├── FakeViveTracker.h │ │ │ │ ├── HMD.cpp │ │ │ │ ├── HMD.h │ │ │ │ ├── IDRScheduler.cpp │ │ │ │ ├── IDRScheduler.h │ │ │ │ ├── Logger.cpp │ │ │ │ ├── Logger.h │ │ │ │ ├── NalParsing.cpp │ │ │ │ ├── Paths.cpp │ │ │ │ ├── Paths.h │ │ │ │ ├── PoseHistory.cpp │ │ │ │ ├── PoseHistory.h │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── TrackedDevice.cpp │ │ │ │ ├── TrackedDevice.h │ │ │ │ ├── Utils.h │ │ │ │ ├── ViveTrackerProxy.cpp │ │ │ │ ├── ViveTrackerProxy.h │ │ │ │ ├── alvr_server.cpp │ │ │ │ ├── bindings.h │ │ │ │ ├── driverlog.cpp │ │ │ │ ├── driverlog.h │ │ │ │ ├── include/ │ │ │ │ │ ├── openvr_math.h │ │ │ │ │ └── picojson.h │ │ │ │ ├── nvEncodeAPI.h │ │ │ │ ├── openvr_driver_wrap.h │ │ │ │ └── shader/ │ │ │ │ ├── ColorCorrectionPixelShader.hlsl │ │ │ │ ├── CompressAxisAlignedPixelShader.hlsl │ │ │ │ ├── FoveatedRendering.hlsli │ │ │ │ ├── FrameRender.fx │ │ │ │ ├── FrameRenderPS.hlsl │ │ │ │ ├── FrameRenderVS.hlsl │ │ │ │ └── rgbtoyuv420.hlsl │ │ │ ├── platform/ │ │ │ │ ├── linux/ │ │ │ │ │ ├── CEncoder.cpp │ │ │ │ │ ├── CEncoder.h │ │ │ │ │ ├── CrashHandler.cpp │ │ │ │ │ ├── EncodePipeline.cpp │ │ │ │ │ ├── EncodePipeline.h │ │ │ │ │ ├── EncodePipelineNvEnc.cpp │ │ │ │ │ ├── EncodePipelineNvEnc.h │ │ │ │ │ ├── EncodePipelineSW.cpp │ │ │ │ │ ├── EncodePipelineSW.h │ │ │ │ │ ├── EncodePipelineVAAPI.cpp │ │ │ │ │ ├── EncodePipelineVAAPI.h │ │ │ │ │ ├── FormatConverter.cpp │ │ │ │ │ ├── FormatConverter.h │ │ │ │ │ ├── FrameRender.cpp │ │ │ │ │ ├── FrameRender.h │ │ │ │ │ ├── Renderer.cpp │ │ │ │ │ ├── Renderer.h │ │ │ │ │ ├── ffmpeg_helper.cpp │ │ │ │ │ ├── ffmpeg_helper.h │ │ │ │ │ ├── protocol.h │ │ │ │ │ └── shader/ │ │ │ │ │ ├── color.comp │ │ │ │ │ ├── color.comp.spv │ │ │ │ │ ├── ffr.comp │ │ │ │ │ ├── ffr.comp.spv │ │ │ │ │ ├── quad.comp │ │ │ │ │ ├── quad.comp.spv │ │ │ │ │ ├── rgbtoyuv420.comp │ │ │ │ │ └── rgbtoyuv420.comp.spv │ │ │ │ ├── macos/ │ │ │ │ │ ├── CEncoder.h │ │ │ │ │ └── CrashHandler.cpp │ │ │ │ └── win32/ │ │ │ │ ├── CEncoder.cpp │ │ │ │ ├── CEncoder.h │ │ │ │ ├── ColorCorrectionPixelShader.cso │ │ │ │ ├── CompressAxisAlignedPixelShader.cso │ │ │ │ ├── CrashHandler.cpp │ │ │ │ ├── FFR.cpp │ │ │ │ ├── FFR.h │ │ │ │ ├── FrameRender.cpp │ │ │ │ ├── FrameRender.h │ │ │ │ ├── FrameRenderPS.cso │ │ │ │ ├── FrameRenderVS.cso │ │ │ │ ├── NvCodecUtils.h │ │ │ │ ├── NvEncoder.cpp │ │ │ │ ├── NvEncoder.h │ │ │ │ ├── NvEncoderD3D11.cpp │ │ │ │ ├── NvEncoderD3D11.h │ │ │ │ ├── OvrDirectModeComponent.cpp │ │ │ │ ├── OvrDirectModeComponent.h │ │ │ │ ├── QuadVertexShader.cso │ │ │ │ ├── VideoEncoder.cpp │ │ │ │ ├── VideoEncoder.h │ │ │ │ ├── VideoEncoderAMF.cpp │ │ │ │ ├── VideoEncoderAMF.h │ │ │ │ ├── VideoEncoderNVENC.cpp │ │ │ │ ├── VideoEncoderNVENC.h │ │ │ │ ├── VideoEncoderSW.cpp │ │ │ │ ├── VideoEncoderSW.h │ │ │ │ ├── VideoEncoderVPL.cpp │ │ │ │ ├── VideoEncoderVPL.h │ │ │ │ ├── d3d-render-utils/ │ │ │ │ │ ├── QuadVertexShader.hlsl │ │ │ │ │ ├── RenderPipeline.cpp │ │ │ │ │ ├── RenderPipeline.h │ │ │ │ │ ├── RenderPipelineYUV.cpp │ │ │ │ │ ├── RenderPipelineYUV.h │ │ │ │ │ ├── RenderUtils.cpp │ │ │ │ │ └── RenderUtils.h │ │ │ │ ├── rgbtoyuv420.cso │ │ │ │ └── shared/ │ │ │ │ ├── d3drender.cpp │ │ │ │ └── d3drender.h │ │ │ └── shared/ │ │ │ ├── amf/ │ │ │ │ └── public/ │ │ │ │ ├── common/ │ │ │ │ │ ├── AMFFactory.cpp │ │ │ │ │ ├── AMFFactory.h │ │ │ │ │ ├── AMFMath.h │ │ │ │ │ ├── AMFSTL.cpp │ │ │ │ │ ├── AMFSTL.h │ │ │ │ │ ├── ByteArray.h │ │ │ │ │ ├── CPUCaps.h │ │ │ │ │ ├── CurrentTimeImpl.cpp │ │ │ │ │ ├── CurrentTimeImpl.h │ │ │ │ │ ├── DataStream.h │ │ │ │ │ ├── DataStreamFactory.cpp │ │ │ │ │ ├── DataStreamFile.cpp │ │ │ │ │ ├── DataStreamFile.h │ │ │ │ │ ├── DataStreamMemory.cpp │ │ │ │ │ ├── DataStreamMemory.h │ │ │ │ │ ├── IOCapsImpl.cpp │ │ │ │ │ ├── IOCapsImpl.h │ │ │ │ │ ├── InterfaceImpl.h │ │ │ │ │ ├── ObservableImpl.h │ │ │ │ │ ├── PropertyStorageExImpl.cpp │ │ │ │ │ ├── PropertyStorageExImpl.h │ │ │ │ │ ├── PropertyStorageImpl.h │ │ │ │ │ ├── Thread.cpp │ │ │ │ │ ├── Thread.h │ │ │ │ │ ├── TraceAdapter.cpp │ │ │ │ │ ├── TraceAdapter.h │ │ │ │ │ └── Windows/ │ │ │ │ │ └── ThreadWindows.cpp │ │ │ │ └── include/ │ │ │ │ ├── components/ │ │ │ │ │ ├── Ambisonic2SRenderer.h │ │ │ │ │ ├── AudioCapture.h │ │ │ │ │ ├── Capture.h │ │ │ │ │ ├── ChromaKey.h │ │ │ │ │ ├── ColorSpace.h │ │ │ │ │ ├── Component.h │ │ │ │ │ ├── ComponentCaps.h │ │ │ │ │ ├── CursorCapture.h │ │ │ │ │ ├── DisplayCapture.h │ │ │ │ │ ├── FFMPEGAudioConverter.h │ │ │ │ │ ├── FFMPEGAudioDecoder.h │ │ │ │ │ ├── FFMPEGAudioEncoder.h │ │ │ │ │ ├── FFMPEGComponents.h │ │ │ │ │ ├── FFMPEGEncoderAV1.h │ │ │ │ │ ├── FFMPEGEncoderH264.h │ │ │ │ │ ├── FFMPEGEncoderHEVC.h │ │ │ │ │ ├── FFMPEGFileDemuxer.h │ │ │ │ │ ├── FFMPEGFileMuxer.h │ │ │ │ │ ├── FFMPEGVideoDecoder.h │ │ │ │ │ ├── FRC.h │ │ │ │ │ ├── HQScaler.h │ │ │ │ │ ├── MediaSource.h │ │ │ │ │ ├── PreAnalysis.h │ │ │ │ │ ├── PreProcessing.h │ │ │ │ │ ├── SupportedCodecs.h │ │ │ │ │ ├── VQEnhancer.h │ │ │ │ │ ├── VideoCapture.h │ │ │ │ │ ├── VideoConverter.h │ │ │ │ │ ├── VideoDecoderUVD.h │ │ │ │ │ ├── VideoEncoderAV1.h │ │ │ │ │ ├── VideoEncoderHEVC.h │ │ │ │ │ ├── VideoEncoderVCE.h │ │ │ │ │ ├── VideoStitch.h │ │ │ │ │ └── ZCamLiveStream.h │ │ │ │ └── core/ │ │ │ │ ├── AudioBuffer.h │ │ │ │ ├── Buffer.h │ │ │ │ ├── Compute.h │ │ │ │ ├── ComputeFactory.h │ │ │ │ ├── Context.h │ │ │ │ ├── CurrentTime.h │ │ │ │ ├── D3D12AMF.h │ │ │ │ ├── Data.h │ │ │ │ ├── Debug.h │ │ │ │ ├── Dump.h │ │ │ │ ├── Factory.h │ │ │ │ ├── Interface.h │ │ │ │ ├── Plane.h │ │ │ │ ├── Platform.h │ │ │ │ ├── PropertyStorage.h │ │ │ │ ├── PropertyStorageEx.h │ │ │ │ ├── Result.h │ │ │ │ ├── Surface.h │ │ │ │ ├── Trace.h │ │ │ │ ├── Variant.h │ │ │ │ ├── Version.h │ │ │ │ └── VulkanAMF.h │ │ │ ├── backward.cpp │ │ │ ├── backward.hpp │ │ │ ├── threadtools.cpp │ │ │ └── threadtools.h │ │ └── src/ │ │ ├── graphics.rs │ │ ├── lib.rs │ │ ├── props.rs │ │ └── tracking.rs │ ├── session/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── lib.rs │ │ └── settings.rs │ ├── sockets/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── control_socket.rs │ │ ├── lib.rs │ │ └── stream_socket/ │ │ ├── mod.rs │ │ ├── tcp.rs │ │ └── udp.rs │ ├── system_info/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── android.rs │ │ └── lib.rs │ ├── vrcompositor_wrapper/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── drm-lease-shim.cpp │ │ └── src/ │ │ └── main.rs │ ├── vulkan_layer/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build.rs │ │ ├── layer/ │ │ │ ├── alvr_x86_64.json │ │ │ ├── device_api.cpp │ │ │ ├── device_api.hpp │ │ │ ├── layer.cpp │ │ │ ├── layer.h │ │ │ ├── private_data.cpp │ │ │ ├── private_data.hpp │ │ │ ├── settings.cpp │ │ │ ├── settings.h │ │ │ ├── surface_api.cpp │ │ │ ├── surface_api.hpp │ │ │ ├── swapchain_api.cpp │ │ │ └── swapchain_api.hpp │ │ ├── src/ │ │ │ └── lib.rs │ │ ├── util/ │ │ │ ├── custom_allocator.cpp │ │ │ ├── custom_allocator.hpp │ │ │ ├── extension_list.cpp │ │ │ ├── extension_list.hpp │ │ │ ├── logger.cpp │ │ │ ├── logger.h │ │ │ ├── platform_set.hpp │ │ │ ├── pose.cpp │ │ │ ├── pose.hpp │ │ │ ├── timed_semaphore.cpp │ │ │ └── timed_semaphore.hpp │ │ └── wsi/ │ │ ├── display.cpp │ │ ├── display.hpp │ │ ├── headless/ │ │ │ ├── surface_properties.cpp │ │ │ ├── surface_properties.hpp │ │ │ ├── swapchain.cpp │ │ │ └── swapchain.hpp │ │ ├── surface_properties.hpp │ │ ├── swapchain_base.cpp │ │ ├── swapchain_base.hpp │ │ ├── wsi_factory.cpp │ │ └── wsi_factory.hpp │ └── xtask/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── build.rs │ ├── firewall/ │ │ ├── alvr-firewalld.xml │ │ ├── alvr_fw_config.sh │ │ └── ufw-alvr │ ├── flatpak/ │ │ ├── README.md │ │ ├── build_and_install.sh │ │ ├── com.valvesoftware.Steam.Utility.alvr.desktop │ │ ├── com.valvesoftware.Steam.Utility.alvr.json │ │ ├── run_with_adb_keys.sh │ │ └── setup_xdg_shortcut.sh │ ├── licenses_template.hbs │ ├── patches/ │ │ ├── 0001-Add-AV_VAAPI_DRIVER_QUIRK_HEVC_ENCODER_ALIGN_64_16-f.patch │ │ ├── 0001-av1-encode-backport.patch │ │ ├── 0001-clip-constants-used-with-shift-instr.patch │ │ ├── 0001-guid-conftest.patch │ │ ├── 0001-lavu-hwcontext_vulkan-Fix-importing-RGBx-frames-to-C.patch │ │ ├── 0001-update-rc-modes.patch │ │ ├── 0001-vaapi_encode-Add-filler_data-option.patch │ │ ├── 0001-vaapi_encode-Allow-to-dynamically-change-bitrate-and.patch │ │ ├── 0001-vaapi_encode-Enable-global-header.patch │ │ └── 0001-vaapi_encode_h265-Set-vui_parameters_present_flag.patch │ ├── resources/ │ │ ├── alvr.desktop │ │ └── driver.vrdrivermanifest │ └── src/ │ ├── build.rs │ ├── ci.rs │ ├── command.rs │ ├── dependencies.rs │ ├── format.rs │ ├── main.rs │ ├── packaging.rs │ └── version.rs └── wiki/ ├── ALVR-Checklist.md ├── ALVR-wired-setup-(ALVR-over-USB).md ├── Building-From-Source.md ├── Controller-latency.md ├── FFmpeg-Hardware-Encoding-Testing.md ├── Fixed-Foveated-Rendering-(FFR).md ├── Hand-tracking-controller-bindings.md ├── Headset-and-ALVR-streamer-on-separate-networks.md ├── Home.md ├── How-ALVR-works.md ├── Information-and-Recommendations.md ├── Installation-guide.md ├── Installing-ALVR-and-using-SteamVR-on-Linux-through-Flatpak.md ├── Linux-Troubleshooting.md ├── My-game-is-not-working-properly!-Help!.md ├── Other-resources.md ├── Real-time-video-upscaling-experiments.md ├── Roadmap.md ├── Settings-tutorial.md ├── Troubleshooting.md └── _Sidebar.md