My rig:
One laptop, with all my data on it. Don’t have a second PC. Don’t have anything Nvidia. Don’t have a dedicated GPU.
What I did:
Burn Ventoy to a USB
Copy a Fedora KDE 42 ISO and a Ultramarine KDE 41 ISO (a Fedora-based distro) to the USB drive.
Boot into them from Ventoy one by one.
What I see:
Ultramarine starts up significantly faster than Fedora. Also, app launch times are SIGNIFICANTLY FASTER on ultramarine.
Some information that I can’t interpret (outputs of systemd-analyze plot):
Fedora: Proton Drive
Ultramarine: Proton Drive
Any changes I’ve made to any of the two ISOs: NO
Any changes I’ve made to the live systems: NO
Can I use stock fedora to get Ultramarine-like boot times? Or are they kernel-level tweaks? Why doesn’t stock fedora already apply those tweaks for everyone? Proprietary stuff, eh?
For the curious:
If ultramarine works, why even bother for stock fedora? Stock fedora has a large userbase and is an established distro
You can zoom into an svg. And the svg was made by a system component, I didn’t do anything.
No, I did not install them to disk. I know a live session takes longer to start than a disk install, but the time Fedora takes to start in live mode feels MUCH longer than ANY other distro I tried. arch btw (not really, it was Manjaro) was the fastest. ubuntu and its derivatives were fine. But Fedora takes just an insane amount of boot time.
Outputs for Fedora:
liveuser@localhost-live:~$ systemd-analyze
Startup finished in 5.523s (firmware) + 10.361s (loader) + 6.284s (kernel) + 14.936s (initrd) + 25.243s (userspace) = 1min 2.349s
graphical.target reached after 25.213s in userspace.
liveuser@localhost-live:~$ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @25.213s
└─multi-user.target @25.213s
└─rsyslog.service @24.903s +308ms
└─network-online.target @24.893s
└─NetworkManager-wait-online.service @17.010s +7.880s
└─NetworkManager.service @14.757s +2.247s
└─network-pre.target @14.753s
└─firewalld.service @10.899s +3.852s
└─polkit.service @9.784s +1.076s
└─basic.target @9.694s
└─dbus-broker.service @9.138s +550ms
└─dbus.socket @9.093s
└─sysinit.target @9.083s
└─systemd-resolved.service @8.612s +464ms
└─systemd-tmpfiles-setup.service @7.867s +697ms
└─local-fs.target @7.845s
└─tmp.mount @7.824s +19ms
└─swap.target @7.820s
└─dev-zram0.swap @7.581s +236ms
└─systemd-zram-setup@zram0.service @7.430s +144ms
└─dev-zram0.device @7.424s
Outputs for Ultramarine:
liveuser on localhost-live ~
❯ systemd-analyze
Startup finished in 4.974s (firmware) + 9.564s (loader) + 7.245s (kernel) + 8.223s (initrd) + 15.538s (userspace) = 45.547s
graphical.target reached after 15.507s in userspace.
liveuser on localhost-live ~
❯ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @15.507s
└─sddm.service @15.507s
└─plymouth-quit.service @15.456s +42ms
└─systemd-user-sessions.service @15.425s +27ms
└─remote-fs.target @15.393s
└─remote-fs-pre.target @8.009s
└─nfs-client.target @8.008s
└─gssproxy.service @7.887s +120ms
└─network.target @7.883s
└─wpa_supplicant.service @7.805s +76ms
└─basic.target @4.065s
└─dbus-broker.service @3.856s +202ms
└─dbus.socket @3.794s
└─sysinit.target @3.778s
└─systemd-resolved.service @3.282s +495ms
└─run-credentials-systemd\x2dresolved.service.mount @3.499s
Fedora in the live install image is setting up zram that seems the be the main difference.
I’m guessing that Ultramarine is skipping some setup on the assumption that you install in on a large memory system.
You are benchmarking the installer images, which is not going to predict production timing.
On an install on SSD I would not expect to see this difference between the two systems.
As an example on one of my Fedora systems I see these timing.
$ systemd-analyze
Startup finished in 11.954s (firmware) + 7.049s (loader) + 1.236s (kernel) + 2.492s (initrd) + 14.642s (userspace) = 37.376s
graphical.target reached after 14.611s in userspace.
Okay, but that still does not explain the faster app launch times.
Since I’m a KDE fanboy, I can roughly measure the app launch times by using the jumping icons when you launch an app:
System Settings (5 launches average): 2-2.5 Jumps on Ultramarine, 9 Jumps on Stock Fedora
Firefox first launch: 7 Jumps on Ultramarine, 10-12 Jumps on Stock Fedora
Firefox average launch time between 5 runs (after first) : 3 Jumps on Ultramarine, 3 Jumps on Fedora
Konsole (5 launches average): 1.5-2 Jumps on Ultramarine, 5-6 Jumps on Stock Fedora
Dolphin (5 launches average): 1.5-2 Jumps on Ultramarine, 8-8.5 Jumps on Stock Fedora
The overall responsiveness of the system also has a clear difference.
Well, ultramarine is running on the same hardware, same usb. Faster every time, consistent results. Isn’t that odd?
Also, maybe I’m wrong, but doesn’t the live session copy the system from the USB to RAM? Isn’t it running off RAM?
Yes, I could just install both OSes to disk and test them out, but I don’t have the resources.
I’d always recommend installing the OS. There are many improvements delivered as updates after any given version of Fedora is released (e.g. kernel upgrades, system component fixes). The ISO will never receive any of these, as they are created once on release date and never updated until the next release.
Thank you everyone. I guess I’ll install stock Fedora and see how it does on a disk install, if not it is easy to migrate to ultramarine (I wanted to do a fresh install but well…)
The Fedora live ISO doesn’t copy to RAM by default, but potentially could by setting the kernel parameter rd.live.ram=1 : Booting a LiveOS image fully into RAM
Perhaps the Ultramarine live ISO does run from RAM by default.
Well well well, I decided instead of just wiping my entire drive & install Fedora, I’ll try a dual boot first.
So I created a separate 20 GB partition, and installed both Fedora and Ultramarine one-by-one (both Btrfs), and well, there was ZERO performance difference.
I guess I wasted the other people’s time in this thread along with mine for nothing. But, thank you for guiding this noob.
I’ve decided to install Stock Fedora
The ease of use that Ultramarine brings is very minor & I can do pretty much all of it through a single post-install script…
What I learnt from this: Assumptions that ‘feel’ almost ‘certain’ to be true might not be always true LOL; On the live USB, fedora felt even slower than Windows 11.