# Upgrade to 2.6.24-tuxonice-r3: fbcondecor Stops Working

## Kenji Miyamoto

I've just recently upgraded my laptop to the 2.6.24-tuxonice-r3 kernel, and fbcondecor doesn't work anymore.  This is using the same initrd file from back when I used fbsplash as shown on the wiki.  What's strange is that when I force it into silent mode on bootup (passing the boot parameter), it says something about no images defined for silent 8bpb.  Here's some information:

```
# dmesg | grep uvesafb

Command line: root=/dev/sda1 resume2=/dev/sda2 console=tty1 vga=0x318 video=uvesafb:mtrr:3,ywrap,1024x768-32 splash=verbose,theme:gentoo-blue fbcon=scrollback:512K

Kernel command line: root=/dev/sda1 resume2=/dev/sda2 console=tty1 vga=0x318 video=uvesafb:mtrr:3,ywrap,1024x768-32 splash=verbose,theme:gentoo-blue fbcon=scrollback:512K

uvesafb: NVIDIA Corporation, G72 Board - e463h0v , Chip Rev   , OEM: NVIDIA, VBE v3.0

uvesafb: VBIOS/hardware doesn't support DDC transfers

uvesafb: no monitor limits have been set, default refresh rate will be used

uvesafb: scrolling: redraw

uvesafb: framebuffer at 0xc0000000, mapped to 0xffffc20010100000, using 6144k, total 131072k

# zgrep -i fb /proc/config.gz

CONFIG_TOI_USERUI_DEFAULT_PATH="/usr/local/sbin/tuxonice_fbsplash"

CONFIG_FB=y

CONFIG_FB_DDC=m

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set

# CONFIG_FB_SYS_FILLRECT is not set

# CONFIG_FB_SYS_COPYAREA is not set

# CONFIG_FB_SYS_IMAGEBLIT is not set

# CONFIG_FB_SYS_FOPS is not set

CONFIG_FB_DEFERRED_IO=y

# CONFIG_FB_SVGALIB is not set

# CONFIG_FB_MACMODES is not set

CONFIG_FB_BACKLIGHT=y

CONFIG_FB_MODE_HELPERS=y

# CONFIG_FB_TILEBLITTING is not set

# CONFIG_FB_CIRRUS is not set

# CONFIG_FB_PM2 is not set

# CONFIG_FB_CYBER2000 is not set

# CONFIG_FB_ARC is not set

# CONFIG_FB_ASILIANT is not set

# CONFIG_FB_IMSTT is not set

CONFIG_FB_VGA16=y

CONFIG_FB_UVESA=y

CONFIG_FB_VESA=y

CONFIG_FB_EFI=y

# CONFIG_FB_HECUBA is not set

# CONFIG_FB_HGA is not set

# CONFIG_FB_S1D13XXX is not set

CONFIG_FB_NVIDIA=m

CONFIG_FB_NVIDIA_I2C=y

# CONFIG_FB_NVIDIA_DEBUG is not set

CONFIG_FB_NVIDIA_BACKLIGHT=y

# CONFIG_FB_RIVA is not set

# CONFIG_FB_LE80578 is not set

# CONFIG_FB_INTEL is not set

# CONFIG_FB_MATROX is not set

# CONFIG_FB_RADEON is not set

# CONFIG_FB_ATY128 is not set

# CONFIG_FB_ATY is not set

# CONFIG_FB_S3 is not set

# CONFIG_FB_SAVAGE is not set

# CONFIG_FB_SIS is not set

# CONFIG_FB_NEOMAGIC is not set

# CONFIG_FB_KYRO is not set

# CONFIG_FB_3DFX is not set

# CONFIG_FB_VOODOO1 is not set

# CONFIG_FB_VT8623 is not set

# CONFIG_FB_TRIDENT is not set

# CONFIG_FB_ARK is not set

# CONFIG_FB_PM3 is not set

# CONFIG_FB_GEODE is not set

# CONFIG_FB_VIRTUAL is not set

CONFIG_FB_CON_DECOR=y

# ls -l /boot

boot

config-2.6.22-suspend2-r1

config-2.6.22-suspend2-r2

config-2.6.24-tuxonice-r3

fbsplash-gentoo-blue-1024x768

fbsplash-gentoo-blue-1280x800

fbsplash-livecd-2007.0-1024x768

grub

kernel-2.6.22-suspend2-r1

kernel-2.6.22-suspend2-r2

kernel-2.6.24-tuxonice-r3

lost+found

oldconfig.gz

System.map-2.6.22-suspend2-r1

System.map-2.6.22-suspend2-r2

System.map-2.6.24-tuxonice-r3
```

