Page 5 of 8

Re: Factorio (Server) ARM Build

Posted: Fri Nov 30, 2018 12:12 am
by tehfreek
It might be time to reconsider.

Amazon Launches ARM-Based Custom Graviton CPU

Re: Factorio (Server) ARM Build

Posted: Sat Dec 01, 2018 1:25 am
by PunPun
Aeternus wrote:
Fri Nov 09, 2018 3:31 pm
Then here's it simplified for those who have terminology OCD:
32 bit Windows operating systems have a 2GB addressing space for applications (by default).
Factorio needs more then 2GB to function properly. Therefor Factorio doesn't work well within a standard 32 bit environment.
Therefor Factorio is now a x64 only application.
ARM has been 64bit for a long time.
tehfreek wrote:
Fri Nov 30, 2018 12:12 am
It might be time to reconsider.

Amazon Launches ARM-Based Custom Graviton CPU
Not really. Those cpu:s are abysmally slow compared to even the cheapest x64 processor on current retail market and trying to run a factorio like game would be painful. Their only advantage is their low power costs.

ARM-Version of Factorio

Posted: Mon Feb 24, 2020 10:32 pm
by Feuermagier
With the (relatively) recently released RaspberryPi-4 there is now an option to host small servers on a dedicated machine. It would be great if you could compile a version of Factorio for the architecture. There's probably an alright chance that it'll work right out of the box. It would really help me a lot and maybe some other players out there as well. The processing power on the Pi-4 is generally enough to even play games on so I think it could definitely handle an early-midgame server at least. Thank you for your consideration. :)
You guys are great - Feuermagier

Re: Factorio (Server) ARM Build

Posted: Mon Feb 24, 2020 11:21 pm
by Koub
[Koub] Merged into the "Factorio for ARM" topic.
Don't expect an ARM version anytime soon.

Re: ARM architecture

Posted: Fri Nov 27, 2020 8:34 pm
by Stargateur
It's was my understanding that factorio change its server, now it's should be not a problem to have a server on whatever machine. I wonder what could block to just try to have a build for ARM ?

