Screen flashes once at boot...How to get rid of it

Still need help with Gentoo, and your question doesn't fit in the above forums? Here is your last bastion of hope.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Screen flashes once at boot...How to get rid of it

Post by LegionOfHell »

When I turn my laptop on and choose "Gentoo GNU/Linux" from the Grub menu and shortly after the "loading linux 4.19-27 gentoo-r1" screen, during the screen with pictures of Penguins at the top, My screen flashes once...How do I remove this flash ?
User avatar
The Doctor
Moderator
Moderator
Posts: 2678
Joined: Tue Jul 27, 2010 10:56 pm

Post by The Doctor »

The flash is the kernel refreshing the driver. Build in the driver into the kernel instead of using a module if possible.
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

how do I figure out which driver it is ?
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

do you mean these:

Device Drivers --->
Generic Driver Options --->
-*- Userspace firmware loading support
[*] Include in-kernel firmware blobs in kernel binary
(i915/skl_dmc_ver1_26.bin) External firmware blobs to build into the kernel binary
(/lib/firmware) Firmware blobs root directory
User avatar
The Doctor
Moderator
Moderator
Posts: 2678
Joined: Tue Jul 27, 2010 10:56 pm

Post by The Doctor »

The driver depends on your video card. A good read through the Gentoo Handbook will tell you how to find it.

If you are a genkernel user you will need to use the --menuconfig option to customize the kernel.
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
User avatar
The Doctor
Moderator
Moderator
Posts: 2678
Joined: Tue Jul 27, 2010 10:56 pm

Post by The Doctor »

LegionOfHell wrote:do you mean these:

Device Drivers --->
Generic Driver Options --->
-*- Userspace firmware loading support
[*] Include in-kernel firmware blobs in kernel binary
(i915/skl_dmc_ver1_26.bin) External firmware blobs to build into the kernel binary
(/lib/firmware) Firmware blobs root directory
No, the options are under Device Drivers -> Graphics support
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

Here are the photos of stuff under Device Drivers--->Graphics support

https://ibb.co/9bG0LMT
https://ibb.co/6Fxth2c


they are all built in ...

Also, here is the GPU information :

https://ibb.co/tLZqrrf
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

Also, should I worry about kernel messages ? should I read the log at /etc/log/messages and read through it searching for errors ?
User avatar
ian.au
l33t
l33t
Posts: 620
Joined: Thu Apr 07, 2011 3:39 am
Location: Australia

Post by ian.au »

LegionOfHell wrote:Also, should I worry about kernel messages ? should I read the log at /etc/log/messages and read through it searching for errors ?
Well that qualifies as a new topic really... but the level of 'worry' attached to logs is really only relevant to your threat profile.

The log location and format depends on your choice of init system, then which logger you have installed, but they'll be under /var/. If you're on a default install with openRC you choose from a few options here: https://wiki.gentoo.org/wiki/Handbook:A ... tion/Tools. On desktops I use metalog and grep through the logs for warn or err daily, that's plenty. If you're running a server of any sort then logs take on a whole new level of significance.

With systemd you get logging via journalctl and whatever else you choose to install from the above tools, they're not exclusive, either way following the handbook should have taken you through this.

Kernel messages are important, especially when setting up / customising and debugging a new system, or to start debugging when problems occur. Some of them are more important than others, it just takes a bit of time, research and experience to work out

Code: Select all

man dmesg
and

Code: Select all

dmesg --level=err,warn
to quieten the noise.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

oh thanks for that command...it is handy...How about the flash that i get at boot ?
szatox
Advocate
Advocate
Posts: 3858
Joined: Tue Aug 27, 2013 12:35 pm

Post by szatox »

How about the flash that i get at boot ?
The Doctor already told you: reconfigure your kernel so the video driver is builtin rather than a module.
You can use 'lspci -k' to find out what kernel driver is in use.
There are not a lot of popular grapic drivers though, so you probably already know what you need though.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

but my drivers are built in...I just pasted the photos...
User avatar
skellr
Veteran
Veteran
Posts: 1035
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

Post by skellr »

I think it's flashing when it switches framebuffer drivers. It will switch between them if you have multiple configured. I'm not sure if it keeps choosing a "better" driver as it progresses through the sequence or not.

I would just enable one, I just use EFI framebuffer. simple fb or intelfb might be good also. not sure which one is "best".
User avatar
skellr
Veteran
Veteran
Posts: 1035
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

Post by skellr »

One thing that bothered me about intelfb is that it wouldn't show "early printk" like EFI fb would. it would only initialize and start displaying near the end of the kernel output, not far before init. I'm sure there is a better/proper name for it... Maybe i'm just anal but I like to see it. The human eye can still notice when something is off, even when output is scrolling by so fast. At least on a desktop/laptop, servers have logs.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

if you mean :

Device Drivers --->
Graphics support --->
Frame Buffer Devices --->

I have all options under *** Frame buffer hardware drivers *** unset except "EFI-based Framebuffer Support"

because according to the xorg guide, I have to set it if I am using UEFI...here is a photo : https://ibb.co/p2n1bfL

I also have this black lines appearing as I scroll down in menuconfig...note that I have not installed xorg yet...
User avatar
skellr
Veteran
Veteran
Posts: 1035
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

Post by skellr »

LegionOfHell wrote:if you mean :

Device Drivers --->
Graphics support --->
Frame Buffer Devices --->

I have all options under *** Frame buffer hardware drivers *** unset except "EFI-based Framebuffer Support"

because according to the xorg guide, I have to set it if I am using UEFI...here is a photo : https://ibb.co/p2n1bfL

