ALVR icon indicating copy to clipboard operation
ALVR copied to clipboard

Headset connected, black screen, but tracking data [Linux] [Oculus GO]

Open JacekJagosz opened this issue 3 years ago • 10 comments

TL:DR:

  1. How can I enable more debug output, as right now I get no errors?
  2. How can I build static FFmpeg when using cargo build and not cargo xtask? Maybe that will fix the problem

Bug reports:

I launch ALVR, headset says "stream will start soon", after Steam Home launches I see it on the monitor, while the headset's display turns black. When I turn off Steam VR, the headset goes back to waiting for connection screen. Sometimes it will get stuck on "stream will start soon", while sometimes left eye will go black, while the right one will switch to "waiting for server restart". And through all that the head tracking works perfectly, on Windows it works flawlessly too. There is no error in alvr_session_log.txt or when launching Steam through the command line. I am trying to package it for Solus, here is my build script, based on the one from the AUR:

builddeps  :
   - pkgconfig(ImageMagick)
   - pkgconfig(alsa)
   - pkgconfig(gtk+-3.0)
   - pkgconfig(libavformat)
   - pkgconfig(libdrm_intel)
   - pkgconfig(libunwind)
   - pkgconfig(vulkan)
   - pkgconfig(x264)
   - pkgconfig(x265)
   - cargo
   - llvm-clang-devel
   - llvm-devel
   - nasm
   - vulkan-headers
   - vulkan-tools
   - yasm
setup      : |
    #%patch -p1 < $pkgfiles/alvr.patch
    sed -i 's:../../../lib64/libalvr_vulkan_layer.so:libalvr_vulkan_layer.so:' alvr/vulkan-layer/layer/alvr_x86_64.json
    cargo fetch --locked --target "x86_64-unknown-linux-gnu"
build      : |
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    export ALVR_ROOT_DIR=/usr
    export ALVR_LIBRARIES_DIR=$ALVR_ROOT_DIR/lib64/
    export ALVR_OPENVR_DRIVER_ROOT_DIR=$ALVR_LIBRARIES_DIR/alvr/
    export ALVR_VRCOMPOSITOR_WRAPPER_DIR=$ALVR_LIBRARIES_DIR/alvr/
    #cargo xtask build-server --release --bundle-ffmpeg
    ls -ltra
    cargo build --frozen --release -p alvr_server -p alvr_launcher -p alvr_vulkan-layer -p vrcompositor-wrapper
