Blank Java windows on BeagleBone Black Industrial running Debian Buster LXDE?

When running and displaying any Java program with a swing-based GUI on my BeagleBone Black Industrial, the windows are yellow and blank.

The window appears with the appropriate title. The minimize, maximize, and close buttons in the window work.

Running latest Debian:

Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster

Running LXDE installed using sudo apt-get install lxde.

Running OpenJDK11 installed using sudo apt install default-jdk:

openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode)

The jar has been compiled for OpenJDK11. The program displays a window with a button that does nothing when pressed.

It runs fine on Windows. It also runs fine on a Raspberry Pi.

I am launching the java program using java -jar aa_SimpleWindowTest.jar.

Does anyone have any idea why?

Instead try:

java -XX:-AssumeMP -jar aa_SimpleWindowTest.jar.

Regards,

Hello Robert,

An update: I tried
java -XX:-AssumeMP -jar aa_SimpleWindowTest.jar
to no avail.

Hello Robert,

I actually managed to launch and run the program a few minutes ago using:
java -jar -Dsun.java2d.xrender=false aa_SimpleWindowTest.jar

However, I still have a few questions. Hopefully you’ll be kind enough to help me bridge the gaps in my knowledge.

I understand the general reason why disabling xrender worked (causes issues on older X11 configurations), but do not understand the reason why in depth. Source: https://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html#xrender

Why does it work on the RaspberryPi?

I know RaspberryPi forked the LXDE, and have made some changes since. I’d love to know if the changes made have to do with the Open JDK installation or the desktop environment.

Also, would you consider your suggestion better than the solution I found or worse? Would you mind explaining your solution so I can better understand it?

Thank you for the help,
Hunter

Glad you got it working, AssumeMP was an older bug that i was dealing with. I wonder if since we are stuck with xorg’s fbdev driver on the BBB you are forced to use xrender=false…

You can try the modesetting xserver driver, but that tends to lock up on bbb hardware.

Regards,

Interesting guess.

Thanks for the tip… I will avoid modesetting the xserver driver so that I don’t lock up my device.