(I'm disappointed cause I buy a raspberry pi 4B, 8go of ram, and I wanted to put some server on it, well not factorio I guess :p)

<insert here a US candatate> I ask once again for your charity

Re: ARM architecture

Posted: Sun Nov 29, 2020 9:05 pm
by nr2117
would be interesting to see if it can be done, like "running doom on an X".

Anyone remember the transmeta CPU's? I was told theyw eren't x86, but emulated x86 so windows and linux could be run on it. A friend had a laptop with a 1ghz chip in, he reckoned it was equivalent to a 500mhz pentium 3. This was in, 2002? I thought that was impressive for the era.

Re: ARM architecture

Posted: Tue Dec 29, 2020 8:48 pm
by hvenev
My 60 SPM factory runs at 30 UPS (headless) on a Pi 4 with qemu.

Re: Factorio (Server) ARM Build

Posted: Wed Apr 14, 2021 6:10 pm
by Jonny
Sad to hear that :'(

Re: Factorio (Server) ARM Build

Posted: Sat Dec 25, 2021 11:09 pm
by herrkocur
Just found out Oracle Cloud always free tier is up to 4 ARM cores & 24GB RAM, I wanted to shutdown the old laptop I have and transition to cloud with all the 24/7 but low performance (it's core 2 duo 3G RAM) workloads but turned Factorio is a showstopper.

Wube team: I am willing to spend some time figuring build pipeline for ARM64 headless. If it desyncs like hell afterwards I will stand corrected but until then my offer stands.

Cheers,
Michał

Re: ARM architecture

Posted: Mon Feb 28, 2022 3:12 pm
by Breizh
I’m running a server on an Intel(R) Atom(TM) CPU N2800 @ 1.86GHz without problem for ~10 players, so I think that an ARM server on an Odroid N2 for example, which is more powerful than the Intel CPU mentioned could be worth it. And modern Raspberry Pi (3 or 4, in 64-bits) could probably run the game without problem too, at least until the firsts rockets (didn’t try to make megabases on this server at this moment).

Re: ARM architecture

Posted: Wed Mar 02, 2022 9:34 pm
by Gummiente27
The problem wirth supporting ARM is that factorio source contains handwritten optimized x86-assembly.

Re: ARM architecture

Posted: Wed Mar 02, 2022 10:30 pm
by astroshak
Always expect an ARM to go up. (That’s what Adjustable Rate Mortgages do, eventually.)

Re: ARM architecture

Posted: Tue Mar 08, 2022 2:49 am
by Jap2.0
Gummiente27 wrote:
Wed Mar 02, 2022 9:34 pm
The problem wirth supporting ARM is that factorio source contains handwritten optimized x86-assembly.
To the best of my knowledge it does not, from what I've gathered the main reasons against supporting ARM are low market share and ensuring determinism.

Re: ARM architecture

Posted: Wed Mar 09, 2022 2:18 pm
by Gummiente27
Jap2.0 wrote:
Tue Mar 08, 2022 2:49 am
Gummiente27 wrote:
Wed Mar 02, 2022 9:34 pm
The problem wirth supporting ARM is that factorio source contains handwritten optimized x86-assembly.
To the best of my knowledge it does not, from what I've gathered the main reasons against supporting ARM are low market share and ensuring determinism.
I remember that some FFF talked about assembly being used, but that might've been replaced.

Re: ARM architecture

Posted: Thu Mar 10, 2022 6:39 am
by Jap2.0
Gummiente27 wrote:
Wed Mar 09, 2022 2:18 pm
Jap2.0 wrote:
Tue Mar 08, 2022 2:49 am
Gummiente27 wrote:
Wed Mar 02, 2022 9:34 pm
The problem wirth supporting ARM is that factorio source contains handwritten optimized x86-assembly.
To the best of my knowledge it does not, from what I've gathered the main reasons against supporting ARM are low market share and ensuring determinism.
I remember that some FFF talked about assembly being used, but that might've been replaced.
Per here (and others) they'll look at the assembly produced by various pieces of code occasionally, but don't write it by hand.

[Arm64 Linux Server] Running in ARM64 using Box64

Posted: Sun May 29, 2022 11:19 pm
by 8x13b
Hello!

I would like to share how I am running a Factorio server on ARM64 and my struggles, so maybe one of you can help me. I am using an Oracle Ampere A1 server, quad-core, 24G RAM.

Benchmarks (Geekbench 5.4.0):
Single-Core Score: 870
Multi-Core Score: 3368

For comparison, here is an i5-7500 quad-core. Decent CPU.
Single-Core Score: 972
Multi-Core Score: 3285

Not that big of a difference.

The server is more than capable of running Factorio, however, since there isn't an ARM64 native build I am stuck with a compatibility layer (kinda like wine but for CPU architectures) called box64. It came at a big cost of performance. My guess is that since the Factorio build is statically linked, box64 can't find the native libraries to use, and has to use the interpreted version included in the binary.

If the developers want to maybe try to fix this issue as easily as possible, dynamically linking the headless binary may help.

If the developers want to compile this game for ARM, Oracle Ampere A1 servers are free forever, and, maybe a Raspberry Pi can be used as a small server for a small group of friends \:P

Forgot to add, but I get a *lot* of desyncs and CatchUp errors with box64 on the server.

Re: ARM architecture

Posted: Mon May 30, 2022 10:46 pm
by 8x13b
box64 seems to be the easiest way for developers to support Factorio on ARM.

Re: [Arm64 Linux Server] Running in ARM64 using Box64

Posted: Tue May 31, 2022 4:19 pm
by Nidan
8x13b wrote:
Mon May 30, 2022 10:46 pm
box64 seems to be the easiest way for developers to support Factorio on ARM.
Are you sure? Since you also wrote
8x13b wrote:
Sun May 29, 2022 11:19 pm
Forgot to add, but I get a *lot* of desyncs and CatchUp errors with box64 on the server.
It might be useful to provide some desync reports here so someone (not me) can analyze them to see why the game desynced. My bet is on box64 having problems with floating point rounding.


Back to the first quote: Providing an ARM build is the easy part. I recently had the task of making our product run on ARM. Most of my time was spent on OS-level stuff (which wouldn't matter for factorio). In our actual code I had to fix a grand total of one compile error, which is certainly less than I expected in a code base ranging from ancient C++-in-name-only to modern C++20.

The hard part is supporting it and making sure it doesn't desync.

Re: ARM architecture

Posted: Tue May 31, 2022 10:51 pm
by 8x13b
Here is a desync report

Factorio headless server builds for non-x86_64 CPU architectures, or even source code availability?

Posted: Sat Aug 20, 2022 11:54 pm
by chexo4
Just headless server builds for now, to reduce the complexity, but it'd be nice to have the full game eventually too. These would probably be just Linux, but it'd be nice to have BSD build also.

Basically, I want to be able to run a dedicated server on unusual (for the gaming space at least) hardware, such as an arm64 server, or an IBM Power server.
It could also be a good idea to make the source code for Factorio available to owners of the game, although not under a typical open source license (no redistribution, so would typically be called "source available" as opposed to open source) and not necessarily accepting outside contributors.

Allowing software to be run on more diverse hardware and operating systems can help find bugs that would be hard to notice on other platforms, but that could still cause problems eventually. And letting people tinker with the source code could help find bugs, improve the engine, and make supporting more unusual platforms such as the ones I mentioned easier by offloading some of that work to the people interested in doing that work.

Anecdotally, I've heard game developers in particular mention that adding Linux support to their games (as Factorio has had for a while, of course) helped them find such bugs and find more of them, because Linux users are generally more technical and provide better quality of bug reporting.

This is why I think builds of the game for unusual platforms, or even source availability, would be beneficial. You could start with just the headless server portion, with GUI builds not included, to focus on getting the engine itself running well, then add graphics support if and when it's desired. And those of us programmers (which I know a lot of Factorio players especially are programmers) who feel like it could also help out with that sort of porting work for other CPU architectures.