Run Factorio on Pi 3B?

Post all other topics which do not belong to any other category.
FiyaFly
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat May 13, 2017 6:12 pm
Contact:

Run Factorio on Pi 3B?

Post by FiyaFly »

Forgive me if I sound ignorant, I just got a Raspberry Pi 3B. For the one on my desk I am configuring a phone system, but the Pi just might drag me in enough to buy a few more for playing around with. They're no gaming PC, but I know that factorio is rather lightweight and not terribly intensive on graphics. What are the chances the Pi 3B would be able to run Factorio?

My reasoning behind this is because I have a couple friends that I'd love to both show the game and play with, but their computers are... problematic. One is a laptop that is 10 years old, so hardware is abysmal and I can bet that something in it is failing, and another friend has a laptop that intermittently locks up. I'm working with the second one, but hardware issues aren't necessarily easy to troubleshoot... </rant>

Anyways-

From the FAQ:
What are the minimal PC requirements?
1GB RAM, 512MB dedicated video memory, 1280x720 screen resolution. You also require a 64-bit operating system.

Pi 3B Specs:
A 1.2GHz 64-bit quad-core ARMv8 CPU
1GB RAM

By no means would I expect this to run it full scale without hesitation, but I can't help but wonder if I were to set software rendering and texture-size to 4096, this just might run it relatively smoothly.
What do you guys think?
sillyfly
Smart Inserter
Smart Inserter
Posts: 1101
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: Run Factorio on Pi 3B?

Post by sillyfly »

That would require Wube to build Factorio for the ARM architecture, which isn't very likely to happen soon...
If they ever port Factorio (or a future incarnation of it) to mobile...
quinor
Filter Inserter
Filter Inserter
Posts: 404
Joined: Thu Mar 07, 2013 3:07 pm
Contact:

Re: Run Factorio on Pi 3B?

Post by quinor »

There are some problems with Factorio on ARM, devs stated that it's non-trivial to compile on ARM.
Loewchen
Global Moderator
Global Moderator
Posts: 9241
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Run Factorio on Pi 3B?

Post by Loewchen »

Factorio needs very few very fast cores, ARM provides the polar opposite AFAIK, we have current intel/amd cpus working to capacity when simulating a big map as server. I highly doubt the devs would spend time to make it run on ARM without any hardware available that could realistically run it.
ChoMar
Long Handed Inserter
Long Handed Inserter
Posts: 96
Joined: Sun Aug 07, 2016 2:00 am
Contact:

Re: Run Factorio on Pi 3B?

Post by ChoMar »

Factorio is lightweight only on gpu. But pretty heavy on CPU. The multithread thingy is announced but got delayed for further versions, but even then a PI wpuld be far from being able to run this game. My old i5 2500 reches its limits in my current game and even at its age its far more potent than a rpi. Memory size, speed and bandwith also matter, and the PI doesnt have anything that compares with a moder desktop cpu. Factorio may look like itll run on old systems. But it wont.
Mytronix Entertainment
FiyaFly
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat May 13, 2017 6:12 pm
Contact:

Re: Run Factorio on Pi 3B?

Post by FiyaFly »

I'm a project kind of person, so I'm overly curious on this. Understood that it won't run on ARM. I'd almost like to talk to the devs to figure out what it'd take to get it to run on ARM. Maybe not Pi, but ARM, so that there is at least the possibility to do so in the future. I have a decent background in development and was almost hoping to help out, if I can. I can't move to Prague, or else I would actually apply to work with them.
User avatar
ledow
Fast Inserter
Fast Inserter
Posts: 102
Joined: Sat Sep 24, 2016 3:00 pm
Contact:

Re: Run Factorio on Pi 3B?

Post by ledow »

Recompiling anything that compiles under a major compiler to run on ARM is generally trivial in the modern age, so long as it is generally portable.

The fact that Factorio is on Mac, Linux and Windows suggests that most of the obvious stuff is taken care of.

The next problem that hits is having the underlying libraries available for the platform.

In factorio's case:

Agui
Allegro
libcurl
FreeType
Lua
MiniZip
Ogg
open-vcdiff
StackWalker
trio
UnitTest++
Vorbis
zlib
Serpent
Parts of BSD Standard C Library
libjpeg-turbo
ImGui

None of that is particularly detrimental - it is all either portable, unnecessary, or has portable equivalents.

Assuming an ARM base with OpenGL drivers and a standard Linux distribution, that all the portability hacks are minor (e.g. bitfield order, etc.), the only real barrier is setting up the development tools to churn out a file. That's generally boring but not normally that difficult if you know what you're doing.

As pointed out, though, the problem isn't whether you can get an ARM binary. You could probably get an ARM Linux EABI binary out in a few days of effort and testing. The problem really would be that it would run like a stunned sloth on any ARM hardware out there. The RPi3 may "sound" fast but it overheats and throttles if you push it, the the GPU is really just a toy. And Factorio can make my 12-core 2.5GHz laptop with nVidia card spin up the fans even on the smallest of maps. An RPi3 will likely fall over before you managed to get a mini-base enough to research the rocket, and it would be all but unplayable.

You'd need a high-end Chromebook or equivalent to make even casual use of the game, and it probably wouldn't matter what you did in terms of resolution, scaling sprites, optimisations, etc.

As someone who has done x86->ARM ports, GTK->SDL conversions, desktop->low power handheld ARM console conversions, RPi testing and development (was a preorderer of the very first run), I think it's not that it's particularly hard to do. It would need work, obviously, but it's not onerous. The problem really is that it would be incredibly disappointing and limiting. You can't go loading 2Gb of textures into the RPi, and you can't go expecting to get even basic desktop-levels of performance (e.g. equivalent to cheapest mobile dual-core x86, with an Intel HD) out of it.
Post Reply

Return to “General discussion”