mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 06:00:25 +02:00
Base the quick start on releases instead of a git clone
The quick start, the on-Frame build and updates now download a release's source tarball. Updates copy only the files whose content changed (rsync -c), which stamps them with the current time: unpacking over the source would restore commit dates that can be older than the last build, and the build would skip the changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HBRGKTE1GnN2ah8gcZKr3
This commit is contained in:
1 file changed
+32
-11
@@ -31,7 +31,9 @@ C++ and compiled for the Frame's ARM64 CPU, and it renders through SteamVR's Ope
|
|||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
This is the whole way from your disc to playing in the headset, building on an x86_64 Linux PC. The
|
This is the whole way from a [release](https://github.com/mitch030504/Wiicompiled_VR_Frame/releases)
|
||||||
|
and your disc to playing in the headset, building on an x86_64 Linux PC. Releases are source only:
|
||||||
|
the game is always built from your own disc, so there is nothing ready-built to download. The
|
||||||
first build takes a few hours, most of it compiling Dawn under emulation; later builds reuse it.
|
first build takes a few hours, most of it compiling Dawn under emulation; later builds reuse it.
|
||||||
[Other ways to build](#other-ways-to-build) covers a faster machine and the Frame itself.
|
[Other ways to build](#other-ways-to-build) covers a faster machine and the Frame itself.
|
||||||
|
|
||||||
@@ -60,11 +62,15 @@ The last command must print `aarch64`. On Debian or Ubuntu install `podman qemu-
|
|||||||
binfmt-support` instead. If podman complains about subordinate ids, run
|
binfmt-support` instead. If podman complains about subordinate ids, run
|
||||||
`sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER` and log in again.
|
`sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER` and log in again.
|
||||||
|
|
||||||
### 2. Get the code and extract your disc
|
### 2. Download the release and extract your disc
|
||||||
|
|
||||||
|
Take the newest release from the [Releases](https://github.com/mitch030504/Wiicompiled_VR_Frame/releases)
|
||||||
|
page; the commands use `frame-beta-1`, so put the newest release's tag in its place:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/wiicompiled; cd ~/wiicompiled
|
mkdir -p ~/wiicompiled/Wiicompiled_VR_Frame; cd ~/wiicompiled
|
||||||
git clone https://github.com/mitch030504/Wiicompiled_VR_Frame.git
|
curl -fL https://github.com/mitch030504/Wiicompiled_VR_Frame/archive/refs/tags/frame-beta-1.tar.gz \
|
||||||
|
| tar -xz --strip-components=1 -C Wiicompiled_VR_Frame
|
||||||
curl -fL -o nodtool https://github.com/encounter/nod/releases/download/v2.0.0-alpha.10/nodtool-linux-x86_64
|
curl -fL -o nodtool https://github.com/encounter/nod/releases/download/v2.0.0-alpha.10/nodtool-linux-x86_64
|
||||||
chmod +x nodtool
|
chmod +x nodtool
|
||||||
./nodtool extract "/path/to/Mario Kart Wii.wbfs" disc-extract
|
./nodtool extract "/path/to/Mario Kart Wii.wbfs" disc-extract
|
||||||
@@ -134,18 +140,31 @@ shoulder button, go to the **VR** tab and set the [recommended settings](#recomm
|
|||||||
|
|
||||||
### Updating
|
### Updating
|
||||||
|
|
||||||
Pull the new code, rebuild, and replace only the executable. Copying to a new name and moving it
|
When a new release comes out, put its changed files over the old source, rebuild, and replace only
|
||||||
into place works even while an old copy is open:
|
the executable. `rsync -c` copies just the files whose content changed and stamps them with the
|
||||||
|
current time, so the build recompiles exactly those. Unpacking over the source would restore each
|
||||||
|
file's commit date, which can be older than the last build, and changes would be skipped. Your
|
||||||
|
`Assets/` and build folders stay. Install `rsync` if your system lacks it, and put the new release's
|
||||||
|
tag in place of `frame-beta-2`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/wiicompiled/Wiicompiled_VR_Frame && git pull
|
cd ~/wiicompiled
|
||||||
|
mkdir -p release-new
|
||||||
|
curl -fL https://github.com/mitch030504/Wiicompiled_VR_Frame/archive/refs/tags/frame-beta-2.tar.gz \
|
||||||
|
| tar -xz --strip-components=1 -C release-new
|
||||||
|
rsync -rcE release-new/ Wiicompiled_VR_Frame/
|
||||||
|
rm -rf release-new
|
||||||
podman start -ai wiicompiled-frame
|
podman start -ai wiicompiled-frame
|
||||||
# in the container: cd /work/Wiicompiled_VR_Frame; T=/work/tools/toolchain-aarch64/bin, then the
|
# in the container: cd /work/Wiicompiled_VR_Frame; T=/work/tools/toolchain-aarch64/bin, then the
|
||||||
# build-dawn-linux.sh and local-build.sh lines from step 3 (only what changed is rebuilt), then exit
|
# build-dawn-linux.sh and local-build.sh lines from step 3, then exit. Dawn only rebuilds when the
|
||||||
|
# release changed its patches (the release notes say so); otherwise both finish quickly.
|
||||||
scp ~/wiicompiled/out/WiiCompiled frame:devkit-game/WiiCompiled/WiiCompiled.new
|
scp ~/wiicompiled/out/WiiCompiled frame:devkit-game/WiiCompiled/WiiCompiled.new
|
||||||
ssh frame 'cd ~/devkit-game/WiiCompiled && chmod 755 WiiCompiled.new && mv -f WiiCompiled.new WiiCompiled'
|
ssh frame 'cd ~/devkit-game/WiiCompiled && chmod 755 WiiCompiled.new && mv -f WiiCompiled.new WiiCompiled'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The executable is copied under a new name and moved into place, which works even while an old copy
|
||||||
|
is open.
|
||||||
|
|
||||||
## Recommended settings
|
## Recommended settings
|
||||||
|
|
||||||
All of these are in the headset's settings panel (left shoulder button, **VR** tab) and in
|
All of these are in the headset's settings panel (left shoulder button, **VR** tab) and in
|
||||||
@@ -228,11 +247,13 @@ running the same command again.
|
|||||||
|
|
||||||
## Other ways to build
|
## Other ways to build
|
||||||
|
|
||||||
**On the Frame itself.** SteamOS's root file system is read-only, but it ships podman. Over SSH:
|
**On the Frame itself.** SteamOS's root file system is read-only, but it ships podman. Over SSH,
|
||||||
|
with the newest release's tag:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/wiicompiled && cd ~/wiicompiled
|
mkdir -p ~/wiicompiled/Wiicompiled_VR_Frame && cd ~/wiicompiled
|
||||||
git clone https://github.com/mitch030504/Wiicompiled_VR_Frame.git
|
curl -fL https://github.com/mitch030504/Wiicompiled_VR_Frame/archive/refs/tags/frame-beta-1.tar.gz \
|
||||||
|
| tar -xz --strip-components=1 -C Wiicompiled_VR_Frame
|
||||||
podman run -it --name wiicompiled-frame -v ~/wiicompiled:/work:Z docker.io/library/debian:trixie bash
|
podman run -it --name wiicompiled-frame -v ~/wiicompiled:/work:Z docker.io/library/debian:trixie bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user