ValveSoftware / SteamVR-for-Linux

Issue tracker for the Linux port of SteamVR
930 stars 45 forks source link

[BUG] vrcompositor `Failed to get blur texture lod 0` leading to error (500) #639

Closed ThaSwapMeetPimp closed 11 months ago

ThaSwapMeetPimp commented 12 months ago

Describe the bug SteamVR beta 2.1.3 shows "SteamVR Fail Oh no! SteamVR has encountered an unexpected problem Restart SteamVR (500)

And nothing displays in headset. To Reproduce Steps to reproduce the behavior:

  1. Go to 'SteamVR'
  2. Click on 'Launch'
  3. Wait to start
  4. See error
  5. Restart SteamVR
  6. See error Expected behavior SteamVR to work when launched System Information (please complete the following information):

Screenshots If applicable, add screenshots to help explain your problem.

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" section in their replies.

aureliensoria commented 12 months ago

Hello ! Same issue on my side. SteamVR crashes at startup with error 500. OS: Pop!_OS 22.04 LTS SteamVR: 2.1.3 Nvidia Driver: 545.29.02 Steam Beta: Yes

kisak-valve commented 12 months ago

Hello @ThaSwapMeetPimp, these look like some lines of interest in your vrcompositor.txt log:

Thu Nov 16 2023 22:49:00.305172 [Error] - Failed to get blur texture lod 0
Thu Nov 16 2023 22:49:00.305182 [Error] - Failed to init graphics device
Thu Nov 16 2023 22:49:00.329178 [Info] - Failed to kill gpu-trace
Thu Nov 16 2023 22:49:00.332638 [Info] - Failed to initialize compositor
Thu Nov 16 2023 22:49:00.332666 [Info] - Failed to start compositor: VRInitError_Compositor_CreateBlurTexture
caseif commented 12 months ago

I'm running into this issue as well on 2.1.3 with identical messages in the log.

NewtSoup commented 12 months ago

Same as above. 2.13 - I have not been able to play VR games since late August.

wallcarpet40 commented 12 months ago

Same here. Can't play at all. Fedora 39. Not an ideal update for the weekend :laughing:

NewtSoup commented 12 months ago

@wallcarpet40 if you switch away from the beta the live version is 2.0.10, that kind of works. Skyrim at the very least is playable so I suspect that Ultrawings will be too and maybe a few other games. We really need the ability to go back to known working versions. The last "good" version for me was 1.26 and I can't get the manual roll back to work. - Can we have 1.26 as a legacy roll back under the BETA's dropdown? I am also using Fedora 39 (Nobara Linux).

Danielduel commented 12 months ago

Looks like I have the same issue. Arch, Hyperland, amd stack, latest everything

Attaching logs: SteamVR-2023-11-18-AM_12_14_56.txt

Additional observation is that in terminal logs the steam has few failed sh calls

...
sh: 1: xdg-mime: not found
...
sh: 1: xdg-icon-resource: not found
sh: 1: xdg-mime: not found
...
zatricky commented 12 months ago

This must have been caused by an update released very recently. I was playing games fine until a few hours ago. When I came back to Steam it was suddenly not working as described in this Issue. No system updates were done, no reboots/etc ; only Steam's built-in automatic software updates. :-|

caseif commented 12 months ago

@zatricky Yeah, it appears it was introduced in 2.1.3.

icychkn commented 12 months ago

OS: Artix Linux (64 bit) Kernel Version: 6.6.1-artix1-1 SteamVR: Beta AMD Driver: AMD AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.54, 6.6.1-artix1-1) AMD Driver Version: 4.6 (Compatibility Profile) Mesa 23.2.1-arch1.2 Steam Beta: Yes

Had the same issue with SteamVR Beta, but switching SteamVR to temp_v1.27.5 beta branch works flawlessly.

c-x-berger commented 12 months ago

I'm now seeing a 500 error on startup of the stable branch, same error in vrcompositor.txt.

SteamVR Version:    2.1.4 (1700247842)
SteamVR Date:   2023-11-17
Steam:  Public
Steam Branch:   
Steam AppID:    250820
Tracking:   lighthouse
OS: Linux version 6.6.1-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Wed, 08 Nov 2023 16:05:38 +0000
Direct Mode Vendor: AMD
Direct Mode Version:    96477185
Admin:  Yes
CarbonNotes commented 12 months ago

Not the ideal solution, of course, but utilizing the temp_1.27.5 Beta branch allows SteamVR to be usable again at the very least.

ThaSwapMeetPimp commented 11 months ago