Why's fbcondecor not working here?

----------

## jfp

I also had problems fbcondecor when I went from 2.6.22 to 2.6.24. Same problem with either gentoo-sources or tuxonice, so I think it really has more to do with 2.6.24. From the kernels you list it seems that you have upgraded from 2.6.22-suspend2-r2 to 2.6.24-tuxonice-r3.

Sadly, I had this issue long enough ago that I can't remember exactly what fixed it, but I am pretty sure it was with the kernel command line in grub.conf.

(BTW - I am using the exact same initrd that I have been using ever since I first got splash/fbcondecor working)

This is what mine looks like. You may want to experiment with what I am using (and which works just fine with 2.6.24-tuxonice-r3)

```

kernel /boot/kernel-2.6.24-tuxonice-r3 root=/dev/sda6 resume=swap:/dev/sda5 vga=0x318 video=uvesafb:1024x768-24,mtrr:3,ywrap splash=silent, theme:Emergance console=tty1

initrd /boot/fbsplash-Emergance-1024x768

```

John

----------

## Kenji Miyamoto

I tried rearranging some things in the boot parameters, but to no avail:

```
# head /boot/grub/menu.lst

default 0

timeout 10

splashimage (hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo 2.6.24-tuxonice-r3

root (hd0,0)

kernel /boot/kernel-2.6.24-tuxonice-r3 root=/dev/sda1 resume=swap:/dev/sda2 console=tty1 vga=0x318 video=uvesafb:1024x768-24,mtrr:3,ywrap splash=verbose,theme:fbsplash-livecd-2007.0 fbcon=scrollback:512K

initrd /boot/fbsplash-livecd-2007.0-1024x768

# fbset

mode "1024x768-60"

    # D: 64.033 MHz, H: 47.714 kHz, V: 60.018 Hz

    geometry 1024 768 1024 768 32

    timings 15617 159 52 23 1 107 3

    vsync high

    rgba 8/16,8/8,8/0,8/24

endmode
```

However, I did find something interesting when running /sbin/fbcondecor_ctl.static (which is used in the fbcondecor init script):

```
GNU gdb 6.7.1

Copyright (C) 2007 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "x86_64-pc-linux-gnu"...

Using host libthread_db library "/lib/libthread_db.so.1".

[Thread debugging using libthread_db enabled]

[New Thread 0x815860 (LWP 7583)]

Program received signal SIGSEGV, Segmentation fault.

[Switching to Thread 0x815860 (LWP 7583)]

0x0000000000404181 in cfg_check_sanity ()

#0  0x0000000000404181 in cfg_check_sanity ()

#1  0x0000000000403e2e in fbcon_decor_setcfg ()

#2  0x0000000000402932 in fbcondecor_main ()

#3  0x000000000051c1d4 in __libc_start_main ()

#4  0x00000000004001f9 in _start ()

The program is running.  Exit anyway? (y or n) [answered Y; input not from terminal]
```

Would this segfaulting have anything to do with my problems?

----------

## jfp

I am now upgrading a desktop system from gentoo-sources 2.6.20 to 2.6.24-r3. As expected fbcondecor did not work... At least we can't blame tuxonice.

I know that getting fbcondecor working is definitely doable. It works perfectly on my laptop with tuxonice 2.6.24-r3.

I don't know how to address the seg fault. I assume it is not good thing.

