PrismLauncher / PrismLauncher

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)

Home Page:https://prismlauncher.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Regression: PolyMC does not properly respect some org.lwjgl3.json's after 09e85e948cdb361c306a1cccbc3557a464366a21

Richard-Rogalski opened this issue · comments

Operating System

Linux, PPC64le architecture, using custom natives

Version of Prison

Tested up to latest git master, still seems present

Version of Qt

5.15.13
6.7.0
I believe this old commit (where the regression is) only supported Qt5

Description of bug

The instances listed here only work at or before commit 09e85e948cdb361c306a1cccbc3557a464366a21(introduced during poly). For example-- this instance here. Before this regression, it downloaded the natives specified in org.lwjgl3.json, currently, it doesn't and just errors out. (will show log of what happens currently, but will have to wait to rebuild yet again).

Note that my git bisect knocked down the troublesome commit to either 09e85e948cdb361c306a1cccbc3557a464366a21 or the one immediately after. I could not test the one after due to an unrelated build failure with the code (if you want me to test this commit, I can try again and patch the code to fix each build failure one by one).

Also note that I am unable to test with a non-offline account. could be related(?)

Steps to reproduce

I think that it should still be testable on a non ppc machine (testing whether it respects the json files), but if any Prison dev wishes to test on real ppc hardware they can reply here or on discord with an ssh pubkey. rrogalski#0 on discord

This issue is unique

  • I have searched the issue tracker and did not find an issue describing my bug.

before regression. it works!

after regression (poly) + after2.txt , git master build of poly. you can see it is no longer using the natives

prism + prism.txt. This is the git master build of prism. Still is affected by the regression

Try this on the latest prism:
1.15.2-ppc64le.zip

This is the same file mentioned but with a little change: the commit you mentioned added support for multiple architectures so instead of having just "linux" we check for "linux-ppc64le" so the only change was where you find "linux": "natives-linux" inside a "natives" object I added another line "linux-ppc64le": "natives-linux",

I would not call this a regression per-se. Previously, the launcher did not differentiate between natives across different CPU architectures. As multi-arch natives were previously unsupported (apart from what Mojang shipped), we decided to change linux to be equivalent to linux-x86_64 and linux-x86. So if you are on a CPU architecture other than x86_64/x86, it will try to use linux-<cpu-arch>. Perhaps you can modify the instance and post it somewhere with the note that it's compatible with Prism Launcher and PolyMC

Alright, that instance worked with git master prism, thanks! So everything works as intended then? People should just have to adapt their instances?

Well, wouldn't it make the most sense if "linux-ppc64le": "natives-linux" isn't specified, it then checks "linux": "natives-linux"?

People should just have to adapt their instances?

yes

Well, wouldn't it make the most sense if "linux-ppc64le": "natives-linux" isn't specified, it then checks "linux": "natives-linux"?

I feel like that would be even more confusing than the current situation. Ideally os, cpu architecture and maybe even libc impl would be clearly distinct