SeakMengs / WindowPet

Pet overlay app built with tauri and react that lets you have adorable companion such as pets, anime characters on your screen.
MIT License
110 stars 3 forks source link

Doesn't work correctly on linux #3

Open RAVENz46 opened 5 months ago

RAVENz46 commented 5 months ago

It works fine on windows(baremetal/vm), however I cannot run on linux. Env: NixOS(Gnome X11/Wayland AppImage-version baremetal) , PopOS(Cosmic/Gnome Wayland AppImage-version vm) , Debian(KDE Wayland deb-version vm)

NixOS derivation ``` { lib, fetchurl, appimageTools }: let pname = "window-pet"; version = "0.0.7"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/SeakMengs/WindowPet/releases/download/v${version}/window-pet_${version}_amd64.AppImage"; hash = "sha256-Sdyb4+3nPmWu8/6Mb9ZP8N6OclVBIdHcTgqlNOl9sww="; }; appimageContents = appimageTools.extract { inherit name src; }; in appimageTools.wrapType2 rec { inherit name src; extraInstallCommands = '' mv $out/bin/{${name},${pname}} install -m 444 \ -D ${appimageContents}/${pname}.desktop \ -t $out/share/applications substituteInPlace \ $out/share/applications/${pname}.desktop \ --replace 'Exec=AppRun' 'Exec=${pname}' cp -r ${appimageContents}/usr/share/icons $out/share ''; meta = with lib; { description = "Pet overlay app built with tauri and react that lets you have adorable companion such as pets, anime characters on your screen."; homepage = "https://github.com/SeakMengs/WindowPet"; license = licenses.mit; platforms = [ "x86_64-linux" ]; maintainers = [ maintainers.ravenz46 ]; mainProgram = "window-pet"; }; } ```
Error on X11 ``` EGLDisplay Initialization failed: EGL_NOT_INITIALIZED Cannot create EGL context: invalid display (last error: EGL_SUCCESS) ```
Error on NixOS wayland ``` libEGL warning: egl: failed to create dri2 screen [2024-02-03][06:20:10][INFO][window_pet] app started libEGL warning: egl: failed to create dri2 screen (WebKitWebProcess:13037): GStreamer-WARNING **: 15:20:12.036: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though. [2024-02-03][06:20:12][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded [2024-02-03][06:20:12][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded ```
Error on PopOS and Debian wayland ``` libEGL warning: egl: failed to create dri2 screen libEGL warning: egl: failed to create dri2 screen [2024-02-03][08:38:23][INFO][window_pet] app started libEGL warning: egl: failed to create dri2 screen [2024-02-03][08:38:25][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded [2024-02-03][08:38:25][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded ```
RAVENz46 commented 5 months ago

Bit improvement on NixOS Set Variable:

WEBKIT_DISABLE_DMABUF_RENDERER=1
WEBKIT_DISABLE_COMPOSITING_MODE = 1

Now error says:

[2024-02-03][10:19:11][INFO][window_pet] app started

(WebKitWebProcess:5861): GStreamer-WARNING **: 19:19:12.505: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.
[2024-02-03][10:19:12][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded
[2024-02-03][10:19:12][INFO][ih@tauri://localhost/assets/index-uWxEQdZc.js:87:50814] Pets scene loaded

It seems doesn't help PopOS and Debian.

RAVENz46 commented 5 months ago

Now I realized that it works on NixOS however it's bit wired. It would be preferable to run as a widget like conky instead of window.

Screenshot from 2024-02-04 13-15-13