I also have this black lines appearing as I scroll down in menuconfig...note that I have not installed xorg yet...
Yes, it usually flashes when it switches display drivers. it usually switches between fb drivers the most during the boot.

Code: Select all

dmesg | grep -i switching
I've noticed the black likes in the kernel menuconfig also. It goes away after a while. I suspect it has something to do with ncurses. once you get further along and have recompiled things it will go away.

I'm not a "guru" and can't tell you why it happens, just that it should pass. Exept for the flashing issue.

Good luck.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

dmesg | grep -i switching :

https://ibb.co/ThwJyQf

what is the solution ? should I turn off the EFI framebuffer support ? will that cause any problems ?
User avatar
ian.au
l33t
l33t
Posts: 620
Joined: Thu Apr 07, 2011 3:39 am
Location: Australia

Post by ian.au »

Turning off efi framebuffer support = no console during efi boot, I doubt you want that.

What's calling the switch to intelfb? Maybe try turning off the boot logo in config?
User avatar
skellr
Veteran
Veteran
Posts: 1035
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

Post by skellr »

LegionOfHell wrote: what is the solution ? should I turn off the EFI framebuffer support ? will that cause any problems ?
I think you could. I doubt you will see the initial kernel messages "printk" like you would with EFI framebuffer. It will probably just show you the last few lines before the init system starts. almost like you passed quiet as a kernel parameter. intelfb or inteldrmfb should then kick in and start displaying. but there will be a delay before it does.

I think inteldrmfb is a bonus "gift" when using intel video drivers, at least for users. ;) Not sure how to disable it.

I don't think it's a module so module.blacklist won't work... maybe there is a kernel parameter?
User avatar
skellr
Veteran
Veteran
Posts: 1035
Joined: Sat Jun 18, 2005 1:34 am
Location: The Village, Portmeirion

Post by skellr »

Try this... maybe you can tell it to use EFI fb instead. as a kernel parameter.

Code: Select all

video=efifb
Maybe it will stick with it and not switch?
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

"What's calling the switch to intelfb? Maybe try turning off the boot logo in config? "


how do i figure that out ?



skellr, I will try that solution last...


How about nomodeset ?
User avatar
bammbamm808
Guru
Guru
Posts: 558
Joined: Sun Dec 08, 2002 7:09 am
Location: Hawaii

Post by bammbamm808 »

LegionOfHell wrote:"What's calling the switch to intelfb? Maybe try turning off the boot logo in config? "


how do i figure that out ?



skellr, I will try that solution last...


How about nomodeset ?
Google these terms. The internet is full of documentation on the things they refer to. Then, if you have questions after making an attempt to educate yourself, ask someone. This is the best approach to linux.
MSI MAG B550 Tomahawk
Ryzen 3900x
32Gb Samsung B-die (16GB dual rank x2) DDR4 @ 3200MHz, cl14
Geforce RTX 4070S 8GB
Samsung m.2 NVME pcie-3.0
Etc....
User avatar
The Doctor
Moderator
Moderator
Posts: 2678
Joined: Tue Jul 27, 2010 10:56 pm

Post by The Doctor »

A fundamental issue here is that it is that it is probably impossible to completely eliminate the mode shifts. The initial boot comes from a bare bones system that doesn't (and can't) include sophisticated video drivers. There just is not enough space. By ensuring an appropriate driver is available in the kernel you can switch to that as soon as the kernel takes over. Genkernel complicates this by having too many drivers and not having the available right away. My system changes resolutions three times during bootup. Once after displaying the EUFI splash screen, once when displaying the (EUFI) bootloader, and once when the kernel takes over. The first two cannot be helped as I have no control over the code being run. The third is the code I do control setting the resolution I do want. What should be controllable is removing a generic driver that is then switched to a specific one during the boot process and that one would cause the problem you described.

Where this process can become impossible is for proprietary drivers used by AMD and NIVIDA. They require the closed source driver be loaded as a module.

A custom kernel is the best way forward if you want to tune the system. It sounds like your experiencing inefficiencies that would take quite a while to chase down since genkernel is bloated by design. It is a general purpose kernel that will work just about anywhere with just about any hardware. This means it has just about everything available and no memory about what it actually needs so it ends up trying everything. It sounds like this is annoying to you, so learning how to make a custom kernel is probably your next step.
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
LegionOfHell
Apprentice
Apprentice
Posts: 253
Joined: Sat Mar 16, 2019 2:58 am
Location: Toronto, Canada

Post by LegionOfHell »

I tried :

GRUB_CMDLINE_LINUX_DEFAULT="video=inteldrmfb:off,efifb:off"
GRUB_CMDLINE_LINUX_DEFAULT="video=inteldrmfb:off,efifb"
GRUB_CMDLINE_LINUX_DEFAULT="video=inteldrmfb,efifb:off"
GRUB_CMDLINE_LINUX_DEFAULT="video=efifb"


and none of these resolve the issue..

with GRUB_CMDLINE_LINUX_DEFAULT="video=inteldrmfb,efifb:off"

I don't get the "switching to inteldrmfb" message..


GRUB_CMDLINE_LINUX_DEFAULT="nomodeset" works beautifully though ...
User avatar
pjp
Administrator
Administrator
Posts: 20668
Joined: Tue Apr 16, 2002 10:35 pm

Post by pjp »

Moved from Installing Gentoo to Other Things Gentoo as this is a post-installation issue.


Does the referenced material in [topic=1096390]Flicker Free Boot[/topic] help?
Quis separabit? Quo animo?
Post Reply