Skip to content

Conversation

@kasemir
Copy link
Collaborator

@kasemir kasemir commented Apr 14, 2023

Updates JavaFX version to 20, the current one, https://github.com/openjdk/jfx/blob/jfx20/doc-files/release-notes-20.md

On Mac OS, this fixes the menu icons, https://bugs.openjdk.org/browse/JDK-8181084. Icons provided in high-res variants used to render in a wrong size, note data browser, file browser, logbook entry items:

Screenshot 2023-04-13 at 4 18 15 PM

Screenshot 2023-04-13 at 4 18 38 PM

With JavaFX 20, they render at the correct size:

Screenshot 2023-04-13 at 4 25 47 PM

Screenshot 2023-04-13 at 4 26 00 PM

On Mac OS, there is now also dedicated support for "Apple Silicon" aka "Arm", "M1", "M2", "aarch64", although as far as I can tell products built on/for the Intel x64 based version of OpenJDK for Mac OS will run fine on both Intel and Arm macs.

An update to JFX 20 does require at least JDK 17!
This requirement is shared with the apache derby lib as used by the scan server, #2465
So right now the github test builds which use JDK11 fail for the JFX 20 update.
JDK11 was released 2018. JDK 17 from Sept. 2021 is the current LTS release.
Might be time to overall require JDK 17 and then update JFX to 20.

@georgweiss
Copy link
Collaborator

What about building for Apple silicon? -Djavafx.platform=mac-aarch64?

Copy link
Collaborator

@georgweiss georgweiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At ESS we're starting commissioning next week. This will go on until beginning of August. During this period we'd like to avoid updates of this type. What we will plan for however is testing of current code base with Java 17 so that we're ready to make the leap come August.

@kasemir
Copy link
Collaborator Author

kasemir commented Apr 14, 2023

Haven't tried to cross-build.
What I've done:

  • Build with JFX20 on Intel mac
  • Run the result on Intel mac
  • Run the result on M2 mac --> The Intel build result is a good common binary
  • Build on M2 mac
  • Run that result on M2 mac --> Works, but not sure I want to start publishing both Intel and aarch64 binaries now because I can see people on intel macs download the aarch64 binary and then complain

@kasemir
Copy link
Collaborator Author

kasemir commented Apr 14, 2023

.. testing of current code base with Java 17 ..

Definitely a good idea, since that's the LTS version. I'm OK with delaying the JFX20 update a little

@georgweiss
Copy link
Collaborator

What is your build output? A JPackage generated installer?

@kasemir
Copy link
Collaborator Author

kasemir commented Apr 14, 2023

My build output is a zip file

@kasemir
Copy link
Collaborator Author

kasemir commented Sep 19, 2023

Javafx-21 is about to be released.

https://github.com/openjdk/jfx/blob/jfx21/doc-files/release-notes-21.md didn't point me to essential bug fixes or new features, but GTK2 is gone, Linux must use GTK3. Would that be a reason for us to move to JFX-20, delaying JFX-21?

@shroffk
Copy link
Member

shroffk commented Sep 19, 2023

hmm... the GTK3 only is a bit scary, I remember javafx (efxclipse) constantly crashing when used with GTK3. ESS has reported rendering issues.
Annoyingly the crashes were linked to a combination of UI operations, which makes it difficult to feel confident that we have tested all possible scenarios. I can start testing but would vote to wait before we remove GTK2 support.

@kasemir
Copy link
Collaborator Author

kasemir commented Sep 20, 2023

Agree on keeping GTK2 supported, I still select GTK2 on several Linux setups because it "works".
Still interested in JFX 20 because it fixes the ugly Mac OS icons.
So for JFX 20, just not JFX 21, yet.

@georgweiss
Copy link
Collaborator

Ran some tests on Ubuntu 20.04 with Java 17 and JavaFX 21. Could not see any GTK rendering issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants