-
-
Notifications
You must be signed in to change notification settings - Fork 645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Linux RISC-V 64 #890
Conversation
I'm running into a little trouble. I disabled the bgfx module for RISC-V 64. However, the nanovg module contains a class (NanoVGBGFX) that depends on bgfx. When the bgfx module is disabled, the class cannot be compiled either (because several invokeXXX methods are missing in I guess this is a known thing since I saw in the template that the class is only generated when the bgfx module is enabled (nanovg_bgfx.kt). But unfortunately, unless I run I know that the generator of LWJGL caches generated classes, so I'm guessing the cause of the problem is that the generator doesn't delete classes that shouldn't be there. But I'm not familiar with the generator, so can you take a look at this problem? |
@Glavo That's correct, the generator is not clever enough to delete previously generated code that is no longer needed. Also, I've verified that with a fully clean/reset repo and bgfx disabled in |
I see, thank you. |
I just spent a few hours working on the same thing, so hopefully I can help progress this PR! |
Edit: just do |
@Slackadays Hey, the problem you encountered was mentioned in the previous conversation. Here is Spasi's reply to this:
|
I actually just realized that by trying |
One more thing: I'm trying to get the tests working, and it looks like |
Sorry, I forgot why I did this. I will re-review these temporarily disabled modules when the issues blocking this PR are resolved. |
It turns out that there was an issue with rpmalloc which prevented it from properly working on RISC-V. I just made a PR at Glavo#1 that should fix it. Unfortunately, the tests hang at OpenCL probably because the VF2's Imagination drivers are pure junk right now, so that might improve sometime in the future. |
@Spasi There has been no progress on this PR for several months. Can you please take a look at these PRs?
|
long wait…… |
@Spasi these PRs let RISC-V become viable for Minecraft and anything else that uses LWJGL |
I'll run some tests right away to see if there are any issues that need to be addressed. |
@Spasi I have successfully built LWJGL on RISC-V platform and it passes all tests. This PR is now pending review. |
GitHub Action is working: https://github.com/Glavo/lwjgl3/actions/runs/6803359632 |
Thank you @Glavo and @Slackadays! The first 3.3.4 snapshot will include riscv64 binaries. |
@SimonIT it's up, I published it before going to bed and updated https://www.lwjgl.org/customize about an hour ago. |
Most of the work has been completed, and both cross compilation and native compilation can work. I have successfully launched Minecraft on Debian RISC-V 64.
Currently, the dependent native libraries are all built by me on my own machine. Next, I need to have LWJGL CI build the native libraries for RISC-V.
Progress: