Skip to content

Commit

Permalink
Add OpenXR client and recentering modes 🎉 (#1321)
Browse files Browse the repository at this point in the history
* Add OpenXR client

* Recreate xr session if LOSS_PENDING

* Render stream conditionally

* Reduce video stream jumps

* Add Platform variable to match platform specific features

* Avoid crashes in the input thread

* Use sRGB throughout the client compositor

This does not fix gamma on the Quest

* Fix gamma on the Quest; fix invalid views pose crash

* Pico4 support (#1401)

* rustfmt

* Pico: squeeze and trigger click (#1404)

* Fix windows check

* mark input events unhandled (#1409)

* Fix sRGB correction (#1407)

* Small refactoring

* Try fix time related crashes

* Refactoring; get supported resolutions

* Add Pose; more refactoring

* Fix hand tracking

* Prepare for playspace sync; misc refactoring

* Move tracking transformations to Rust

* Add position and rotation recentering modes

* Support release and distribution client builds

* Update workflows

* Remove Android Studio project

* Bump

* Update README

---------

Co-authored-by: galister <22305755+galister@users.noreply.github.com>
  • Loading branch information
zarik5 and galister committed Feb 1, 2023
1 parent 7573a0a commit 23c584f
Show file tree
Hide file tree
Showing 81 changed files with 2,822 additions and 7,685 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ jobs:
env:
RUST_BACKTRACE: 1
run: |
cargo xtask package-server --local-ffmpeg
cargo xtask package-server
- name: Upload server for Linux
uses: actions/upload-release-asset@v1
env:
Expand All @@ -161,7 +161,7 @@ jobs:
env:
RUST_BACKTRACE: 1
run: |
cargo xtask package-server --gpl --appimage --zsync
cargo xtask package-server --appimage --zsync
- name: Upload portable server for Linux
uses: actions/upload-release-asset@v1
env:
Expand All @@ -181,7 +181,7 @@ jobs:
asset_name: ALVR-x86_64.AppImage.zsync
asset_content_type: application/octet-stream

build_quest_client:
build_android_client:
runs-on: ubuntu-latest
needs: [prepare_release]
steps:
Expand All @@ -200,7 +200,7 @@ jobs:
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r25b
ndk-version: r25c

- name: Build and package ALVR
id: build
Expand All @@ -215,7 +215,7 @@ jobs:
uses: r0adkll/sign-android-release@v1
id: sign_apk
with:
releaseDirectory: build/alvr_client_quest
releaseDirectory: build/alvr_client_android
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
Expand All @@ -228,5 +228,5 @@ jobs:
with:
upload_url: ${{ needs.prepare_release.outputs.upload_url }}
asset_path: ${{steps.sign_apk.outputs.signedReleaseFile}}
asset_name: alvr_client_quest.apk
asset_name: alvr_client_android.apk
asset_content_type: application/vnd.android.package-archive
14 changes: 9 additions & 5 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,20 +92,24 @@ jobs:
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r22b
ndk-version: r25c

- name: Install deps
uses: actions-rs/cargo@v1
with:
command: install
args: cargo-ndk
args: cargo-apk

# Create folder without content to make the build succeed
- run: |
mkdir -p deps/android_openxr/arm64-v8a
- name: Build client lib
- name: Build client
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
working-directory: ./alvr/client_core
working-directory: ./alvr/client_openxr
run:
cargo ndk -t arm64-v8a build
cargo apk build

tests:
runs-on: ubuntu-latest
Expand Down
Loading

0 comments on commit 23c584f

Please sign in to comment.