
Announcing flicker-free boot for Fedora 29 - kbumsik
https://hansdegoede.livejournal.com/19224.html
======
Waterluvian
I think this is basically what OSX has had forever. And I think this is one of
those things that's _really_ easy to miss how big of a deal it is in making
the experience feel solid.

My Ubuntu 16.04 machine does this weird thing where it shows my login in 1/4
of the screen then suddenly it stretches to fill. Really sets the tone for how
janky the experience is going to be.

The startup experience sets the tone for the entire thing. I know some
engineers who won't get why it's a big deal. It's a _big_ deal.

~~~
twic
My favourite thing my Ubuntu machine does is that when you wake it from sleep,
it shows you the desktop as it was when you put it to sleep for a fraction of
a second, then flickers a few times while it puts up a lock screen, then shows
two login dialogs stacked on top of each other, one larger than the other.

~~~
wlll
My mac does that. I've not tested it on Mojave, but it did it every time
without fail on High Sierra.

~~~
wlll
Tested this, my mac still does this on Mojave.

------
whywhywhywhy
Huge respect to any developers tackling these sort of problems. Most people
don't notice it or just gloss over it and accept it as the way it is.

But flicking screens or flicking resizing windows are like nails on a
chalkboard to some of us.

~~~
w0utert
I have to agree. I almost feel guilty admitting that it really annoys the crap
out of me every time I see all these mode-switches and text consoles when
booting my Linux desktops. It really should not matter at all because the end
result is always the same ('computer is booted and usable') but there's some
psychological effect (probably related to my OCD tendencies) that makes me
notice it every.single.time, and it bugs me :-/

~~~
pbhjpbhj
It's a really fundamental UX issue - imagine you open a book, it's got random
half pages of text, smeared print, blocks of colour; what's your impression of
the production quality? Are you expecting it to be well edited?

Or you put on the radio and the first track is random snippets of
talking/music/sound at various volumes.

People put luxury goods in expensive packaging for a reason ... and no, _I_
don't like expensive packaging.

(Now, actually a book like that would be intriguing to me, but ...)

~~~
blablabla123
That's how things work since ages, Windows had mode switches at least until
Windows XP. It's quite normal if you think of it: the computer turns on, does
some basic self-testing, then enhances it's capabilities, the OS starts and
activates more and more functionality.

I know it looks very polished when all this is hidden. But when something
stops working, the repair option might then be hidden as well though. The UX
of having a dysfunctional system for days or weeks is even worse. In fact this
is the reason I switched to Linux, everything is so much more predictable and
transparent. Of course stuff looks more stitched together and sometimes things
are harder to get running. But once things are set up properly, it just works
and works.

Windows has improved a lot over the years, but still, if you keep an
installation over time, you end up having more and more spyware and crappy
software on your system, even on the Mac it's advisable to reinstall
everything from time to time. This means backing up _all_ data, not forgetting
anything and also taking care of App reinstallations. For anyone using
Computers for things they depend on, this is nightmarish UX.

~~~
Atlas26
Basic internet and computer hygiene makes it incredibly easy, even inherent,
in avoidng spyware/adware/malware and crappy software. Now some people who
don’t do that might find nuking it all to be easier than trying to uninstall
everything, that’s valid, but Unless you corrupted something on a system wide
scale, clean installs are a relic from when they were a blanket solution way
back in the day when all software was a lot more unstable, many years ago.
I’ve been running the same install of Windows, upgraded numerous times, with
nary and issue nowadays just thanks the the above best practices. Same with
MacOS.

This tends to be the general sentiment in both communities (outside of people
who recommend that cause it’s all they know, but I wouldn’t listen to them
regardless) if you keep good computer/internet hygiene practices and barring
any widespread corruption/systemic malware/other external factors.

Aside from that, I’m always a huge advocate for the polished UX. As long as
the options aren’t _removed_ , the users who need them will be able to use
them perfectly fine, everyone else won’t be offput by them, especially when
the need for clean installs is only necessary for specific use cases as I
mentioned before and doesn’t come up often at all.

------
nneonneo
Neat - but it’d be nicer to replace that motherboard logo with a Fedora logo
or something, so it’s clear when the kernel has taken the reins. Otherwise,
people might think that the system is stuck in the BIOS!

Yes, I know the menu disappears - but that’s only going to be true for some
subset of BIOSes, and it’s not an indicator that most people would be
expecting.

~~~
jonathanlydall
Standard behaviour for Windows 8+ on modern UEFI machines is for the OEM logo
to remain.

You know when Windows has started to boot when the distinctive Microsoft
spinner appears beneath.

~~~
Waterluvian
This messed me up for a while when I'd see the windows spinner on an Ubuntu
redbrownpurple background

~~~
hannasanarion
That's because you probably launched windows from a grub bootloader. What
windows actually does is just leave up whatever was the last thing drawn on
the screen, which for single-OS systems is usually the manufacturer logo.

