Coder Social home page Coder Social logo

Comments (6)

electronstudio avatar electronstudio commented on August 11, 2024

Why should we want to upgrade?

  1. Packaging. Java 8 has a packaging tool but it's not been great (was quite buggy on Linux, doesn't remove unnecessary stuff from packaged JDK). It was removed in Java 9, and then a new better one was added in Java... 17, I think.

  2. Desktop integration for stuff like opening files. Java 11 has more/better desktop integration, and MacOS is particularly tricky so probably better in new versions.

from comicreaderultimate.

electronstudio avatar electronstudio commented on August 11, 2024

What are the problems with upgrading?

LWJGL2 doesn't work on any Java after 8. So we have to switch to LWJGL3.

Problems with LWJGL3 on Linux: resolution / aspect ratio is messed up. Crashes when attempting to open file dialog.

There's also problems I dont recall with LWJGL3 on Mac.

These problems might be fixed by using a newer version of LWJGL3... but that means using a newer version of LibGDX. And that didn't work due to weird JSON errors.

from comicreaderultimate.

electronstudio avatar electronstudio commented on August 11, 2024

What can we do?

  1. Upgrade to latest LibGDX. Fix incompatibilities with other libs and JSON errors etc.

  2. Switch to LWJGL3. Debug any remaining issues with resolution and file dialogs.

  3. Upgrade to Java 17.

  4. Produce packages using the new Java packager.

OR

Drop LibGDX entirely and port to a more modern graphics library.

OR

Rewrite entire project to use a more app-friendly non-game library like QT.

from comicreaderultimate.

electronstudio avatar electronstudio commented on August 11, 2024

For now:

Stick with Java 8 and investigate best integration we can get with it on Linux and Windows. Mac is always more hassle for fewer users so don't bother unless I happen to be using my old MacOS, and even then don't worry about the signing required to get anything to work on latest MacOS.

from comicreaderultimate.

electronstudio avatar electronstudio commented on August 11, 2024

What are the problems with upgrading?

LWJGL2 doesn't work on any Java after 8. So we have to switch to LWJGL3.

This isn't true, LWJGL2 is working on Linux with Java 17 for me now. So why did I think it wasn't before?!? Don't want to be in a situation where it works on some systems and not others.... OK I just experienced a hardlock of the entire system while testing Java 17 + LWJGL2. Not just the X server but the whole kernel. That's quite impressive but may perhaps be why I said "doesn't work" before.

What is not working at all is LWJGL2 + flatpak, and that includes using a flatpaked IntelliJ to test.

from comicreaderultimate.

electronstudio avatar electronstudio commented on August 11, 2024

The hardlock has not repeated so hopefully was a fluke caused by the flatpak tool exhausting the system memory or something.

Upgrading to LWJGL3 has been done. Resolution issue fixed, and the file dialog issue has not appeared on Linux. Need to test on Windows.

from comicreaderultimate.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.