-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
None
-
- funtoo-current, x86-64bit
- sys-kernel/ck-sources-3.14.26 (and later 3.17.6) with CONFIG_FB_UVESA=y and sys-apps/v86d initramfs built in
- external custom busybox-based initramfs for drive decryption: includes /sbin/v86d
- x11-base/xorg-server-1.16.1-r2 and x11-drivers/nvidia-drivers-346.22 (GeForce GTX 760 gpu)
- sys-boot/grub-2.02_beta2-r3 and sys-boot/boot-update-1.7.2
- GRUB_PLATFORMS="efi-64 pc"
- BIOS/GPT platform (using a EF02 BIOS boot partition)
- grub-install target is i386-pc
funtoo-current, x86-64bit sys-kernel/ck-sources-3.14.26 (and later 3.17.6) with CONFIG_FB_UVESA=y and sys-apps/v86d initramfs built in external custom busybox-based initramfs for drive decryption: includes /sbin/v86d x11-base/xorg-server-1.16.1-r2 and x11-drivers/nvidia-drivers-346.22 (GeForce GTX 760 gpu) sys-boot/grub-2.02_beta2-r3 and sys-boot/boot-update-1.7.2 GRUB_PLATFORMS="efi-64 pc" BIOS/GPT platform (using a EF02 BIOS boot partition) grub-install target is i386-pc
A recent update of sys-boot/grub and sys-boot/boot-update, together with a re-run of grub-install and boot-update, resulted in the uvesa console framebuffer (uvesafb) no longer being present during computer reboots.
After some investigation I have discovered a workaround.
The problem dmesg output
[ 0.439734] v86d (227) used greatest stack depth: 6032 bytes left [ 0.505514] uvesafb: NVIDIA Corporation, GK104 Board - 20040010, Chip Rev , OEM: NVIDIA, VBE v3.0 [ 0.558508] uvesafb: VBIOS/hardware doesn't support DDC transfers [ 0.558511] uvesafb: no monitor limits have been set, default refresh rate will be used [ 0.558718] uvesafb: scrolling: redraw [ 0.558721] uvesafb: cannot reserve video memory at 0xe9000000 [ 0.558725] uvesafb: probe of uvesafb.0 failed with error -5 [ 10.316944] NVRM: Your system is not currently configured to drive a VGA console [ 10.316948] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver [ 10.316949] NVRM: requires the use of a text-mode VGA console. Use of other console [ 10.316951] NVRM: drivers including, but not limited to, vesafb, may result in [ 10.316952] NVRM: corruption and stability problems, and is not supported.
Contents of /etc/boot.conf
boot { generate grub default "Funtoo Linux" timeout 3 } display { gfxmode 1024x768 } "Funtoo Linux" { params root=UUID=d15691fd-406c-46be-8c00-8e319791ec74 params += video=uvesafb:1920x1080-32,mtrr:3,ywrap params += quiet kernel vmlinuz[-v] initrd custom-initramfs-2015-01-07.cpio.gz }
Which results in a /boot/grub/grub.cfg
set timeout=3 insmod part_gpt insmod ext2 set root=(hostdisk//dev/sdh,gpt1) search --no-floppy --fs-uuid --set e65f947f-038e-42cd-8169-5778dca68ffb if loadfont /grub/unifont.pf2; then set gfxmode=1024x768 insmod all_video terminal_output gfxterm fi set menu_color_normal=cyan/blue set menu_color_highlight=blue/cyan menuentry "Funtoo Linux - vmlinuz-3.17.6-ck-2015-01-07" { insmod part_gpt insmod ext2 set root=(hostdisk//dev/sdh,gpt1) search --no-floppy --fs-uuid --set e65f947f-038e-42cd-8169-5778dca68ffb linux /vmlinuz-3.17.6-ck-2015-01-07 root=UUID=d15691fd-406c-46be-8c00-8e319791ec74 video=uvesafb:1920x1080-32,mtrr:3,ywrap quiet initrd /custom-initramfs-2015-01-07.cpio.gz set gfxpayload=keep }
Manually removing set gfxpayload=keep towards the end of the menuentry section within grub.cfg resulted in the uvesa framebuffer returning to subsequent reboots.
Successful uvesafb (dmesg output)
[ 0.426742] v86d (232) used greatest stack depth: 14168 bytes left [ 0.492564] uvesafb: NVIDIA Corporation, GK104 Board - 20040010, Chip Rev , OEM: NVIDIA, VBE v3.0 [ 0.545598] uvesafb: VBIOS/hardware doesn't support DDC transfers [ 0.545599] uvesafb: no monitor limits have been set, default refresh rate will be used [ 0.545811] uvesafb: scrolling: redraw [ 0.915049] Console: switching to colour frame buffer device 240x67 [ 0.920483] uvesafb: framebuffer at 0xe9000000, mapped to 0xffffc90006280000, using 14336k, total 14336k [ 0.920484] fb0: VESA VGA frame buffer device