Great. Update on stable brings it up to 2.1.4, and this isnt fixed so SteamVR is completely borked on beta and stable.

jnse commented 11 months ago

Same problem for me on gentoo, same log messages. Both beta and stable. :( It is however possible to get things working again by selecting 'linux_v1.14 - Older build' in the 'Beta Participation' drop-down. (edit: or the temp_v1.27.5 branch as suggested above)

NewtSoup commented 11 months ago

@CarbonNotes > Not the ideal solution, of course, but utilizing the temp_1.27.5 Beta branch allows SteamVR to be usable again at the very least.

Thanks for this. I tried it but no luck. Issues for me started with the 1.27 release. 1.26 was the last known stable version I have played.

And now Live is 2.14 and Beta is 2.14 so I have no working version of Steam VR again, 2.0.10 was kind of working but it's not in the list.

andy-d1969 commented 11 months ago

2.0.10 Stable worked fine here, now everything is broken. Please make 2.0.10 available in the beta menu.

lightstream commented 11 months ago

Also suffering from this. My SteamVR System Report: https://gist.github.com/lightstream/327c7c8274ffb85de91ca6c28d887279

As others, the temp_1.27.5 Beta branch can be used as a workaround.

Danielduel commented 11 months ago

Great. Update on stable brings it up to 2.1.4, and this isnt fixed so SteamVR is completely borked on beta and stable.

Offtop...

"Stable"

I think it is time to do SteamVR version switcher šŸ¤”

andy-d1969 commented 11 months ago

Like others said, 1.27.5 doesn't work here either. Only 1.15 works, but that is incompatible with newer Proton versions. 2.0.10 worked best here. So please make it available in the beta menu. I really need SteamVR to work.

Danielduel commented 11 months ago

SteamVR stable version downgrade

Go to steam and upgrade to "Beta participation: None"

Get and check your SteamCMD Docs https://developer.valvesoftware.com/wiki/SteamCMD Try executing steamcmd in your shell, (if it is not available - install it) it should do it's thing and then give you an interactive shell with Steam> prefix. Close it by exit and press enter. (you can ignore Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory)

Current depots on my system (app meta in steam's subfolder): SteamVR app id is 250820

"250823"
{
    "manifest"      "3017499937843963703"
    "size"      "1058779236"
}
"250824"
{
    "manifest"      "4396900163967778263"
    "size"      "581278645"
}
"250827"
{
    "manifest"      "149537799382090177"
    "size"      "4816999"
}
"250830"
{
    "manifest"      "7851858840173054231"
    "size"      "3356665389"
}
"250832"
{
    "manifest"      "2989994424354254892"
    "size"      "365727352"
}

Compare them with manifest history: https://steamdb.info/app/250820/depots/ 250832, 250830, 250827 have depots from last month, I assume we can ignore them. 250824, 250823 most likely have the breaking change.

I pick version that is 17 or 18 days old I pick 1399421998612179517 for 250823 and 3630795351668562250 for 250824 I suggest downgrading them both to prevent some random crash 2h into the vr session.

Depot download syntax: download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>]

(You will have to pass your steam credentials and guard code to auth steamcmd)

steamcmd
login <username> <password>
download_depot 250820 250823 1399421998612179517
download_depot 250820 250824 3630795351668562250

(Those download_depot calls like to take longer than expected (they unpack a ton of small files), you can restart them, but you will have to repeat the login, if you think your download has stuck - you can inspect the depot folder size - see below)

download_depot will tell you where depots are stored, for me it was ~/.steam/steamcmd/linux32/steamapps/content/app_250820/ Just to note - download size in the CLI and actual size after unpacking is different - 250823 for me showed 334MB, but after unpacking it is a bit less than 1010MB, 250824 is around 554MB after unpacking.

Steam's SteamVR directory:

Copy-paste (and replace all) 250823 and 250824 contents into SteamVR folder. I did 250823 first.

And boom, SteamVR shows itself as 2.0.10. I have no idea how stable it is, but it seems to work (I just ran Beat Saber and it looks fine)

// After you've verified it works - I suggest creating a backup of this working SteamVR for the future.

// After the next update - please reverify file integrity, steam thinks that you have the latest-latest steamvr version right now

Alternatives:

andy-d1969 commented 11 months ago

Thank you very much. It works for now.

aleiby commented 11 months ago

Can you try version 2.1.5 (in the beta branch of SteamVR) and see if that fixes the issue for you? Thanks!

https://help.steampowered.com/en/faqs/view/4F5E-AD22-7402-2EAD

LukeZaz commented 11 months ago

Haven't tested much, but 2.1.5 appears to fix this for me. SteamVR is showing up on the headset again and the error message no longer appears.

caseif commented 11 months ago

Can confirm that 2.1.5 fixed the issue for me as well!

Danielduel commented 11 months ago

I can confirm that the issue of 500 on startup is fixed in 2.1.5. (I only launched SteamVR and checked if hmd works)

Malthasa commented 11 months ago

Still doesnt work for me :(

Danielduel commented 11 months ago

@Malthasa could you provide logs?

Malthasa commented 11 months ago

How do i get my logs? I don't get the error anymore but i still only see a blackscreen on my headset

Danielduel commented 11 months ago

3h session of Beat Saber 1.29.1 on 2.1.5 - no problems, I think the current beta is stable for me. @Malthasa https://github.com/ValveSoftware/SteamVR-for-Linux/blob/master/CapturingSystemReport.md

NewtSoup commented 11 months ago

Steam VR 2.1.5 launches again for me. Skyrim works pretty much as expected as do a few other games. Fallout 4 VR though is still very below par. The display graph is still a wall of magenta lines and the timing is 22ms/11.1 ms Prior to Steam VR 1.27 Falllout 4 was very playable and so this is my litmus test.

alpnist commented 11 months ago

Same issue as Malthasa. No errors but only black screen on the headset. The vr view on the desktop shows that the headset is connected and being read by SteamVR. The controllers are detected. I am getting audio on the headset but no video. https://gist.github.com/alpnist/a8b2d6c062a52e1692753779e5a0667b

jnse commented 11 months ago

2.1.5 works for me as well, and the issue appears fixed for me anyway.

alpnist commented 11 months ago

1.27.5 does work for me. As 2.1.5 doesn't work for all of us, I agree with the requests that 2.0.10 be added to the betas.

bobsdacool commented 11 months ago

using ALVR; black screen with audio on 2.1.5. 1.27.5 works for me, but I have to change to 2.1.5 then back to 1.27.5, give it a 540MB update, several restarts (of steamvr), re-register ALVR driver, then it works. Kind of cumbersome having to do this each reboot. Definitely think the last several versions of steamvr should be available under Beta.

danieloneill commented 11 months ago

Using Stable: As described in initial report, Error 500, black screen.

Using Beta: Fedora reports that "vrwebhelper" crashed and ALVR doesn't detect SteamVR running, despite reinstalling driver, and SteamVR reports no headset being connected.

Also, though likely unrelated, SteamVR opens 3 settings windows; two of which are blank (empty), one of which has the actual settings. The other two cannot be closed, even when SteamVR and Steam are closed, without killing Xwayland server or rebooting PC/restarting session. I suspect this is a Wayland-specific (or Plasma specific) issue.

andy-d1969 commented 11 months ago

I can confirm that the error 500 issue is fixed by 2.1.5.

KGOrphanides commented 11 months ago

Opting into the beta just now got me version 2.1.6, which also resolves the error 500 issue for me.

EDIT, forgot to add: On an HTC Vive. System specs: https://gist.github.com/KGOrphanides/0b0becc7e19a29c1e203194c2323298a

danieloneill commented 11 months ago

2.1.6 removes the 500 error, and now gives a 108 error and no longer communicates with ALVR.

My current experience with the different version are as follows:

My experience with beta is as follows, as I spent a few hours trying to sort it.

It seems as though LD_LIBRARY_PATH no longer contains system paths in this beta, according to the vrserver environ contents:

LD_LIBRARY_PATH=/home/doneill/.local/share/Steam/steamapps/common/SteamVR:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/aliases:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64::/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64

and:

VRCOMPOSITOR_LD_LIBRARY_PATH=/home/doneill/.local/share/Steam/steamapps/common/SteamVR:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/qt/lib:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/aliases

For ALVR to work, it needs to load libavfilter.so.x (among others) which, on my system, is located in /lib64

SteamVR log indicates this issue with:

Unable to load driver alvr_server from /home/doneill/alvr/ALVR/build/alvr_streamer_linux/lib64/alvr/bin/linux64/driver_alvr_server.so (libavfilter.so.9: cannot open shared object file: No such file or directory)
ASSERT: "DriverManager alvr_server load error libavfilter.so.9: cannot open shared object file: No such file or directoryu" at /data/src/common/vrcommon/drivermanager.cpp:439.
Unable to load driver alvr_server because of error VRInitError_Init_FileNotFound(103). Skipping.
No connected devices found. Returning best error VRInitError_Init_HmdNotFound

I've attempted to symlink the libraries to "/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64" in my case, but with no success. I suspect it's simply that the dependencies of libav* are just too complex, but I also noticed via strace that one (or more) SteamVR processes are mmaping libavfilter.so.7, where my ALVR build is using libavfilter.so.9.

Suspecting a version/symbol issue, I tried rebuilding ALVR against the same versions. This doesn't change the result, however, besides the error message changing to "libavfilter.so.7: cannot open shared object file".

The environment of temp_v1.27.5 (which works) retains the system library paths as follows:

LD_LIBRARY_PATH=/home/doneill/.local/share/Steam/steamapps/common/SteamVR:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/qt/lib:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/local/cuda-12.2/targets/x86_64-linux/lib:/usr/lib64/iscsi:/usr/lib64/llvm15/lib:/usr/local/lib64:/usr/i686-w64-mingw32/lib:/usr/x86_64-w64-mingw32/lib:/usr/lib64/pipewire-0.3/jack:/usr/lib64/tcl8.6:/lib:/lib64:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/home/doneill/.local/share/Steam/steamapps/common/SteamVR:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64

and

VRCOMPOSITOR_LD_LIBRARY_PATH=/home/doneill/.local/share/Steam/steamapps/common/SteamVR:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/qt/lib:/home/doneill/.local/share/Steam/steamapps/common/SteamVR/bin/linux64:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/local/cuda-12.2/targets/x86_64-linux/lib:/usr/lib64/iscsi:/usr/lib64/llvm15/lib:/usr/local/lib64:/usr/i686-w64-mingw32/lib:/usr/x86_64-w64-mingw32/lib:/usr/lib64/pipewire-0.3/jack:/usr/lib64/tcl8.6:/lib:/lib64:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/doneill/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/home/doneill/.local/share/Steam/steamapps/common/SteamVR

While the gap in versions is large enough that all my detective work could just be looking at an unrelated red herring, I hope some of it helps.

alpnist commented 11 months ago

2.1.7 black screen on the Quest 2. No improvement. Still hoping for 2.0.10 to be made available as a beta.

andy-d1969 commented 11 months ago

To get ALVR to work with SteamVR 2.1.5 or higher, I had to start SteamVR with Steam-Play-None. https://github.com/Scrumplex/Steam-Play-None

Danielduel commented 11 months ago

To incerase the reach of ALVR-connected problems on latest steamvr - I suggest creating a new issue with title clearly stating what's the problem. @andy-d1969 @danieloneill

alpnist commented 11 months ago

Steam Play None did fix the black screen issue on the headset, so the latest 2.1 is working. Using ALVR (as would most or all Quest users on Linux) Posting here so other people with the problem can find the fix.

AnOpenSauceDev commented 11 months ago

Relevant issue on Steam Beta Client: https://github.com/alvr-org/ALVR/pull/1845

MaKraMc commented 11 months ago

Steamvr 2.1.7 works for me again :)

shfbsdbvf commented 11 months ago

I also have this issue :( System Information:

Switching to beta doesn't solve the issue, gives me "Something is wrong. A key component of SteamVR isn't working correctly. Please reinstall SteamVR. (303)" error instead. System Information:

The workaround provided here https://github.com/ValveSoftware/SteamVR-for-Linux/issues/639#issuecomment-1817538299 helped, but I can't use old version of SteamVR eternally...

leetus commented 11 months ago

Replying to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/639#issuecomment-1817538299

Fix indeed works on KDE/Kubuntu.

Dreamurrrr commented 11 months ago

I still have this issue. Had to use the steamcmd workaround to get it working. Currently on Linux Mint 20.3 with Nvidia 535 installed.

ernstp commented 11 months ago

This seems to be solved for me with the 2.1.8 Hotfix (Nov 30). Ubuntu 23.10, Radeon, HTC Vive.

icychkn commented 11 months ago

OS: Artix Linux (64 bit) Kernel Version: 6.6.2-artix1-1 Steam Beta: Yes SteamVR: 2.1.8 Headset: Valve Index AMD Driver: AMD AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.54, 6.6.2-artix1-1) AMD Driver Version: 4.6 (Compatibility Profile) Mesa 23.2.1-arch1.2

Can confirm it works properly with 2.1.8.

Danielduel commented 11 months ago

Hi @kisak-valve Would you like a bit more polished version of https://github.com/ValveSoftware/SteamVR-for-Linux/issues/639#issuecomment-1817538299 as a DowngradingStableVersion.md guide in the repository root?