Question and (pre)proposal:
Can Fedora converge on a single swap-on-ZRAM implementation, and if
so, which one? Fedora Workstation WG wants to move to swap-on-ZRAM by
default in Fedora 33, and the working group needs to pick something
I think it should be zram-generator. It's the most lightweight, can be
included by default distro wide. Without a configuration file, it
doesn't run. Thus, each edition/spin, and even the install
environment, can have their own configuration file, to setup it up
however they want, or not set it up.
I also suspect it's the only one that could be upstreamed to systemd
proper, and just included like many other generators.
Background story and references:
Fedora IoT enables swap-on-ZRAM by default for a long time, and have
no issues. Fedora Workstation WG has been evaluating it for some time,
and wants to enable it by default in Fedora 33. Prior discussions 
(Details will be in a future feature proposal.)
Swap is a basic function, and swap-on-ZRAM is an optimization of a
basic function. Basic things should be understandable by users,
without having different configuration files, and systemd units to
look for, depending on what edition/spin they use, or whether they're
booting installation media, or an installed system. It's confusing.
And they don't co-exist gracefully.
There are three implementations in Fedora . Installation media
(DVD, netinstall, Live) use Anaconda's when the install media is
booted; Live installations include it, but it's disabled. Fedora IoT
has its own variant enabled by default, similar in design and function
to Anaconda's, but differently named systemd unit, configuration file,
and bash scripts used by the systemd unit. There's nothing wrong with
these, but in my estimation they have no chance of being upstreamed to
And there's zram-generator. It works much like any other of the basic
generators for this sort of thing: the gpt-auto-generator, the
fstab-generator, and the cryptsetup-generator. I'm not sure who would
argue we need multiple implementations of these things, with separate
configuration files, in the same distribution.
Using swap on zram disables the ability to hibernate, making it a non-starter
for many users. If this is going to be thrown into anything, the user needs to
be asked whether they want it or not in the installer, otherwise you're just
taking away features.
John M. Harris, Jr.