mirror of
https://github.com/ValveSoftware/SteamVR-for-Linux.git
synced 2026-10-06 13:00:38 +02:00
Compare commits
39
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4d917f7d8 | ||
|
|
b0c7c0ab17 | ||
|
|
917dd9c635 | ||
|
|
6fd403c48f | ||
|
|
6b27971de5 | ||
|
|
72e4e66eb7 | ||
|
|
72a5e63d3c | ||
|
|
2a219be36d | ||
|
|
60a90f8763 | ||
|
|
1b9a2fa73f | ||
|
|
a6455be980 | ||
|
|
cef2d66970 | ||
|
|
7e8791fcc9 | ||
|
|
952d64af22 | ||
|
|
29285188ec | ||
|
|
90d5f4e02a | ||
|
|
f7716ac526 | ||
|
|
503a5fa974 | ||
|
|
6df2bf86f3 | ||
|
|
d89b99e0b4 | ||
|
|
4c702a85dd | ||
|
|
0ce0ef24f9 | ||
|
|
a2cda4c2ad | ||
|
|
be2b008534 | ||
|
|
51cf89690f | ||
|
|
33d338e2e8 | ||
|
|
8af867c4b2 | ||
|
|
102c1ba0ac | ||
|
|
ac8afc3774 | ||
|
|
50b2463312 | ||
|
|
5031f2d433 | ||
|
|
29e3501b81 | ||
|
|
232367e9b1 | ||
|
|
c0441f503f | ||
|
|
e20ea1761c | ||
|
|
ebc7a04d50 | ||
|
|
acd4331ae8 | ||
|
|
1ddc566cea | ||
|
|
6e902b8938 |
No files matched your search
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Report a behavioural problem with SteamVR
|
||||||
|
title: "[BUG] Issue Title"
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**System Information (please complete the following information):**
|
||||||
|
Please use the latest Steam beta client and SteamVR beta for your bug reports!
|
||||||
|
|
||||||
|
* Steam client version (build number or date):
|
||||||
|
* SteamVR version:
|
||||||
|
* Distribution (e.g. Ubuntu):
|
||||||
|
* Steam runtime diagnostics: [generate via Help -> Steam Runtime Diagnostics in the Steam client]
|
||||||
|
* Steam and SteamVR logs: [generate by running this command in a terminal `tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs`]
|
||||||
|
* Minidumps: [run the following command: `tar -zcvf ~/Desktop/steam-minidumps.tar.gz /tmp/dumps`]
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
---
|
||||||
|
name: Performance Issue
|
||||||
|
about: Report a performance problem with SteamVR
|
||||||
|
title: "[PERF] Issue Title"
|
||||||
|
labels: perf
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**System Information (please complete the following information):**
|
||||||
|
- Distribution: [Arch/Manjaro/Ubuntu/etc.]
|
||||||
|
- SteamVR version: [E.g. 1.7.2]
|
||||||
|
- Steam client version: [build number or date]
|
||||||
|
- Opted into Steam client beta?: [Yes/No]
|
||||||
|
- Graphics driver version: [run `nvidia-settings` or `vulkaninfo | grep driverInfo`:
|
||||||
|
- Gist for SteamVR System Information: [See [instructions](https://github.com/ValveSoftware/SteamVR-for-Linux/blob/master/CapturingSystemReport.md)]
|
||||||
|
|
||||||
|
**Performance Data (optional, but very helpful):**
|
||||||
|
- CPU:
|
||||||
|
- GPU:
|
||||||
|
- Gist for perf top: [See [instructions](https://github.com/ValveSoftware/SteamVR-for-Linux/blob/master/CapturingPerfData.md)]
|
||||||
|
- Link to gpuvis trace: [See [instructions](https://github.com/ValveSoftware/SteamVR-for-Linux/blob/master/CapturingPerfData.md)]
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem. If possible, also include screenshot of vrmonitor's timing graph.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
|
|
||||||
|
**Note:** Commenters who are also experiencing this issue are encouraged to include the "System Information" and "Perf Data" sections in their replies.
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#### How To Collect a Gpuvis Capture:
|
||||||
|
|
||||||
|
##### First time setup:
|
||||||
|
|
||||||
|
1. Open SteamVR Settings
|
||||||
|
2. Click 'Developer'
|
||||||
|
3. Ensure the 'Enable GPU profiling' checkbox is checked
|
||||||
|
4. Restart SteamVR
|
||||||
|
5. Follow the xterm prompt to complete the gpu profiler setup
|
||||||
|
|
||||||
|
##### Performing a gpuvis capture:
|
||||||
|
1. Open VRmonitor Menu -> Developer -> Debug Commands
|
||||||
|
2. Click on the 'gpu\_profiler\_capture' button
|
||||||
|
* Note: Try to activate the capture process while the issue is happening.
|
||||||
|
* The gpuvis profiler only keeps a few seconds of buffered data in memory.
|
||||||
|
3. In gpuvis, click 'File'->'Save as'
|
||||||
|
4. Save the file to a location you can access
|
||||||
|
4. Upload the file to Google Drive, Dropbox or your preferred file sharing site.
|
||||||
|
5. Copy URL and paste it in the issue template
|
||||||
|
|
||||||
|
Alternative to step 1-2:
|
||||||
|
* Execute `kill -10 $(pgrep -f gpu-trace)` on the commandline
|
||||||
|
|
||||||
|
#### How To Collect a Perf Top Snapshot:
|
||||||
|
1. Run 'sudo perf top' from the commandline
|
||||||
|
2. Copy the output to the clipboard when the issue occurs
|
||||||
|
4. Browse to https://gist.github.com/
|
||||||
|
5. Click in the text entry box (by the 1)
|
||||||
|
6. Paste clipboard contents
|
||||||
|
7. Click 'Create Public Gist'
|
||||||
|
8. Copy URL and paste it in the issue template
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#### How To Collect SteamVR System Information:
|
||||||
|
1. Click the 'SteamVR beta' menu in the upper left of the SteamVR Status window
|
||||||
|
2. Click 'Create System Report'
|
||||||
|
3. Click 'Copy to Clipboard'
|
||||||
|
4. Browse to https://gist.github.com/
|
||||||
|
5. Click in the text entry box (by the 1)
|
||||||
|
6. Paste clipboard contents
|
||||||
|
7. Click 'Create Public Gist'
|
||||||
|
8. Copy URL and paste it in the issue template
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
#### SteamVR Error Codes
|
||||||
|
|
||||||
|
These are error codes you may encounter within the SteamVR ecosystem. Generally, these will appear within vrmonitor (the program which actually shows you a 'SteamVR' window). If any error suggests checking a logfile, you'll find that file in the Steam logs directory. On Linux, that's `~/.steam/steam/logs/` so (for instance) if something says to check `vrcompositor.txt` then the file to look at will be `~/.steam/steam/logs/vrcompositor.txt`.
|
||||||
|
|
||||||
|
##### OpenVR Error Codes
|
||||||
|
|
||||||
|
When an OpenVR error turns up in vrmonitor, they will show up as _positive_ error codes in the status window. Rather than provide an exhaustive table here which would need to be maintained, just check [`openvr.h`](https://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h) in the [OpenVR SDK](https://github.com/ValveSoftware/openvr). Look for `enum EVRInitError` to find the list.
|
||||||
|
|
||||||
|
##### vrmonitor Error Codes
|
||||||
|
|
||||||
|
These are error codes specific to vrmonitor. They will show as _negative_ error codes in the vrmonitor status window.
|
||||||
|
|
||||||
|
| Code | Name | Meaning
|
||||||
|
| ---- | ------------- | ------------------ |
|
||||||
|
| -101 | `StatusError_NoHMDAvailable` | No supported headset was found. |
|
||||||
|
| -102 | `StatusError_HMDDoesNotTrack` | Headset is not sending supported pose data. |
|
||||||
|
| -103 | `StatusError_HMDStandby` | Headset is in standby. (Not actually an error, just pick up headset and put it back on.) |
|
||||||
|
| -201 | `StatusError_NoCompositorAvailable` | SteamVR was unable to find the compositor. |
|
||||||
|
| -202 | `StatusError_CompositorNotFullscreen` | The compositor is not running in fullscreen mode. (For wired headsets that show up as a monitor.) |
|
||||||
|
| -203 | `StatusError_CompositorNotRunning` | The compositor is not running, and has probably crashed. (Look in `vrcompositor.txt` for more information.) |
|
||||||
|
| -204 | `StatusError_CompositorTooManyRunning` | There are _multiple_ compositors running. Shutdown SteamVR and kill any extra vrcompositor processes, then restart. |
|
||||||
|
| -205 | `StatusError_PrismNotRunning` | We are using prism, but it doesn't seem to be running. |
|
||||||
|
| -301 | `StatusError_VRServerNotRunning` | vrserver is not running, and has probably crashed. (Look in `vrserver.txt` for more information.) |
|
||||||
|
| -401 | `StatusError_Chaperone_Error` | The chaperone system is not running, or returning invalid data. |
|
||||||
|
| -501 | `StatusError_TrackingDevice_NotValid` | We have a tracking device in the system that doesn't seem to be connected/working. |
|
||||||
|
| -601 | `StatusError_LighthouseEvent` | A lighthouse is returning a fatal error. |
|
||||||
|
|
||||||
|
##### Steam VRLink Client Error Codes
|
||||||
|
|
||||||
|
These are a few error codes which can show up on the VR-capable Steam Link client on Quest, Pico, and so on.
|
||||||
|
|
||||||
|
| Code | Name | Meaning
|
||||||
|
| ---- | ------------- | ------------------ |
|
||||||
|
| 450 | `StreamError_HostNotResponding` | Steam Link tried to connect to the host we were told to connect to, but it didn't actually answer. **This may mean you're running a VPN on your PC; check and try turning it off if so.** |
|
||||||
|
| 451 | `StreamError_ConnectedNoVideo` | Steam Link connected, but the host is not sending any video. (Look in `driver_vrlink.txt` on the host for more information.) |
|
||||||
|
| 452 | `StreamError_ConnectedNoDecode` | Steam Link connected and is receiving video, but the local decoder is not giving back decoded frames. |
|
||||||
|
| 616 | `StreamCheck_WifiNotConnected` | Your headset doesn't seem to have a WiFi connection right now. |
|
||||||
|
| 617 | `StreamCheck_StreamNotPossible` | Your headset and your computer don't seem to be on the same network. **This may mean you're running a VPN on your Quest; check and try turning it off if so.** |
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
## SteamVR Release Notes and Known Issues
|
# SteamVR Release Notes and Known Issues
|
||||||
|
|
||||||
**This is a development release**. It is intended to allow developers to start creating SteamVR content for Linux platforms. Limited hardware support is provided.
|
**This is a development release**. It is intended to allow developers to start creating SteamVR content for Linux platforms. Limited hardware support is provided.
|
||||||
|
|
||||||
**SteamVR and VR apps require at least a 1.0.54 64-bit Vulkan loader, such as the one included in the Steam Runtime**.
|
**SteamVR and VR apps require a modern linux distribution with up to date graphics drivers. Ubuntu >= 20 or Arch for instance**.
|
||||||
|
|
||||||
For discussions and questions, please use the SteamVR for Linux forum at http://steamcommunity.com/app/250820/discussions/5/.
|
For discussions and questions, please use the SteamVR for Linux forum at http://steamcommunity.com/app/250820/discussions/5/.
|
||||||
|
|
||||||
@@ -10,65 +10,16 @@ For bugs, please file an issue on this github issue tracker. https://github.com/
|
|||||||
|
|
||||||
## GRAPHICS DRIVER REQUIREMENTS
|
## GRAPHICS DRIVER REQUIREMENTS
|
||||||
|
|
||||||
SteamVR is built on top of the Vulkan API and requires the latest Vulkan drivers.
|
SteamVR is built on top of the Vulkan API and requires the latest Vulkan drivers.
|
||||||
|
|
||||||
**NVIDIA cards require version 387.12 of the NVIDIA Driver or above and to use the SteamVR Beta** An Ubuntu-packaged version of this driver can be found in the "Graphics Drivers" PPA at https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa.
|
### NVIDIA on Ubuntu
|
||||||
|
|
||||||
```
|
We recommend using the latest NVIDIA drivers from the "Graphics Drivers" PPA at https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
|
||||||
sudo add-apt-repository ppa:graphics-drivers/ppa
|
|
||||||
```
|
|
||||||
|
|
||||||
The NVIDIA driver supports direct mode, meaning the HMD will not appear on your desktop, or if it does, the display will have to be turned off in xrandr before being able to use VR.
|
### AMD on Ubuntu
|
||||||
|
|
||||||
**AMD graphics require the radv driver from Mesa 17.3 or above** or mainline mesa after [this commit](https://cgit.freedesktop.org/mesa/mesa/commit/?id=bfed189ee0ddfe9aad2c8732094434b7e1c5166d). For proper VK_KHR_external_semaphore_fd and EXT_memory_object_fd support Linux 4.13-rc1 or newer is required. It doesn't support direct mode currently, so the HMD display will have to be positioned on your desktop in extended mode, and your system compositor disabled while using VR.
|
We recommend using the latest mesa drivers from the PPA at https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa
|
||||||
|
|
||||||
**Intel graphics are not currently supported**.
|
|
||||||
|
|
||||||
## USB DEVICE REQUIREMENTS
|
|
||||||
|
|
||||||
**SteamVR needs to be able to access the HTC Vive's USB devices**. On most Linux distributions this is not allowed by default. The latest version (1.0.0.54) of the Steam package available on http://store.steampowered.com will automatically install udev rules that allow this. However, many distributions repackage Steam. If you have installed one of those packages, you may not have the latest Steam udev rules. **Your udev rules should be in the file /lib/udev/rules.d/60-HTC-Vive-perms.rules and contain the following rules**:
|
|
||||||
|
|
||||||
```
|
|
||||||
# HTC Vive HID Sensor naming and permissioning
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1043", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", TAG+="uaccess"
|
|
||||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess"
|
|
||||||
# HTC Camera USB Node
|
|
||||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8328", TAG+="uaccess"
|
|
||||||
# HTC Mass Storage Node
|
|
||||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8200", TAG+="uaccess"
|
|
||||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8a12", TAG+="uaccess"
|
|
||||||
```
|
|
||||||
|
|
||||||
## NATIVE DEVELOPMENT
|
## NATIVE DEVELOPMENT
|
||||||
|
|
||||||
Version 1.0.7 of the OpenVR SDK has full support for Linux platforms: https://github.com/ValveSoftware/openvr
|
Version 1.0.7 of the OpenVR SDK has full support for Linux platforms: https://github.com/ValveSoftware/openvr
|
||||||
|
|
||||||
## RUNTIME REQUIREMENTS
|
|
||||||
|
|
||||||
SteamVR applications must run within the Steam runtime which supplies all the required shared libraries.
|
|
||||||
|
|
||||||
~/.steam/steam/ubuntu12_32/steam-runtime/run.sh ./my_steamvr_app
|
|
||||||
|
|
||||||
will launch the application in the correct environment. See https://github.com/ValveSoftware/steam-runtime for more information about the Steam Runtime.
|
|
||||||
|
|
||||||
## UNREAL ENGINE
|
|
||||||
|
|
||||||
Unreal Engine 4.16+ has support for SteamVR on Linux.
|
|
||||||
|
|
||||||
## UNITY DEVELOPMENT
|
|
||||||
|
|
||||||
Unity development is not currently supported.
|
|
||||||
|
|
||||||
## KNOWN ISSUES
|
|
||||||
* Even with Vulkan applications, performance issues are still being worked on on both the runtime and the game engine side
|
|
||||||
* ~~Desktop view in the dashboard currently doesn't work~~ (fixed in May 8 Steam client beta)
|
|
||||||
* Power management of base stations is not currently implemented
|
|
||||||
* Headset audio device switching is not currently implemented
|
|
||||||
* The VR status window isn't currently aware of direct mode being enabled or not, so the "enable direct mode" and "disable direct mode" buttons should not be used; direct mode is automatically enabled where supported
|
|
||||||
* Firmware update of base stations is not supported (both USB and Bluetooth connections)
|
|
||||||
Executable
+191
@@ -0,0 +1,191 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This is a very quickly-written script to try to track down and spot the most-commonly-seen
|
||||||
|
# problems with using the Steam Frame wireless dongle on Linux. As new things turn up, the
|
||||||
|
# script will be revised.
|
||||||
|
#
|
||||||
|
# It's written to have the first part of the line easily parsed automatically, for later use;
|
||||||
|
# the first word will be PROBLEM:<class>: to denote actual problems (and easily surface what
|
||||||
|
# type they are, INFO:<class>: for something intended for the user to read,
|
||||||
|
# and either FAILURE or SUCCESS on the final line.
|
||||||
|
|
||||||
|
echo -- Steam Frame Wireless Dongle Troubleshooting script v0.5
|
||||||
|
echo --
|
||||||
|
echo -- Lines beginning with PROBLEM are issues which will prevent the dongle from working.
|
||||||
|
echo -- Lines beginning with INFO may not prevent the dongle from working, but are worth looking into.
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
# KERNEL/DRIVER CHECKS -------------------------------------------------------
|
||||||
|
|
||||||
|
KERNEL_CURRENT=`uname -r | cut -f1 -d '-'`
|
||||||
|
KERNEL_MAJOR=`echo $KERNEL_CURRENT | cut -f1 -d '.'`
|
||||||
|
KERNEL_MINOR=`echo $KERNEL_CURRENT | cut -f2 -d '.'`
|
||||||
|
DRIVER=`lsmod | grep "^rtw"`
|
||||||
|
PROBLEMS_FOUND=0
|
||||||
|
FATAL_PROBLEMS=0
|
||||||
|
|
||||||
|
# Because the driver IS manually installed on SteamOS even on older kernels -- and could theoretically
|
||||||
|
# be on other machines -- we'll look for the driver and only check kernel version if the driver isn't
|
||||||
|
# present.
|
||||||
|
if [ -z "$DRIVER" ]; then
|
||||||
|
if [ $KERNEL_MAJOR -lt 7 ]; then
|
||||||
|
echo "PROBLEM:KERNEL: You are on kernel $KERNEL_CURRENT, and must be on kernel 7.2 or later for the driver to be available by default."
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
elif [ $KERNEL_MAJOR -eq 7 ] && [ $KERNEL_MINOR -lt 2 ]; then
|
||||||
|
echo "PROBLEM:KERNEL: You are on kernel $KERNEL_CURRENT, and must be on kernel 7.2 or later for the driver to be available by default."
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
else
|
||||||
|
echo "PROBLEM:DRIVER: While you're on a recent enough kernel, the rtw89 driver appears to be missing and may not have been compiled for your distro."
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# WIFI FUNCTIONALITY CHECKS --------------------------------------------------
|
||||||
|
|
||||||
|
WIFI_SOFTBLOCK=`rfkill list wifi | grep 'Soft blocked:' | head -1 | cut -f2 -d ':' | xargs`
|
||||||
|
WIFI_HARDBLOCK=`rfkill list wifi | grep 'Hard blocked:' | head -1 | cut -f2 -d ':' | xargs`
|
||||||
|
|
||||||
|
if [ "$WIFI_SOFTBLOCK" = "yes" ] || [ "$WIFI_HARDBLOCK" = "yes" ]; then
|
||||||
|
echo "PROBLEM:WIFI: You have disabled wifi, which will also disable the dongle."
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# REGULATORY DOMAIN CHECKS ---------------------------------------------------
|
||||||
|
|
||||||
|
REG_DOMAIN=`iw reg get | sed -e '/^$/,$d' | grep '^country'`
|
||||||
|
REG_COUNTRY=`echo $REG_DOMAIN | cut -f1 -d ':' | cut -f2 -d ' '`
|
||||||
|
REG_RULESET=`echo $REG_DOMAIN | cut -f2 -d ':' | xargs`
|
||||||
|
REG_BLOCK=`iw reg get | sed -e '/^$/,$d' | tail -n +3`
|
||||||
|
REG_FEATURES=""
|
||||||
|
REG_PASSIVESCAN=""
|
||||||
|
REG_BANDSIZE=0
|
||||||
|
|
||||||
|
while IFS= read -r line || [[ -n $line ]]; do
|
||||||
|
BAND=`echo $line | cut -f1 -d ',' | xargs`
|
||||||
|
FEATURES=`echo $line | cut -f5- -d ',' | xargs`
|
||||||
|
BAND_RANGE=`echo $BAND | tr -d '()'`
|
||||||
|
BAND_START=`echo $BAND_RANGE | cut -f1 -d ' ' | xargs`
|
||||||
|
BAND_END=`echo $BAND_RANGE | cut -f3 -d ' ' | xargs`
|
||||||
|
|
||||||
|
if [ $BAND_START -le 6999 ] && [ $BAND_END -ge 6000 ]; then
|
||||||
|
REG_FEATURES=$FEATURES
|
||||||
|
REG_PASSIVESCAN=`echo $REG_FEATURES | grep "PASSIVE-SCAN"`
|
||||||
|
REG_BANDSIZE=$((BAND_END-BAND_START))
|
||||||
|
fi
|
||||||
|
done < <(printf '%s' "$REG_BLOCK")
|
||||||
|
|
||||||
|
if [ $REG_COUNTRY = "00" ] || [ $REG_RULESET = "DFS-UNSET" ]; then
|
||||||
|
echo "PROBLEM:REGDOMAIN: Your regulatory domain is set to $REG_COUNTRY and using the $REG_RULESET rules set. Set an appropriate regulatory domain for your location."
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
elif [ -z "$REG_FEATURES" ]; then
|
||||||
|
echo "PROBLEM:REGDOMAIN: Your regulatory domain is set to $REG_COUNTRY and using the $REG_RULESET rules set, which seems to lack a 6Ghz band;"
|
||||||
|
echo "PROBLEM:REGDOMAIN: an upcoming beta will allow the dongle to work in a non-6Ghz mode, but it will not work for the moment."
|
||||||
|
echo "PROBLEM:REGDOMAIN: "
|
||||||
|
echo "PROBLEM:REGDOMAIN: If $REG_COUNTRY *is* your appropriate regulatory domain, please *do not* just blithely change your regulatory domain"
|
||||||
|
echo "PROBLEM:REGDOMAIN: to US (or something similar)! The current recommended workaround is to use USB tethering."
|
||||||
|
echo "PROBLEM:REGDOMAIN: "
|
||||||
|
echo "PROBLEM:REGDOMAIN: Put the headset into developer mode (Settings, System, Enable developer mode) and connect to the PC via USB."
|
||||||
|
echo "PROBLEM:REGDOMAIN: "
|
||||||
|
echo ""
|
||||||
|
PROBLEMS_FOUND=$((PROBLEMS_FOUND + 1))
|
||||||
|
FATAL_PROBLEMS=$((FATAL_PROBLEMS + 1))
|
||||||
|
elif [[ -z $REG_PASSIVESCAN ]]; then
|
||||||
|
echo "INFO:REGDOMAIN: Your regulatory domain is set to $REG_COUNTRY and using the $REG_RULESET rules set, which lacks PASSIVE-SCAN. On *some* Linux distros this"
|
||||||
|
echo "INFO:REGDOMAIN: may cause problems seeing the headset. But it also might just work!"
|
||||||
|
echo "INFO:REGDOMAIN: "
|
||||||
|
echo "INFO:REGDOMAIN: If this affects you, this will be addressed with alternative logic in an upcoming beta. Hold tight!"
|
||||||
|
echo "INFO:REGDOMAIN: "
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# FIREWALL RULES -------------------------------------------------------------
|
||||||
|
|
||||||
|
FIREWALL_ACTIVE=0
|
||||||
|
|
||||||
|
if [ -e "`which firewall-cmd`" ]; then
|
||||||
|
if [ "`firewall-cmd --state`" = "running" ]; then
|
||||||
|
FIREWALL_ACTIVE=1
|
||||||
|
fi
|
||||||
|
elif [ -e "`which ufw`" ]; then
|
||||||
|
if [ "`whoami`" = "root" ]; then
|
||||||
|
UFW_STATUS=`ufw status numbered | head -1 | cut -f2 -d ' '`
|
||||||
|
if [ "$UFW_STATUS" = "active" ]; then
|
||||||
|
FIREWALL_ACTIVE=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "INFO:FIREWALL: Found ufw (Uncomplicated FireWall) installed, but we aren't root so we can't get firewall status. Skipping check."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $FIREWALL_ACTIVE -eq 1 ]; then
|
||||||
|
echo "INFO:FIREWALL: "
|
||||||
|
echo "INFO:FIREWALL: You appear to have a firewall active on your system, but this script cannot check the rules."
|
||||||
|
echo "INFO:FIREWALL: Make sure you have the following ports open, or the Frame and the Steam client won't see each other:"
|
||||||
|
echo "INFO:FIREWALL: TCP: 27036, 27037"
|
||||||
|
echo "INFO:FIREWALL: UDP: 27031, 27036"
|
||||||
|
echo "INFO:FIREWALL: In addition, you will need the following ports open for actual VR streaming:"
|
||||||
|
echo "INFO:FIREWALL: UDP: 10400, 10401"
|
||||||
|
echo "INFO:FIREWALL: "
|
||||||
|
echo "INFO:FIREWALL: It's quite possible you have it running but no real restrictions set, so this may not be a problem!"
|
||||||
|
echo "INFO:FIREWALL: "
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# VPN ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
TAILSCALE_IFACE=`nmcli device status | grep ^tailscale | head -1 | cut -f1 -d ' '`
|
||||||
|
TAILSCALE_STATE=""
|
||||||
|
OVPN_IFACE=`nmcli device status | grep ^tun | head -1 | cut -f1 -d ' '`
|
||||||
|
OVPN_STATE=""
|
||||||
|
|
||||||
|
if [ -n "$TAILSCALE_IFACE" ]; then
|
||||||
|
TAILSCALE_STATE=`ip link show $TAILSCALE_IFACE | grep 'UP'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$OVPN_IFACE" ]; then
|
||||||
|
OVPN_STATE=`ip link show $OVPN_IFACE | grep 'UP'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$TAILSCALE_STATE" ]; then
|
||||||
|
echo "INFO:VPN: "
|
||||||
|
echo "INFO:VPN: You're using Tailscale. If Tailscale is operating in exit-node mode, this can absolutely break"
|
||||||
|
echo "INFO:VPN: SteamVR in multiple interesting ways. If Tailscale is operating in overlay mode it SHOULDN'T"
|
||||||
|
echo "INFO:VPN: break things, but you may stil want to try temporarily disabling tailscale to check. For more"
|
||||||
|
echo "INFO:VPN: info on exit nodes, check https://tailscale.com/docs/features/exit-nodes"
|
||||||
|
echo "INFO:VPN: "
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$OVPN_STATE" ]; then
|
||||||
|
echo "INFO:VPN: "
|
||||||
|
echo "INFO:VPN: You're using a VPN of some sort. Depending on the way you have routing set up, it may"
|
||||||
|
echo "INFO:VPN: block the dongle from working. To test if this is the case, you can temporarily disable"
|
||||||
|
echo "INFO:VPN: your VPN."
|
||||||
|
echo "INFO:VPN: "
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# SUMMARY --------------------------------------------------------------------
|
||||||
|
|
||||||
|
if [ $PROBLEMS_FOUND -eq 0 ]; then
|
||||||
|
echo "SUCCESS: None of the most obvious/common problems seem to have turned up!"
|
||||||
|
elif [ $FATAL_PROBLEMS -gt 0 ]; then
|
||||||
|
echo "FAILURE: At least one problem above is technically fatal *at the moment*, and may mean the dongle will simply not work for you until a future beta. You may want to make sure you're on both the SteamOS beta (on Frame), Steam beta (on host), and SteamVR beta (on host) in case this has already been fixed."
|
||||||
|
else
|
||||||
|
echo "FAILURE: The problems above will need to be addressed before the dongle will work."
|
||||||
|
fi
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#### How To Collect SteamVR System Information:
|
|
||||||
1. Click the 'SteamVR beta' menu in the upper left of the SteamVR Status window
|
|
||||||
2. Click 'Create System Report'
|
|
||||||
3. Click 'Copy to Clipboard'
|
|
||||||
4. Browse to https://gist.github.com/
|
|
||||||
5. Click in the text entry box (by the 1)
|
|
||||||
6. Paste clipboard contents
|
|
||||||
7. Click 'Create Public Gist'
|
|
||||||
8. Add URL of your new Gist below
|
|
||||||
|
|
||||||
#### Your system information
|
|
||||||
* Steam client version (build number or date):
|
|
||||||
* Distribution (e.g. Ubuntu):
|
|
||||||
* Graphics driver version (run nvidia-settings):
|
|
||||||
* Gist for SteamVR System Information:
|
|
||||||
* Opted into Steam client beta?: [Yes/No]
|
|
||||||
* Opted into SteamVR beta?: [Yes/No]
|
|
||||||
* Have you checked for system updates?: [Yes/No]
|
|
||||||
|
|
||||||
#### Please describe your issue in as much detail as possible:
|
|
||||||
Describe what you _expected_ should happen and what _did_ happen. Please link any large code pastes as a [Github Gist](https://gist.github.com/)
|
|
||||||
|
|
||||||
#### Steps for reproducing this issue:
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
Reference in new issue
Block a user