install    : |
    ls -ltra
    install -Dm755 target/release/alvr_launcher -t "$installdir/usr/bin/"
    # vrcompositor wrapper
    #install -Dm755 target/release/vrcompositor-wrapper -t "$installdir/usr/libexec/alvr/"
    install -Dm755 target/release/vrcompositor-wrapper -t "$installdir/usr/lib64/alvr/"

    # OpenVR Driver
    install -Dm644 target/release/libalvr_server.so "$installdir/usr/lib64/alvr/bin/linux64/driver_alvr_server.so"
    install -Dm644 alvr/xtask/resources/driver.vrdrivermanifest -t "$installdir/usr/lib64/alvr/"

    # Vulkan Layer
    install -Dm644 target/release/libalvr_vulkan_layer.so -t "$installdir/usr/lib/"
    install -Dm644 alvr/vulkan-layer/layer/alvr_x86_64.json -t "$installdir/usr/share/vulkan/explicit_layer.d/"

    # resources (presets + dashboard)
    install -d $installdir/usr/share/alvr/{dashboard,presets}

    install -Dm644 alvr/xtask/resources/presets/* -t "$installdir/usr/share/alvr/presets/"
    cp -ar alvr/dashboard $installdir/usr/share/alvr/

    # Misc
    install -Dm644 packaging/freedesktop/alvr.desktop -t "$installdir/usr/share/applications"

    install -d $installdir/usr/share/icons/hicolor/{16x16,32x32,48x48,64x64,128x128,256x256}/apps/
    # cp -r icons/* $installdir/usr/share/icons/

    install -Dm644 packaging/firewall/alvr-firewalld.xml "$installdir/usr/lib/firewalld/services/alvr.xml"
    install -Dm644 packaging/firewall/ufw-alvr -t "$installdir/etc/ufw/applications.d/"

    install -Dm755 packaging/firewall/alvr_fw_config.sh -t "$installdir/usr/lib/alvr/"


I expect the problem might be the FFmpeg, or maybe even Vulkan in some way. But at this point I don't know anymore how to diagnose further. How can I enable more debugging output or build static FFmpeg? Any suggestions will be extremely welcomed!

Environement

Solus 4.3, Mesa 21.3.1, FFmpeg 4.4 (WITH vulkan support), vulkan-headers 1.2.189.1 AMD Ryzen PRO 4650G (Renoir, using its iGPU), RADV ALVR 16.0.0 and NIGHTLY 2021.12.14, both compiled from source SteamVR 1.12.04

JacekJagosz avatar Dec 15 '21 01:12 JacekJagosz

I also got this issue when I run the Quest 2 ALVR app midway (due to crash). So SteamVR & ALVR on PC still running fine. Quest connects & get tracked, but no visual.

ArsenicBismuth avatar Jan 09 '22 02:01 ArsenicBismuth

I am still struggling with this problem, spent a lot of hours on it. I got 2 more observations:

  1. The command line process quits immediately after the headset connects, even though the settings screen in Chrome is still working and I have tracking. So that might be preventing me from seing some useful DEBUG output. Last 2 lines on the command line before it quits are: DEBUG [ureq::unit] response 200 to GET http://127.0.0.1:8082/index.html DEBUG [ureq::stream] dropping stream: TcpStream { addr: 127.0.0.1:44830, peer: 127.0.0.1:8082, fd: 13 }

  2. No matter if I select H264 or HEVC the headset's screen is black. So I presume there is something sent to the headset.

Does anybody have any idea how to get more debug output, what else I can check, or any tips?

Environement

(Linux) Solus 4.3, Mesa 21.3.6, FFmpeg 4.4.1 (WITH vulkan support), vulkan-headers 1.2.198.0 AMD Ryzen PRO 4650G (Renoir, using its iGPU), RADV ALVR 17.2.0 and NIGHTLY 2021.12.14, both compiled from source Latest SteamVR

JacekJagosz avatar Feb 22 '22 12:02 JacekJagosz

Same problem here. I'm on manjaro and manually build and installed ffmpeg-vulkan for this. I also had to update to vmaf-git. I downgreaded vulkan-headers. Is there something else needed to 'reset' the encoder or something?

@JacekJagosz have you tried building the client/apk yourself? maybe that's the key?

TheJoeSchr avatar Feb 24 '22 19:02 TheJoeSchr

@TheJoeSchr I have not tried building the client myself, if nothing else helps I will try, good idea. What I am thinking is that maybe there are issues with hardware encoding. What GPU are you running? Because if also AMD as me, then maybe that could be the issue? Also I am on KDE, maybe some compositor issue?

JacekJagosz avatar Feb 25 '22 10:02 JacekJagosz

@TheJoeSchr I have not tried building the client myself, if nothing else helps I will try, good idea. What I am thinking is that maybe there are issues with hardware encoding. What GPU are you running? Because if also AMD as me, then maybe that could be the issue? Also I am on KDE, maybe some compositor issue?

Sorry, I was really tired yesterday and didn't post my system spec. Will update that later.

I'm on KDE with kwin_xserver (using bismuth tiling manager) and have a Nvidia 2080

TheJoeSchr avatar Feb 25 '22 12:02 TheJoeSchr

Now I am trying to find any clue by launching Steam via command line to get error log. This seems interesting:

Steam: An X Error occurred
X Error of failed request:  BadWindow (invalid Window parameter)
Major opcode of failed request:  40 (X_TranslateCoords)
Resource id in failed request:  0xc00870
Serial number of failed request:  36806
xerror_handler: X failed, continuing

This seems suspicious too: libpng warning: iCCP: known incorrect sRGB profile I still think our problem might be the fact that we use Plasma and Kwin.

JacekJagosz avatar Feb 27 '22 10:02 JacekJagosz

Are you using a tiling manager? I had the same kind of error with trying to get eaplay games to run and disabling bismuth fixed it then

__

Typed on a mobile, please excuse any typing mistakes or short-spokeness.

TheJoeSchr avatar Feb 27 '22 10:02 TheJoeSchr

No, I am just using vanilla Kwin. And last clue I see is the fact that I am not using Direct Display mode. I don't know anymore. Screenshot_20220227_112833 Edit: Although reading how video capturing works it seems it must work this way.

JacekJagosz avatar Feb 27 '22 10:02 JacekJagosz

@TheJoeSchr Are you using steam-runtime or steam-native? Looking at other bug reports, only the second one worked for people with alvr, just making sure.

JacekJagosz avatar Feb 27 '22 11:02 JacekJagosz

I should be using steamhnative, that's my default. But maybe alvr starts it differently, will have to double check

TheJoeSchr avatar Feb 27 '22 12:02 TheJoeSchr

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Mar 12 '23 14:03 stale[bot]