------
colemickens
Is it safe to assume that this is being done for Intel before AMD/Nvidia due
to the more open nature of Intel's drivers? (I had thought AMDGPU was supposed
to be better?)

I'm just wondering if features like this can be used as a carrot/stick for
AMD/NVIDIA -- "Hey, look what we can build and provide for Intel customers
because their driver devs are at the table."

On a separate note, insert here unending words of praise for the money and
effort that Red Hat puts into Linux, and specifically technologies related to
Linux on the desktop. systemd/logind, pulseaudio, pipewire, gnome, wayland
(including porting various other projects)... all critical stuff that I see go
unappreciated sometimes.

~~~
tokai
In my experience you cannot tar amd and nvidia with the same brush regarding
linux drivers. I have been running fedora with a nvidia card for a couple of
years. The open drivers have been unusable for me. Crashing the system at
random - often mid installing the proprietary drivers, corrupting the display
server (I got quite handy with dnf history rollback). The proprietary drivers
have been made mush easier to install the last releases. But the same machine
with windows gave way better performance.

I recently bought an amd card. I just pop'ed in the card, booted the machine
and the mesa drivers included with fedora worked without a hitch. The only
thing I had to do was install vulkan to play f1 2017, other than that it has
been plug'n'play with good performance.

------
nneonneo
Now it'd be nice to add some kind of animated logo to the boot process.
Windows has the little spinner, macOS has a progress bar, and even Ubuntu has
a five-dots progress bar thing to indicate boot progress. I mocked up an
animated logo really quickly here:
[https://imgur.com/gallery/Zt6K55V](https://imgur.com/gallery/Zt6K55V)
(disclaimer: I don't have rights to the logo, it's just a toy test and
shouldn't be used for anything serious, etc.)

Some other ideas: a little ball rolling around the infinity logo (maybe
eventually rolling back to center and unfolding into the "f"), a pair of
"tubes" moving around which occasionally intersect to make the "f" shape, etc.
I think this is a good opportunity to do something interesting with the boot
screen!

~~~
tokai
There is an animated boot logo in fedora. I guess it'll be put in before the
beta is over?

[https://media.giphy.com/media/1dHYPKjEW1vKZyBORH/giphy.gif](https://media.giphy.com/media/1dHYPKjEW1vKZyBORH/giphy.gif)

(the animation is very quick in this gif, on a slow machine the contour of the
fedora logo fills up slowly from low left to top right)

------
TheAnig
This has to be one of the biggest leap in boot technology for a while! I can't
wait to apply this to other distros

------
et2o
We don't see enough of stuff like this in Linux.

~~~
awalton
No we don't. Because it is _hard_ , _thankless_ work, and the people doing
this work are often harassed endlessly online to the point where nobody
actually wants to do the work anymore. And yet, some people are still amazed
by how bad things are, completely oblivious to _why_ that might be...

The magician engineers at the core of making things like this just work and be
pleasant do not get anywhere near the credit they deserve - this is a
herculean task to have Just Work(tm) on white box hardware.

Hans deserves a huge thanks from all of us for slogging through this thankless
work.

~~~
linuxftw
Not only is it thankless work, but some of us _don 't_ want it, I prefer to
say "no thanks"

I want to see the scary boot log, I don't need the system to be pretty, I need
it to be functional.

~~~
cweagans
Why not both?

~~~
linuxftw
My distaste for modern UI designs aside, sometimes these two things are at
odds.

If one considers a grub menu to be 'ugly' and wishes to hide it, that is
directly at odds to its usefulness.

~~~
cweagans
Can you not default to pretty and have a way to unhide it when necessary? Macs
take this approach - they show the Apple logo until the login screen is ready,
but if you need to change the boot device or whatever, you can hold down the
Option key.

To me, this is an entirely reasonable behavior that optimizes for the 99% of
time where you just want your computer to boot quickly and start using it.

------
jl6
Really pleased to see this kind of work being done. My experience of desktop
Linux has been on a downward trend in recent years, with so many little
graphical glitches and oddities popping up at every opportunity. I believe the
root cause is the deep stack of components that it takes to draw on the
screen, with little mutual understanding across boundaries, and some black
boxes that cannot be understood by OSS devs anyway.

------
HeadsUpHigh
And I'm here disabling Plymouth every time because not seeing the boot log is
a regression in my books.

~~~
SmellyGeekBoy
I'm with you. I love seeing all the processes start up!

------
kbenson
It would be _really_ slick if they could fade in the blue background of the
login over time in the boot process, so the only thing that changes in the end
is the bios logo swapping out (or a faded swap) to the login entry.

It might require storing the target color as a kernel param, but it might be
worth it for the wow factor.

------
andrewstuart
I think this stuff matters.

When displays jank and bump and jump it says to ordinary users "this is hard
and technical and not really easy and possibly not designed for you".

------
josteink
I’ve seen this stuff on some Windows laptops and always wondered what unholy
magic this was.

Glad to hear this magic is coming to Linux too, although as a Ubuntu-user I
guess I’ll have to wait a few releases before this is the standard.

~~~
mehrdadn
I've only seen it work on Windows with the default basic display driver :/ I
haven't seen it work for a dedicated graphics card driver.

~~~
vetinari
Windows must boot in UEFI mode for it to work. It keeps the same display mode
as the firmware left it in, and just animates the spinner in UEFI framebuffer.

The native display kicks in with the login screen. (For some reason, UEFI
doesn't initialize my graphics card to the panels native resolution, so the
change with the login screen is visible).

------
akulbe
Having a dumb moment. What is meant by "flicker-free"? I don't recall a
"flicker" when I boot my machine to Fedora <29.

~~~
dguaraglia
A quick description of the modern Linux boot sequence:

1) Press power 2) Get motherboard/manufacturer logo 3) Switch to a text-based
Grub interface 4) Actual Linux kernel starts booting, sometimes flashing some
text, sometimes setting a video mode directly 5) Plymouth loads a graphic
screen showing an Ubuntu/Fedora/whatever logo, hiding the rest of the kernel
loading output 6) The login manager (GDM or something similar) loads,
displaying a different background from the previous logo.

