mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 01:00:06 +02:00
Several KDE Plasma screens floating in SteamVR, each a real monitor of any resolution and shape, shown by our own compositor (ft-screens), with a layout, wrist pinning, and visibility modes; a Bluetooth mouse that drives all of SteamVR as a room-anchored 3D pointer (input relay, ft-pointer helper, ft_pointer SteamVR driver); two settings apps; and Bluetooth LE fixes. Installs on the headset with ./install.sh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
19 lines
1.1 KiB
Bash
Executable File
19 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build the ft_pointer SteamVR driver on the Frame (dev container) and check it
|
|
# only needs glibc symbols the SteamOS host has (2.39; the container has 2.43).
|
|
# -fno-math-errno keeps sqrtf inline. libm's float functions (sqrtf, atan2f, asinf,
|
|
# remainderf) are versioned GLIBC_2.43 here, so the driver uses the double versions.
|
|
# Usage: pointer/driver/build.sh
|
|
set -euo pipefail
|
|
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
|
"$root/scripts/sync.sh" >/dev/null
|
|
exec "$root/scripts/frame.sh" -C pointer/driver 'set -e
|
|
mkdir -p build
|
|
g++ -std=c++17 -O2 -fPIC -shared -fvisibility=hidden -fno-math-errno -Wall -Wno-unused-parameter \
|
|
-static-libstdc++ -static-libgcc -Wl,--exclude-libs,ALL \
|
|
-I/opt/steamvr/tools/hellovr_vulkan_linux/src/openvr/headers \
|
|
-o build/driver_ft_pointer.so driver_ft_pointer.cpp -lpthread
|
|
max=$(objdump -T build/driver_ft_pointer.so | grep -oE "GLIBC_[0-9.]+" | sort -uV | tail -1)
|
|
echo "built build/driver_ft_pointer.so, newest glibc symbol: $max"
|
|
[ "$(printf "%s\n" "$max" GLIBC_2.39 | sort -V | tail -1)" = GLIBC_2.39 ] || { echo "needs newer glibc than the host has" >&2; exit 1; }'
|