So this is not really an idea, it's just a suggestion / wishful thinking for the way factorio is distributed on Linux. It tries to solve a problem that does not actually exist yet, so simply ignore it for some time.
As we all know, most libraries used on GNU/Linux systems have problems with ABI and API stability, so what you compile today for today's linux distros will most likely fail to work in a few years, which is why we need distributions to do all the rebuilds for us, and sometimes adapt to new APIs.
Factorio does a pretty good job avoiding this, because most dependencies are statically linked into the factorio executable. So there will be no issues when curl, libpng, libjpeg, that delta thingy or even allegro change their ABI/API because the code is copied into the factorio executable. It's guaranteed to still work until Linux drops support for the current binary format, which will hopefully never happen.
I'm worried about the external libX* dependencies though:
- [libX11.so.6]
- [libXcursor.so.1]
- [libXinerama.so.1]
- [libXrandr.so.2]
However, if that is not a difficult thing for you to do, how about linking to allegro dynamically and shipping the tested & definitely working allegro .so file with the factorio tarball? You can use RPATH so the shipped library is used instead of the system allegro library (if a system allegro library exists). Of course, that's only useful if factorio itself does not require libX*. If everything that needs X is abstracted away into liballegro, then it should be possible for any future factorio player to replace the allegro lib that uses X11 with a patched/newer allegro that supports wayland if some future contributor decides to spend his time on adding wayland support to allegro.
If this is more work than just a few changes to your build and packaging systems, then don't do it.
Also, I'm not 100% sure if this a good idea. Maybe others have some comments on this. I'd guess that getting rid of a direct dependency on a few soon-to-be-deprecated libraries at the cost of introducing a new dependency on a library having a smaller public API is a nice trade-off. I don't know how stable allegro's ABI is, if it's very unstable this might not be a good idea after all. (We'd need a Wayland-patched version of exactly the same allegro version the factorio devs used for their last build.)
I've also seen some work on allegro to use SDL2 as a backend instead of X11, and SDL2 supports X11, Wayland and Mir already, so that is another option. SDL2 appears to become the standard API for setting up OpenGL contexts etc. for most steam Linux games, because it is supported by Valve. I don't think allegro plans to mainline their SDL2 support though.