naaive/orange

Help running this on WSL

Opened this issue · 14 comments

Hey, I cannot run this on WSL and error message is still unclear to me.

At first it requires missing libappindicator3-1 that was not available through apt and I had to download it from http://ftp.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-7_amd64.deb

I solved that out (as well as other missing deps), Orange got installed, but when I run it I get:

dzek@dzek-dell:/tmp$ orange
start travel /
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

(WebKitWebProcess:26964): Gdk-ERROR **: 12:05:56.983: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadFBConfig'.
  (Details: serial 181 error_code 163 request_code 149 (GLX) minor_code 21)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

On the interent I found only just something about NVidia drivers, but I don't have NVidia card and WSL probably can't use it anyway.

Any help would be appreciated :)

Thank you for the app, I'm looking for good replacement for Everything but for Linux (fsearch looked promising, but it's quite slow, doesn't index stuff in background, tldr UX is far from Everything on Windows) and Orange seems promising.

Oh, btw, it opens the window, but it's empty:

image

Thank you for the app, I'm looking for good replacement for Everything but for Linux (fsearch looked promising, but it's quite slow, doesn't index stuff in background, tldr UX is far from Everything on Windows) and Orange seems promising.

Hey, I cannot run this on WSL and error message is still unclear to me.

Thanks for your attention, i will try to reproduce the error and fix

You must follow WSLG https://github.com/microsoft/wslg documentation to properly get wsl2 GUI apps running on windows

@moracabanas

I don't have any problem running any other GUI app. I was running them on WSL1, now I'm doing it on WSL2. I run IDE, browser, file explorer, everything via WSL without any problem.

And I'm on Windows 10 (not planning to upgrade).

Did you try Appimage or .deb?

.deb

There was no AppImage when I first try it, now I tried AppImage and i get:

dzek@dzek-dell:/mnt/c/Users/dzek$ ./orange_0.0.6_amd64.AppImage
orange: error while loading shared libraries: libOpenGL.so.0: cannot open shared object file: No such file or directory

I installed libopengl0 package and now I get:

dzek@dzek-dell:/mnt/c/Users/dzek$ ./orange_0.0.6_amd64.AppImage

(orange:12364): libappindicator-WARNING **: 14:47:38.157: Unable to get the session bus: Error spawning command line “dbus-launch --autolaunch=095c5d5cb0544228a51ce3ac2b33a92d --binary-syntax --close-stderr”: Child process exited with code 1

(orange:12364): LIBDBUSMENU-GLIB-WARNING **: 14:47:38.157: Unable to get session bus: Error spawning command line “dbus-launch --autolaunch=095c5d5cb0544228a51ce3ac2b33a92d --binary-syntax --close-stderr”: Child process exited with code 1
clean old version cachedata
start travel /home/dzek
cost 0 s, total 3024 files
start travel /home
cost 0 s, total 2 files
start travel /srv
cost 0 s, total 1 files
start travel /etc
cost 0 s, total 1661 files
start travel /opt
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

(WebKitWebProcess:12389): Gdk-ERROR **: 14:47:39.915: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadFBConfig'.
  (Details: serial 181 error_code 163 request_code 149 (GLX) minor_code 21)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
cost 0 s, total 769 files
start travel /root
cost 0 s, total 1 files
start travel /lib
cost 0 s, total 693 files
start travel /mnt

which is basically the same thing I got with .deb

My guess is Tauri relies on some sort of OpenGL rendering implementation. Most Linux software currently running GUI on WSL are native applications. I think your WSL setup is using EGL x11 backend which relies on software rendering where now WSLG needs windows 11 because it relies on GLX. This is because GLX uses Mesa drivers > 21 in order to properly get hardware acceleration.

Im just making a guess about this.

I don't have such deep knowledge about those things. Anyway, Orange doesn't look like an app that should require hardware rendering to run, so maybe there is a workaround that could be implemented to force software rendering.

@dzek69 can you test this for me?

sudo apt install mesa-utils -> this is to get info about your graphic drivers on wsl

then

glxinfo | grep OpenGL it should show something like this, but with your GPU seup instead, mine is Nvidia:

OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce RTX 2060 with Max-Q Design)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.2.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 21.2.6
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
dzek@dzek-dell:/mnt/c/Users/dzek$ glxinfo | grep OpenGL
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
OpenGL vendor string: Intel
OpenGL renderer string: Intel(R) Iris(R) Xe Graphics
OpenGL version string: 1.4 (4.6.0 - Build 27.20.100.9749)
OpenGL extensions:

Thanks you. As shown on this this topic tauri-apps/tauri#2313 I would try to update your WSL2 to WSLG as older "GUI backends" are outdated and full of bugs. I think your issue is related to some missing driver fallback when OpenGL is not found by webkit renderer. So I think this issue is tauri related and not application specific.

On this topic the tested app itself works, only dev tools are not, so I still have hope it's fixable somehow :)

I can't update to WSLG due to having Win10 installed and WSLG needs Win11. And I don't want to upgrade (and many people just can't, because it's officially not supported on theirs hardware), so I am stuck with what I have.