protonscr

Zenity dialog for "cap_sys_nice" is failing due to steam runtime issues

steamvrclosed
ValveSoftware/SteamVR-for-Linux#203 · opened 2019-06-24 by drawingpixels · updated 2019-07-16 · 11 comments · github
Ddrawingpixels 2019-06-24 github

Your system information

  • Steam client version: Jun 21 2019, at 1:43:20
  • Distribution: Arch Linux
  • Graphics driver version: Mesa 19.1.0-3 (RX 480 via. amdgpu)
  • Gist for SteamVR System Information: https://gist.github.com/SketchStick/a3c18816b5da7a100f662a1d44ad02f6
  • Opted into Steam client beta?: Yes
  • Opted into SteamVR beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

This assumes that vrcompositor-launcher should have cap_sys_nice set on it (as that allows async reprojection on AMD) and I do recall SteamVR running a script once to set some privileges, but I only saw it once.

vrcompositor-launcher has been silently losing cap_sys_nice on multiple occasions, I can only assume it's due to SteamVR updating? The problem is that once it loses those privileges, I get no warnings and that script that set it up initially doesn't kick in again. So async reprojection just doesn't work until I set those privileges manually.

Steps for reproducing this issue:

  1. sudo setcap -r vrcompositor-launcher
  2. Run SteamVR and see if it notices...
Llostgoat 2019-06-24 github
  1. Run SteamVR and see if it notices...

How are you launching SteamVR?

Could you also try launching SteamVR in the following way and let me know if that works:

  1. Open Steam
  2. Click on 'Library'
  3. Select 'VR' Filter
  4. Launch 'SteamVR'
  5. If it fails can you attach: /tmp/SteamVRLauncherSetup.log
Ddrawingpixels 2019-06-24 github

I typically launch using the VR button on the top-right of the Steam client.

/tmp/SteamVRLauncherSetup.log:
Tue Jun 25 01:17:15 AEST 2019 - Error: user declined superuser request.

Ddrawingpixels 2019-06-24 github

Okay, there's some funkiness going on under Arch... "steam-runtime" presents no dialog, but "steam-native" does.

Ddrawingpixels 2019-06-24 github
+ zenity --no-wrap --question '--text=SteamVR requires superuser access to finish setup. Proceed?'

(zenity:31378): Gtk-WARNING **: 01:27:27.150: Unable to locate theme engine in module_path: "adwaita",

(zenity:31378): Gtk-WARNING **: 01:27:27.155: Unable to locate theme engine in module_path: "adwaita",

** (zenity:31378): WARNING **: 01:27:27.156: Could not load ui file /usr/share/zenity/zenity.ui: /usr/share/zenity/zenity.ui: required gtk+ version 3.0, current version is 2.24

(zenity:31378): Gtk-CRITICAL **: 01:27:27.156: IA__gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(zenity:31378): Gtk-CRITICAL **: 01:27:27.156: IA__gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed
+ pErr 'Error: user declined superuser request.'
++ date
+ echo 'Tue Jun 25 01:27:27 AEST 2019 - Error: user declined superuser request.'
+ return 1
+ '[' 1 '!=' 0 ']'
+ zenity --no-wrap --info '--text=SteamVR setup is incomplete, some features might be missing. See /tmp/SteamVRLauncherSetup.log for details.'
Kkisak-valve maintainer 2019-06-24 github

Thanks for the detailed troubleshooting, that makes your issue the same as https://github.com/ValveSoftware/steam-runtime/issues/104.

Kkisak-valve maintainer 2019-07-10 github

Hello @SketchStick, per "Use the host's zenity program when available for basic dialogs during startup" in the SteamVR 1.6.3 beta update, please retest this issue.

TTTimo 2019-07-10 github

"too soon" (tm)

The fix also requires an update to Steam client beta to work. Steam beta should update soon, I'll flag this again.

TTTimo 2019-07-12 github

Please restest this issue - make sure to use the Steam Beta client as well.

Ddrawingpixels 2019-07-12 github

The prompt opened upon starting SteamVR and added cap_sys_nice to vrcompositor-launcher. Thank you for the fix!

Tested with SteamVR beta 1.6.3 and Steam client beta built: Jul 11 2019, at 22:28:23

Hh1z1 2019-07-16 github

Not sure why this was closed, it doesn't pop up. @SketchStick did you launch SteamVR from within steam or directly (vrstartup.sh)? For VR if I understand the intent behind the logic in vrstartup.sh, it requires cap_sys_nice rather then suggest it. I still see errors popup in /tmp/SteamVRLauncherSetup.log though it doesn't prompt.

Not sure about the other uses.

Ddrawingpixels 2019-07-16 github

@h1z1
It's closed because on my end this bug is fixed and works as intended in steam client beta and steamvr beta, when starting steamvr from within both steam-native and steam-runtime.

If you want to debug things on your end, you can repeat the same steps I did. Just make sure you opt in to both Steam beta and SteamVR beta before doing so.

The steps I took are:

  • sudo updatedb && locate vrcompositor-launcher
  • sudo setcap -r <vrcompositor-launcher-path-here>
  • run steam or steam-runtime from a terminal
  • run steamvr from within your steam library
  • you should have a either a zenity prompt pop up or the vrmonitor will popup immediately
  • getcap <vrcompositor-launcher-path-here> to see if cap_sys_nice was set
  • grab the output from /tmp/SteamVRLauncherSetup.log
  • run a search in the terminal you launched steam from for SteamVRLauncherSetup and grab the text until exec <steamvr-path-here>/vrstartup (or just generally run a search for "zenity")

If you get the required gtk+ version 3.0 message then it might be a similar issue, or at least some conflict regarding zenity.