tuxedocomputers / tuxedo-control-center

A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.
GNU General Public License v3.0
514 stars 68 forks source link

[Gentoo] Electron UI appears blank in Wayland #294

Open Kangie opened 1 year ago

Kangie commented 1 year ago

When Tuxedo Control Center is launched on my workstation the UI appears blank.

image

When the cursor is moved over an area that would be used for navigation it changes contextually which suggests that this is a rendering issue.

I am able to reproduce this issue both using the distributed RPM (via Gentoo ebuild - gentoo/gentoo#30759 ) and when building the application from source.

I have seen this on 1.2.4, 2.0.2, and current master (commit 646841d)

I'm not an electron expert but will attempt to hook up a debugger to both the renderer and main process to see if I can gather any additional troubleshooting information.

Other electron apps work as evidenced by my usage of VS Code to build and debug TCC. :)

Please let me know if you have any troubleshooting suggestions.

Kangie commented 1 year ago

I've been able to validate that everything works for me under X11 so it seems to be related to Wayland, where I spend most of my time.

Kangie commented 1 year ago

invoking tuxedo control centre under wayland as follows allows the UI to display:

# Disable GPU acceleration (?)
tuxedo-control-center --disable-gpu
# Force Wayland rather than XWayland
# This actually segfaults :(
tuxedo-control-center --enable-features=UseOzonePlatform --ozone-platform=wayland

~I suppose the best solution is just ensuring that under Wayland we default to launching with the Wayland renderer; I'll look into whether or not that's an 'update electron' or a 'change some code' thing.~

michaldybczak commented 7 months ago

On Manjaro testing branch, TCC works fine under Wayland when it opens with XWayland.

When opened with:

tuxedo-control-center --enable-features=UseOzonePlatform --ozone-platform=wayland

I can confirm it segfaults:


Failed to register global shortcut
Debugger trap/breakpoint (memory dump)
crissi-tuxedo commented 7 months ago

I looked into it and I think it might be related to this problem here: https://github.com/electron/electron/issues/32436

The fix is only backported till electron version 17: https://github.com/electron/electron/pull/33355

So we will have to wait till we can update the electron Version (don't worry, we are working on it :) ) and see if that fixes it!

in the meantime I suggest using XWayland for the time being.

Oh and in general: if the GUI is not completely dead and "just" blank you can usually still open the developer console by using ctrl + shift + I and see if it's spewing out any errors. For the main process it spills it's errors onto the commandline if you start tcc from there.

best regards, Crissi

crissi-tuxedo commented 7 months ago

I couldn't get the current version of TCC to start in native wayland at all (it just ignored the flags and ran on xwayland), but I tested my branch with electron 19 and it runs in native wayland just fine :)

gotta be patient for the big update ;)

Kangie commented 7 months ago

Thanks. I'll keep an eye out and get the Gentoo package updated when it's out. :)

Kangie commented 6 months ago

I couldn't get the current version of TCC to start in native wayland at all (it just ignored the flags and ran on xwayland), but I tested my branch with electron 19 and it runs in native wayland just fine :)

gotta be patient for the big update ;)

Is this going to be Tuxedo Control Center 3.0.0?

tuxedoder commented 6 months ago

We haven't decided on a release version yet.