33 ms·
Announcing flicker-free boot for Fedora 29
- ramijames 8y agoThat's really cool!
- TheAnig 8y agoThis has to be one of the biggest leap in boot technology for a while! I can't wait to apply this to other distros
- nine_k 8y agoI suppose you still can switch to tty 1 and see the flickering, scrolling-text boot process, if needed?
- nneonneo 8y agoNeat - 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 8y agoStandard 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 8y agoThis messed me up for a while when I'd see the windows spinner on an Ubuntu redbrownpurple background
- hannasanarion 8y agoThat'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.
- jaaames 8y agoPerfect description of that color, thanks.
- nneonneo 8y agoAt least there's some "sign of life" from the OS in this case - although I can totally imagine this being a confusing experience for people as well! If it's technically infeasible to replace the OEM logo while avoiding a modeset (flicker), maybe a small spinner or animated logo would do - an animated Fedora logo could look extremely cool there!
- shawnz 8y agoThey note in the post that this functionality is coming soon: > 2. Write a new plymouth theme based on the spinner theme which used the vendor logo as background and draws the spinner beneath it. Since this keeps the logo and black background as is and just draws the spinner on top this avoids the current visually jarring transition from logo screen to plymouth, allowing us to set plymouth.splash-delay to 0. This also has the advantage that the spinner will provide visual feedback that something is actually happening as soon as plymouth loads.
- philsnow 8y agoDo enough people boot from cold often enough to make this worthy of putting work into?
- yebyen 8y agoAbsolutely everyone boots from cold, a non-zero number of times. If it looks bad, then everyone will see that... and it will be the first thing they see, every single time they do that.
- audidude 8y agoOften 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 8y agoI'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.
- jonknee 8y agoIt's like having a nice house with a shitty front door. It's definitely worth getting right.
- ufo 8y agoFedora and GNOME encourage people to turn off and reboot the computer to install updates.
- chatman 8y agoWill this work well with NVidia drivers?
- vondur 8y agoNot yet according to his post. Only on Intel graphics.
- syn0byte 8y agoShort 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...
- ajross 8y agoSounds 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 8y agoDifferent 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 8y agoDo 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.
- et2o 8y agoWe don't see enough of stuff like this in Linux.
- awalton 8y agoNo 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.
- odilontalk 8y agoNice work Hans, keep it up! We need this kind of work to improve UX in Linux ecosystem. Gonna tweak my Fedora 28 settings to have the same behavior.
- linuxftw 8y agoNot 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.
- Waterluvian 8y agoI 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.
- hannasanarion 8y agoIt's probably been such low priority in the Linux community because most of us are big nerds and we like seeing different technologies interact, it can be nice to be able to see the boot sequence bios>bootloader>OS>Desktop. OSx does the same thing, but hides it all behind a single load screen, as if all of those elements from hardware to DE were a monolithic "mac". It feels like lying to the user to me. Bios isn't in control anymore, why is the motherboard logo still on the screen? How do I know when the OS takes over from grub if both are hidden under the motherboard logo?
- another-cuppa 8y agoTrue that. I want to see the output of OpenRC when I boot to make sure it all looks familiar (I only reboot after a kernel upgrade really). Then I login and type startx. I understand I'm completely out of touch with how normal people use computers. I don't care.
- rayiner 8y ago> True that. I want to see the output of OpenRC when I boot to make sure it all looks familiar (I only reboot after a kernel upgrade really). Then I login and type startx. What's wrong with dmesg?
- derefr 8y agoYou can still see the output of your kernel and init system... on the serial console. Personally, I wish serial-over-USB (and serial-over-Lightning) cables were more common. (I don't mean that they're expensive—they're dirt cheap. It's just that nobody has any idea they exist.) They used to be a kind of arcane thing—why would you need serial access over USB when the PC already has a serial port? And why are you debugging a PC on another PC—(taking up a quite lot of space on your desk, eh?)—when you could instead debug the PC on the PC itself? But these days, almost nothing has a serial port, and we have perfect "secondary PCs" to serve as the recipient of the serial input: our phones and tablets. (Heck, they probably have space reserved for them on your desk already!) Imagine: sit an iPad or some cheapo Android tablet below your monitor. Plug the "send" end of the serial-over-USB cable into the USB hub built into your monitor. Plug the "receive" end of the cable into your tablet. Open a terminal-emulator app on your phone/tablet. Bam: console logs, flowing along below your PC, as needed. Best of all, it's not unidirectional; your phone/tablet is now a VT100, and you can log into your computer over it, even if the display server or login manager or desktop environment is wedged. If owning these little cables was common, I'd honestly suggest just turning off the Linux text-console virtual framebuffers entirely for the Desktop versions of distributions. You want to see what's going on underneath the gloss? Tap in.
- josteink 8y agoI’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 8y agoI'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 8y agoWindows 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).
- Klover 8y agoThat depends on your graphics card manufacturer and your motherboard. With my MSI parts I had to get a specially crafted GPU BIOS from an MSI employee to make it all work. I had hoped that situation had improved over the years.
- aesh2Xa1 8y agohttps://nvidia.custhelp.com/app/answers/detail/a_id/17/~/uefi-%2F-video-bios-download https://nvidia.custhelp.com/app/answers/detail/a_id/17/~/uef... This should help with that.
- ElijahLynn 8y agoI 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!
- akulbe 8y agoHaving a dumb moment. What is meant by "flicker-free"? I don't recall a "flicker" when I boot my machine to Fedora <29.
- wmf 8y agoI haven't tried desktop Linux in a while, but it used to switch from graphical UEFI mode to text mode then back to graphical. Or sometimes it would switch between different graphical resolutions during boot, causing the monitor to resync.
- _euac 8y agoA 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.
- colemickens 8y agoIs 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.
- mjg59 8y ago> 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?) Not really - it's more that the functionality for copying the firmware's mode configuration into the kernel exists for the Intel gpu driver and nobody's done the work for the others. I spent a while back in 2011 or so looking at doing this for nouveau but never got things working sufficiently well to merge it.
- tokai 8y agoIn 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.
- deleted 8y ago[deleted]
- kbenson 8y agoIt 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.
- nneonneo 8y agoNow 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!
- SuperPaintMan 8y agoHonestly my vote is to bring back the Beefy Miracle. Let the mustard once again indicate progress! (The Plymouth splash for Beefy Miracle had a friendly hotdog with arms waving at you while a mustard squiggle filled itself in up it’s body. Once the hotdog was fully dressed, you were booted!)
- tokai 8y agoThere 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)
- LarryMade2 8y agoA always thought Hackers movie style animated boot-up screens would be awesome. https://www.youtube.com/watch?v=qiQlZU5oWTQ https://www.youtube.com/watch?v=qiQlZU5oWTQ
- Terretta 8y agoYou can go the other direction too, you can make macOS show you the boot text by setting to boot in “verbose mode”: sudo nvram boot-args="-v" More details: http://osxdaily.com/2007/03/25/always-boot-mac-os-x-in-verbose-mode/ http://osxdaily.com/2007/03/25/always-boot-mac-os-x-in-verbo...
- whywhywhywhy 8y agoHuge 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 8y agoI 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 8y agoIt'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 8y agoThat'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.
- madengr 8y agoIrks me every time I have to remove “rhgb quiet” from the kernel parameters, and put it in run-level 3. Why does all this have to be hidden by default? How about the other way around?
- andrewstuart 8y agoI 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".
- ufo 8y agoI 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.
- pard68 8y agoI run Arch. If I blink I am already at the shell login. This is only a concern when your os is slow.
- hendry 8y agoPuzzled that systemd/bootctl isn't mentioned.
- bjoli 8y agoHow 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?
- HeadsUpHigh 8y agoAnd I'm here disabling Plymouth every time because not seeing the boot log is a regression in my books.
- SmellyGeekBoy 8y agoI'm with you. I love seeing all the processes start up!
- jl6 8y agoReally 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.
- bproven 8y agoThis 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
- deleted 8y ago[deleted]