qspec,
My previous answer about framebuffer drivers was incomplete.
All of the Direct Render Manager video drivers provide a framebuffer console. These drivers are in two parts.
A kernel part, that includes the frmebuffer console driver and an Xorg part that works with the kernel part to give you Direct Rendering.
Nouveau is one of the DRM kernel video drivers. It includes a framebuffer too.
Now it gets a bit tricky. What happens when depends on how your kernel is made. Here's a worked example from my system.
Code: Select all
$ dmesg | grep buffer
[ 1.442961] e820: reserve RAM buffer [mem 0x0009e400-0x0009ffff]
[ 1.442962] e820: reserve RAM buffer [mem 0xcfe90000-0xcfffffff]
[ 1.974192] vesafb: framebuffer at 0xf9000000, mapped to 0xffffc90000800000, using 3072k, total 14336k
[ 1.976335] Console: switching to colour frame buffer device 128x48
[ 1.978360] fb0: VESA VGA frame buffer device
[ 2.178054] nouveau 0000:01:00.0: DRM: MM: using CRYPT for buffer copies
[ 2.363979] Console: switching to colour frame buffer device 320x90
[ 2.397288] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
First, the kernel uses the old VGA console, then it switches to vesafb (I used to use nvidia-drivers), then it switches to nouveau. Its all over in under 2.3 seconds.
You might not notice.
The nouveau framebuffer cannot be used until the kernel module is loaded and initialised. How long that takes depends where the code is.
If its built into the kernel <*>, its loaded by the boot loader and comes up fastest.
If its a <M> it may be in the initrd. The initrd needs to be mounted by the kernel before the module can be loaded.
Lastly, it might only be on the root filesystem, which may not be mounted until several seconds into the boot process.
Here, that happens at
Code: Select all
[ 4.518764] EXT4-fs (dm-10): mounted filesystem with ordered data mode. Opts: (null)
but if that's your only console driver, the console is blank and you don't see any console messages until
nouveau is active. Or to be a little bit more direct, if you get a boot fail before nouveau is active, you don't get any hints as to why.
That nvidia-drivers warning about framebuffers applies only to the nvidia-drivers. If you use a boot loader, or something else sets up a framebuffer, simple framebuffer may work.
Reading dmesg will shed some light on your boot process and the framebuffer switching the kernel does.