dvx / lofi

🎵🔉 A mini Spotify player with WebGL visualizations.
http://lofi.rocks
MIT License
1.2k stars 68 forks source link

Linux transparency broken unless the GPU is disabled #149

Open stamoun opened 3 years ago

stamoun commented 3 years ago

See https://github.com/electron/electron/issues/28834 and https://github.com/electron/electron/issues/25153

Disabling the GPU will completely break fullscreen visualization.

IMO, until Electron fixes this, visualizations should not work fullscreen on Linux.

Bug introduced when upgrading Electron to 11 (cf. https://github.com/dvx/lofi/commit/a0dc9e91d36b4206232e0b3659288d870b2e5524)

James-Livesey commented 3 years ago

I suggest that you check out this comment left on one of the issues you mentioned: https://github.com/electron/electron/issues/25153#issuecomment-843688494

I was trying to get vscode transparency working without --disable-gpu and decided to try --use-gl=desktop and to my surprise it worked.

It seems to work for me, which is excellent, seeing that I want to be able to take full advantage of GPU rendering inside transparent framed windows.

Let me know if this does/doesn't work for you — equally, it would be handy if there was no workaround (ie. transparency works out of the box) of course.

(Running Electron 14.0.1 on Debian 10 GNU/Linux with picom compositor and Nvidia drivers)

stamoun commented 3 years ago

I tried that option but when I was using the --use-gl=desktop flag, I couldn't get any window (Lofi's main or he debug console) to show. No clue what was happening here.

Electron 14.0.1 is not Lofi's version, it's currently at 11.2.1. I have a branch to upgrade it to 14 but I'm still running into issues with children browser windows

James-Livesey commented 3 years ago

Huh, very strange. Have you tried using this flag when running the electron-quick-start demo? That may give a rough indication of whether the flag works well for you with basic Electron applications, and not just Lofi.