I tried /sbin/fbcondecor_ctl.static with this result

```
speedy ~ # /sbin/fbcondecor_ctl.static

Failed to open the fbcon_decor control device.
```

I have no idea what that means.

I am making progess though. After quite a few reboots and working past typos, etc. I am now getting my fbcondecor screen, but it is weird. two things: 

[*]Many boot message scroll by, and then finally, fbcondecor starts. 

[*]I don't see the "Press F2" message, although pressing F2 does work.

Here is my current kernel line from grub.conf

```

kernel /boot/kernel-2.6.24-gentoo-r3 root=/dev/hda6 vga=792 video=uvesafb:1024x768-24,mtrr:3,ywrap splash=silent,fadein,theme:Emergance console=tty1

```

(note the vga=792 - I am now working with a much larger screen)

I also umasked (for ~amd64) the latest version of splashutils and emerged it.

----------

## ceric35

 *jfp wrote:*   

> I also umasked (for ~amd64) the latest version of splashutils and emerged it.

 

have you enabled fbcondecor useflag too ?

----------

## jfp

Yes - the fbcondecor USE flag is set.

It's strange - fbcondecor is "almost" working... 

What I expect at boot time is to see a very brief flash of messages, and then have the console go into "silent" mode with my Emergence theme. 

What I am getting though, is almost the entire boot sequence in text, followed towards the end of the boot process with the Emergence screen. 

BTW at shutdown time, fbcondecor works perfectly except I don't see the "Press F2" message athough pressing F2 does take me to verbose mode.

I am using:

```

*  sys-kernel/linux-headers

      Latest version available: 2.6.23-r3

      Latest version installed: 2.6.23-r3
```

I am almost tempted to unmask and use linux-headers 2.6.24 - I know I am using that version of the headers on my laptop.

----------

## jfp

From http://fbsplash.berlios.de/wiki/doku.php?id=docs:distros:gentoo

 *Quote:*   

> 
> 
> Configuring splashutils
> 
> To enable fbsplash, you have to edit the config file of your bootloader. Find the kernel command line for your current kernel and extend it with: splash=silent,theme:SampleTheme quiet console=tty1 (replace SampleTheme with a theme you wish to use). 
> ...

 

The operative part of the quote is bolded. That is what seems to be not working for me

In my grub.conf I do specify:

```
initrd /boot/fbsplash-Emergance-1024x768
```

However, that was generated a long time ago. I am going to give regenerating a try.

----------

## Kenji Miyamoto

In my case, I never get a splash screen at any point.  However, I do see a blue flash at the very beginning of startup (my splash screen is blue).  Any ideas?

----------

## jfp

Well, I got it working. It's funny - I work with complex server-based software for a living and over the years, I have always found that the bigger the problem, generally the simpler the cause. Gross failures are almost always due to some simple configuration problem, or just forgetting to do something. Usually it turns out that minor issues are the ones that can be hard to figure out. Basically, I believe that software (at least at the GA level) basically just works. A gross failure as we (I) have been seeing with fbcondecor can't be a problem with the software (or the kernel), therefore it must be some problem with configuration or something else fairly simple.

Such is the case with the current problem. In this case I simply ignored my experience as related above, and did at least a zillion things, all of which had no effect (well I did configure the kernel into an "Ooops" at one point).

[*] I did regenerate the initrd as I said I would - No effect

[*] I did unmask and emerge linux-header-2.6.24 && buld kernel && emerge -emptytree system - this had no effect

[*] I did *many* kernel rebuilds (on the plus side I did clean out a ton of stuff from the kernel) - however, this had no effect on the fbcondecor issue.

[*] "rc-update add fbcondecor default" - this did have an effect - at least the splash screen did display, but only after many lines of boot messages. I did an "rc-update delete fbcondecor", as this was not solving my problem

I was just about to post to this thread that I was giving up....

Then I actually searched the forums and found this thread https://forums.gentoo.org/viewtopic-t-675425-highlight-fbcondecor+splash.html. 

 *Quote:*   

