packwiz-installer icon indicating copy to clipboard operation
packwiz-installer copied to clipboard

Blank windows on some Linux WMs (Sway, BSPWM, Awesome, Xmonad, SteamOS)

Open fxzzi opened this issue 3 years ago • 7 comments
trafficstars

https://uploadi.ng/fazzi/jNScKfQo as you can see here, there are white boxes and I'm unable to see the options. I'm running Arch Linux. Any suggestions?

fxzzi avatar Jun 11 '22 11:06 fxzzi

Hmm, that's strange... try updating/reinstalling Java? Make sure you're not using the headless JDK/JRE.

comp500 avatar Jun 11 '22 12:06 comp500

Same issue here on BSPWM, I've had it before, but it was fixed when I switched from openj9.

Apparently it's a Java bug on non-reparenting window managers (i.e. BSPWM, Xmonad, Awesome, DWM). There's a pretty comprehensive issue for it on some swing library's repo.

I've found two fixes looking around online.

This one's supposed to work if you're using OpenJDK, I just added it to my .profile export _JAVA_AWT_WM_NONREPARENTING=1

There's this fix too, I remember having to use it once to get IntelliJ to work, but iirc those issues manifested a bit differently https://github.com/ThatOneCalculator/bspwm-fix-java

Dakedres avatar Jun 14 '22 00:06 Dakedres

This is still a problem for me. I am using Sway (Wayland) on Arch Linux. I tried the environment variables with no joy. Anyone know any current workarounds?

dajix350 avatar Nov 20 '22 03:11 dajix350

Other than the aforementioned NONREPARENTING env variable, I don't know. There is an issue on the Sway repository that might be helpful: https://github.com/swaywm/sway/issues/595

comp500 avatar Nov 20 '22 13:11 comp500

Another user has successfully used _JAVA_AWT_WM_NONREPARENTING=1 on Sway - this workaround seems to still work in modern OpenJDK builds.

comp500 avatar Apr 22 '23 01:04 comp500

It looks like JetBrains has managed to fix the root cause of this issue in JetBrains Runtime with this patch; you can try this JDK fork at https://github.com/JetBrains/JetBrainsRuntime

I hope this can be upstreamed into OpenJDK in the future, as neither the reparenting environment variable nor a custom JVM are feasible for me to implement as a general solution.

comp500 avatar Apr 22 '23 01:04 comp500

to make this work on the SteamDeck install flatseal and then modify the environment variables for PrismLauncher to include the variable, it works

Merith-TK avatar May 17 '23 19:05 Merith-TK