Skip to content
This repository has been archived by the owner on Aug 3, 2024. It is now read-only.

Troubleshooting

galister edited this page Nov 16, 2023 · 34 revisions

PipeWire: Mouse is moving on the wrong screen

This is because the screens were selected in the wrong order.

Delete your tokens and then re-launch WlxOverlay.

rm ~/.config/wlxoverlay/*.token

When the screen share popups are shown, you should see a desktop notification about which screen to select. If this is not the case, run WlxOverlay in a terminal window and follow the instructions there. Once your screens are selected, you can again run WlxOverlay like normal.

Lore:

Sadly, PipeWire doesn't expose the position of the selected screen, nor the logical size. Due to this, we have to get these from Wayland. There's no correlation between the Wayland info and the PipeWire info of each screen, so the best we can do is ask the user to select them in order.

EVROverlayError: InvalidTexture

You will likely see a egl: failed to create dri2 screen if you scroll up. In that case, see the issue below.

egl: failed to create dri2 screen

This is a frequent issue when using NVidia. Seemingly it's trying to load the Mesa implementation of EGL over NVidia's.

Try setting:

__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10-nvidia.json

Warning: Do not set this globally, as it will break Flatpak apps. If you have other EGL apps that need this, and you don't want to do it per app, I recommend moving /usr/share/glvnd/egl_vendor.d/50-mesa.json out from that folder.

Could not initialize overlay: KeyInUse

See the SocketException below.

SocketException (98): Address already in use

You may have started WlxOverlay while it's already running somewhere else.

Remember; WlxOverlay will be started by SteamVR automatically!

It's not impossible that something else is using the port. Check using lsof -i :42069

If you need to run WlxOverlay by hand (to see logs, etc), clean up any running instances first:

pkill -f WlxOverlay

Failed to connect to wayland display server when on X11

Because some SteamVR versions only work with WAYLAND_DISPLAY unset, WlxOverlay doesn't rely on WAYLAND_DISPLAY.

Instead, it will try and discover the wayland socket itself at $XDG_RUNTIME_DIR/wayland-*

Some desktop environments are known not to clear this wayland socket after switching wayland → X11 without a reboot. In these cases, it's ok to remove this file.

ioctl returned -1 on startup

Ensure that your user has access to uinput.

This is usually as simple as adding yourself to the input group:

sudo usermod -a -G input $USER

You will likely need to reboot or restart your desktop session.

Lasers are not visible

I have heard of a single case when no matter what we've tried the lasers wouldn't show.

If you run into this, try enabling the fallback_cursors option in the config.yaml.

Also please reach out as I want to know more about this issue. (Discord link below)

EGL_NO_DISPLAY on wayland

See the GLFW issue below.

GLFW Init failed, PlatformError

The error message will look like this:

Silk.NET.GLFW.GlfwException: GLFW Init failed, PlatformError: Wayland: Failed to connect to display

Solution: Your distro should provide separate packages for glfw-wayland and glfw-x11, which conflict.

Make sure that you're using the X11 package when running under X11 and the Wayland package when running under Wayland.

WlxOverlay needs to interface with your Wayland compositor directly, and attempts to run it via XWayland will result in black screens.

Wayland: Screens are black

Verify you're not running under XWayland

Method 1: Check the screen names on your watch.

  • Scr 1, Scr 2, etc -> Xorg screens (XWayland)
  • Default, DP-1, DP-2, HDMI-1, HDMI-2, etc -> Wayland

Method 2: Look for Wayland detected. in the logs

If you're sure that you're not on XWayland, the capture might have issues. Try switching to software capture by setting wayland_capture: pw-fallback in your config.yaml.

BadAlloc on eglCreateImage

Happens when using PipeWire GPU capture.

Try switching to software capture by setting wayland_capture: pw-fallback in your config.yaml.

Also please provide us logs and info of your desktop environment on Discord or in a ticket, so that we can look into it.

Video panel on watch does nothing

The video panel buttons simply change the HmdDisplayColorGain*_Float settings in SteamVR.

If there is no effect on your system then it's likely due to your headset driver not supporting this setting.

Reaching out

Hop on to this Discord Server and poke me if you need more help.

There is also a Matrix Space here: #linux-vr-adventures:matrix.org