Each one of those steps introduces a somewhat jarring "flicker". The new
process looks like this:

1) Press power 2) Get motherboard/manufacturer logo 3) Login manager shows up

Personally, I don't care that much about something that only happens during
boot. What does bug the crap out of me is how scaling for HiDPI displays is
still all kinds of broken and you still get tiny cursors every now and then.
Or how some applications decide to ignore which audio sink is currently setup
in PulseAudio. Or how battery life is still better in Windows.

------
bproven
This is the same developer that helped work on the big power savings
improvements in Linux as well.

[https://hansdegoede.livejournal.com/18653.html](https://hansdegoede.livejournal.com/18653.html)

------
bjoli
How is this different from the BetterStartup feature of fedora 10? I remember
beingreally impressed by the kernel modesetting magic that was going on. No
flicker. No resizing.

Has there been regressions because of architecture changes since then?

------
chatman
Will this work well with NVidia drivers?

~~~
syn0byte
Short answer; no.

The video is using intel's onboard vga chipset which plays extra nice with
intel's onboard EFI. You can bet the framebuffer code between the EFI and 3rd
party hardware(AMD/NVidia) sucks much, much worse

I expect ServerFault posts about grephic instability in fedora 29 any minute
now...

------
nine_k
I suppose you still can switch to tty 1 and see the flickering, scrolling-text
boot process, if needed?

~~~
mmastrac
Probably by hitting Escape as well - that's been the standard for a few years
in Fedora.

~~~
cmg
Seems to be the case:

> There have been changes to plymouth to allow pressing ESC as soon as
> plymouth loads to get detailed boot messages

(with Plymouth being the graphical boot system)

------
hendry
Puzzled that systemd/bootctl isn't mentioned.

------
ufo
I wonder if there is a way to show a message like "press $KEY for boot menu"
or if there is a technical reason that makes this hard to do.

------
ElijahLynn
I am wiping my trusty Ubuntu 14.04 soon and was thinking of just going latest
LTS Ubuntu but THIS has me leaning towards Fedora!!!

This is a huge deal!

------
ramijames
That's really cool!

------
pard68
I run Arch. If I blink I am already at the shell login. This is only a concern
when your os is slow.

------
philsnow
Do enough people boot from cold often enough to make this worthy of putting
work into?

~~~
audidude
Often enough to matter, given that the preferred update method for OS updates
in Fedora increasingly relies on offline updates so that correctness can be
enforced.

Especially as Fedora moves towards Silverblue (aka Atomic/OSTree) which uses a
content-store, hard-link farm, and pivot-root at boot for atomic upgrades.

Systems using A/B partition flipping (such as ChromeOS) would also benefit
from this.

~~~
colemickens
I'm not sure if `rpm-ostree` can (yet?), but NixOS can do the pivot with a
live running system. It's a similar pivot/symlink-farm strategy.

------
ajross
Sounds cool, though I'm having a deeply frustrating facepalm moment that the
folks doing graphics integration on Fedora want to work on boot glitz and not
unbreaking remote desktop sharing, which still doesn't work out of the box
with their Wayland setup.

~~~
audidude
Different team members work on each of these avenues of work you describe, and
their effort isn't fungible.

There are patches by other desktop team members for chrom(ium), Firefox, and
WebKit to work with desktop sharing using Wayland/pipewire but it takes time
to get upstream to merge them into their products. Fedora 29, I believe, will
be shipping with some of them applied so that even various commercial desktop
streaming applications work.

~~~
colemickens
Do you know if they're collaborating with the Sway folks? The Sway folks, via
wlroots, seem to have their own protocol for surface capturing. It sounds like
there is a potential for an adapter that speaks Sway on one side and Pipewire
on the other side, and I'm out of my depth here, but I'm also interested in
the Wayland + "screen capture/sharing" story becoming more solid, even for
those of us that aren't in GNOME.