> did you have fbcondecor in kernel before? There are options that need to be enabled in the kernel: Code:
> 
> CONFIG_FRAMEBUFFER_CONSOLE=y 
> 
> # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 
> ...

 

Now I could not find the exact option "CONFIG_FB_CON_DECOR" in make menuconfig, but I did find something close:

```

Device Drivers ---> Graphics support ---> Console display driver support  --->  

   

-*- VGA text console                                             

      [*]   Enable Scrollback Buffer in System RAM                     

      (128)   Scrollback Buffer Size (in KB)                           

      -*-   Video mode selection support                              

      <*> Framebuffer Console support                              

      [ ]   Map the console to the primary display device        

      [ ]   Framebuffer Console Rotation                              

      [*]   Support for the Framebuffer Console Decorations  <------- I did not have this selected!

      [ ] Select compiled-in fonts                                     

```

I my case, I did not have "Support for the Framebuffer Console Decorations" selected!!! Oh what a dolt I am...

I selected it, did yet another kernel compile, rebooted, and magically my console went into silent mode exactly as I wanted it to.

The screen displays a very brief bit of messages, which is then replaced by the Emergance theme.

I don't know if this "insight" will have any effect for Kenji's issue which started this thread. I will happily post my .config, grub.conf, hardware spec,whatever if that will help.

[EDIT] - just looked at Kenji's .config an see that he does have the correct option selected. I will do a better comparison of his .config with mine [/EDIT]

John

----------

## jfp

Here is my .config. There are differences with Kenji's .config, although I don't know if they are significant. 

```

speedy linux # zgrep -i fb /proc/config.gz

# CONFIG_BLK_DEV_OFFBOARD is not set

CONFIG_IFB=y

CONFIG_FB=y

# CONFIG_FB_DDC is not set

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set

# CONFIG_FB_SYS_FILLRECT is not set

# CONFIG_FB_SYS_COPYAREA is not set

# CONFIG_FB_SYS_IMAGEBLIT is not set

# CONFIG_FB_SYS_FOPS is not set

CONFIG_FB_DEFERRED_IO=y

# CONFIG_FB_SVGALIB is not set

# CONFIG_FB_MACMODES is not set

# CONFIG_FB_BACKLIGHT is not set

# CONFIG_FB_MODE_HELPERS is not set

# CONFIG_FB_TILEBLITTING is not set

# CONFIG_FB_CIRRUS is not set

# CONFIG_FB_PM2 is not set

# CONFIG_FB_CYBER2000 is not set

# CONFIG_FB_ARC is not set

# CONFIG_FB_ASILIANT is not set

# CONFIG_FB_IMSTT is not set

# CONFIG_FB_VGA16 is not set

CONFIG_FB_VESA=y

# CONFIG_FB_EFI is not set

# CONFIG_FB_HECUBA is not set

# CONFIG_FB_HGA is not set

# CONFIG_FB_S1D13XXX is not set

# CONFIG_FB_NVIDIA is not set

# CONFIG_FB_RIVA is not set

# CONFIG_FB_LE80578 is not set

# CONFIG_FB_INTEL is not set

# CONFIG_FB_MATROX is not set

# CONFIG_FB_RADEON is not set

# CONFIG_FB_ATY128 is not set

# CONFIG_FB_ATY is not set

# CONFIG_FB_S3 is not set

# CONFIG_FB_SAVAGE is not set

# CONFIG_FB_SIS is not set

# CONFIG_FB_NEOMAGIC is not set

# CONFIG_FB_KYRO is not set

# CONFIG_FB_3DFX is not set

# CONFIG_FB_VOODOO1 is not set

# CONFIG_FB_VT8623 is not set

# CONFIG_FB_TRIDENT is not set

# CONFIG_FB_ARK is not set

# CONFIG_FB_PM3 is not set

# CONFIG_FB_GEODE is not set

# CONFIG_FB_VIRTUAL is not set

CONFIG_FB_CON_DECOR=y

```

----------

