bitburner-official / bitburner-src

Bitburner source code.
Other
687 stars 231 forks source link

Add arm64 release target #1366

Open Spinnernicholas opened 4 weeks ago

Spinnernicholas commented 4 weeks ago

Add arm64 release target

I want to run the linux version in the linex dev environment on my arm64 ChromeOS tablet. The current linux release does not seem to support arm64. There are also apparently Windows platforms running arm64. I know this is possible because vscode runs on my tablet and they even have instructions on setting up linux and installing the vscode .deb package on chromeOS.

I am creating this issue in case anyone else has already thought about this, or is working on this, or I'm completely wrong and it does already run on arm64.

Links

Spinnernicholas commented 4 weeks ago

I am going to try to build the latest release directly on my tablet. I will let you know how that goes. 🤞

d0sboots commented 4 weeks ago

Are you trying to build Electron itself, or just have a dev environment where you can npm start:dev? The latter I would expect to be pretty smooth sailing, but you might run into some hiccups with the former (particularly with the steam binary shim)

Spinnernicholas commented 4 weeks ago

I'm trying to build Electron and then hopefully update the build scripts to include arm64 support in the production linux release.

Spinnernicholas commented 3 weeks ago

The package.json does have: https://github.com/bitburner-official/bitburner-src/blob/7b3cf4845344492756a7822b402de63dc5c07e02/package.json#L122

--arch x64,armv7l,arm64,mips64el suggests that it is built for arm64. That means it may just need to be packaged/executed differently.

Spinnernicholas commented 3 weeks ago

It does already build for linux arm64(.build/bitburner-linux-arm64), it is just not included in the release. Can we include it in future releases?

d0sboots commented 3 weeks ago

Probably? If it already builds successfully, adding it to the tarball seems pretty easy.

Spinnernicholas commented 3 weeks ago

I built it and created a release on my fork. I tested it and it works, minus Steam support. Is there a way to disable Steam support for a single release? I also meant to build it off of release tag v2.6.1, but forgot and I'm too lazy to do it again atm.

For most people. the web version will be enough but having a full electron build will allow external IDEs.

https://github.com/Spinnernicholas/bitburner-src/releases/tag/vlinuxarm64

d0sboots commented 3 weeks ago

Steam support is one of the most important things in the Election build though... You can build whatever local build you want, but I don't think we're going to make an official release without steam support.

Spinnernicholas commented 3 weeks ago

I'm all for Steam support, I just don't know if it is possible because there is no linux arm64 Steam client. Is there a way to do Steam integration without a local client?

If that's the deciding factor, I'll see what I can find to get Steam support to work.

d0sboots commented 3 weeks ago

Well, theoretically the library could still be built, even if it wouldn't be able to connect to anything.

If there is no steam for arm64, then the arm64 version not having steam support would be OK, but it shouldn't be disabled for the others.