Page 1 of 14 12311 ... LastLast
Results 1 to 10 of 138

Thread: fbsplash

  1. #1
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    fbsplash

    This howto was written for Breezy, when usplash could only support splash screens of 640x400 with 16 colors. Since Edgy, usplash supports higher resolutions and 256 colors, which is more than enough for a pretty splash screen (like the default splashes for Ubuntu and Kubuntu).
    The work required to install fbsplash and the problems it causes (proprietary drivers, kernel updates etc.) is not worth the extra color depth (the default splash screens look good with only 256 colors) and the pretty terminal backgrounds (since you're not supposed to use the terminal in Ubuntu at all), therefore I recommend you don't use it.

    FBsplash howto v2.0

    Here is what you will get once you finish this howto:



    Thanks go to Jean-Damien Durand, who ported Gentoo's fbsplash to Debian, and then later made it compatible with Ubuntu. Most of the work was done by him.
    Parts of this howto are based on his howto for Debian and a few kernel compilation howtos from ubuntuforums.

    Note: This will probably break firestarter. This thread http://ubuntuforums.org/showthread.p...starter+kernel has a solution, but since I didn't want to recompile the kernel again I dumped firestarter instead. (iptables works, so you'll be protected. You just won't have a nice graphical frontend to your firewall)

    So, let's begin:

    First we will need a patched kernel

    PART I - Compiling the shiny new kernel:

    1. If you are using a proprietary Nvidia or Ati driver, you will not be able to use it with your new kernel, and X will not start. You have to edit your xorg.conf file (sudo gedit /etc/X11/xorg.conf [replace gedit with kate for kde]). Find

    Section "Device"
    Identifier "NVIDIA Corporation NV34 [GeForce FX 5200]"
    Driver "nvidia"
    EndSection

    and replace nvidia with nv. If you have ati, replace it with vesa.

    2./aDownload the 2.6.16 or 2.6.17 kernel.
    Get the emission patchset (Recommended). Be sure to use the version for your kernel of choice.
    You may also use the beyond patchset.
    Download the attached evms patch (bd-claim.patch).
    Note: Some people are having problems with 2.6.17-emission2. You may want to use the 2.6.16 kernel with emission4 or the 2.6.17 with the beyond patch until 2.6.17-emission3 comes out. Also, if you use emission and have problems, please post them here

    Or if you want the separate patches (you should use one of the patchsets, since they usually contain the latest patches):

    2./b Go to http://members.optusnet.com.au/ckolivas/kernel/ and download the kernel and patch. In my case this was 2.6.16 and ck10 normal. Note that ck10 contains the fixes to 2.6.16 included in newer versions, so it cannot be applied to newer versions!
    Go to http://www.suspend2.net/ and download the suspend 2 patch (latest stable for 2.6 kernels)
    Go to http://dev.gentoo.org/~spock/projects/gensplash/ and download the fbsplash patch. I also recommend you download the vesafb-tng patch (http://dev.gentoo.org/~spock/projects/vesafb-tng/).
    Download the attached evms patch (bd-claim.patch).

    3. Create a folder in your home named kernel. Put all these files there. If you downloaded the separate patches, extract the suspend2 patch, you should get a subfolder.

    4. Go to /usr/src. Remove the symbolic link linux if there is one. Extract the downloaded Linux kernel to /usr/src. You should get a subfolder named linux-2.6.16. Create a symbolic link to this folder named linux (sudo ln -s linux-2.6.16 linux). Enter the folder (cd linux)

    5. Set a password for root if you don't already have one: sudo passwd root. Then, type su to switch to root.

    6./a Apply the emission patch and the evms patch

    bzcat /home/username/kernel/patch-2.6.16-emission4.bz2 | patch -p1
    patch -p1 < home/username/kernel/bd-claim.patch

    and skip to step 10

    OR apply the separate patches:

    6./b Apply the ck10 patch:

    bzcat /home/username/kernel/patch-2.6.16-ck10.bz2 | patch -p1

    7. Apply the suspend 2 patch. This is a little different:
    Usage:
    apply [path to patches]

    apply -R [path to patches]
    or
    unapply [path to patches]

    The current directory _must_ be the kernel source tree you wish to patch.
    The script must be able to find the path to the patches somehow. This can be
    achieved by specifying the full path to apply, eg:

    /path/to/software-suspend-directory/apply

    or, by specifying it as a parameter.

    apply /path/to/patches
    So type /home/username/kernel/suspend2-2.2.5-for-2.6.16.9/apply (use the tab key to autocomplete directory and file names)

    8. Apply the fbsplash patch:

    cat /home/username/kernel/fbsplash-0.9.2-rc5-2.6.16.patch | patch -p1

    You will get an error message that one hunk in include/linux/sysctl.h failed. The failed hunk is a constant conflict with the ck10 patch and can be easily fixed. Open the files /usr/src/linux/include/linux/sysctl.h and /usr/src/linux/include/linux/sysctl.rej with gedit. Look at the bottom of the rej file. You should see: KERN_FBSPLASH=73, /* string: path to fbsplash helper */ and a line number. It should be 148. Find line 148 in sysctl.h. As you can see there are a few new constants there, so we'll just copy the rejected line after them and change the number. Mine looks like this:
    KERN_INTERACTIVE=73, /* interactive tasks can have cpu bursts */
    KERN_COMPUTE=74, /* adjust timeslices for a compute server */
    KERN_ISO_CPU=75, /* percent cpu SCHED_ISO tasks run SCHED_RR */
    KERN_FBSPLASH=76, /* string: path to fbsplash helper */
    I've simply copied the line and changed 73 to 76.

    9. Finally, apply the vesafb and evms patches:

    cat /home/username/kernel/vesafb-tng-1.0-rc1-r3-2.6.16.patch | patch -p1
    patch -p1 < home/username/kernel/bd-claim.patch

    10. Now, import your configuration from your current kernel (in my case it's config-2.6.12-10-k7, type ls /boot/config* to see yours)

    cp /boot/config-2.6.12-10-k7 .config

    and configure it:

    make xconfig

    When I say check something, I mean put a checkmark into the square before it. A small circle means building it as a module, which is not enough.


    Under Input device support, check Event interface (I believe this is needed to be able to use F2 to switch to verbose mode)
    Graphics support:
    Check support for frame buffer devices
    Uncheck Tile blitting support! This is only needed for some Matrox cards, but is incompatible with fbsplash
    Vesa VGA support: check it and select vesafb-tng if you patched the kernel with the vesafb-tng patch or emission, otherwise use vesafb (or a card-specific driver, e.g. nvidia, ati etc.).
    In Graphics support/Console display driver support, check VGA text console and Video mode selection support. Check Framebuffer Console support (but not Rotation).
    Go back to Graphics support and check support for framebuffer splash (Scroll down, it should be the last one).

    That should be it. Finally, some optimizations taken from another thread:
    In "General Setup" activate:

    -Support for paging of anonymous memory (swap)
    --Support for prefetching swapped memory

    In "Processor type and features":

    -Processor family Choose the model of your processor.

    Activate:

    -Preemption Model
    --Voluntary Kernel Preemption (Desktop)

    -High Memory Support
    --off -if you have less than 1 GB of RAM
    --1GB Low Memory Support -if you have 1GB of RAM
    --4GB -if you have more than 1GB of RAM

    -Timer frequency
    --1000 Hz
    Select a default IO scheduler in Device drivers/Block devices. I recommend the Anticipatory scheduler. If you leave the others checked too you can switch between them during boot (using a kernel parameter) or even while the system is running.

    Here's some more info: http://www.wlug.org.nz/LinuxIoScheduler
    Which one should I use?

    I've not personally done any testing on this, so I can't speak from experience yet. The anticipatory scheduler will be the default one for a reason however - it is optimised for the common case. If you've only got single disk systems (ie, no RAID - hardware or software) then this scheduler is probably the right one for you. If it's a multiuser system, you will probably find cfq or deadline providing better performance, and the numbers seem to back deadline giving the best performance for database systems.
    In "Kernel hacking" uncheck "Kernel debugging".

    Save the configuration.

    11. compile the kernel:

    make-kpkg clean
    make-kpkg -initrd kernel_image kernel_headers modules_image

    Go read a book
    Hopefully, there will be no errors. Once it's ready, you'll have two new deb files in /usr/src. These will be kernel-image-*.deb and kernel-headers-*.deb. Install them using dpkg -i kernel*.deb

    12.
    Reboot. Your new kernel will be the default one.

    PART II - Setting up fbsplash:

    1. Install the Debian packages made by Jean-Damien Durand
    You'll only need the three splashutils packages, don't install the other two. You can remove his repository so that the update manager doesn't bother you about the other two packages, but check back often for updates

    2. configure the bootmanager
    I will only give instructions for grub, since I don't know how to do it in lilo.
    The current entry for your kernel should be something like this:

    Code:
    title        Ubuntu, kernel 2.6.16-emission4  
    root        (hd0,0)
    kernel        /boot/vmlinuz-2.6.16-emission4  root=/dev/hda1 ro quiet splash
    initrd        /boot/initrd.img-2.6.16-emission4
    savedefault
    boot
    remove the splash option
    add these options:
    Code:
    video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu CONSOLE=/dev/tty1
    (note: if you do not have vesafb-tng, do not use video=vesafb:1024x768-32,ywrap, use vga=791 instead. If you are using a different theme, change Ubuntu to the theme's name, e.g. theme:Linux)

    It should look something like this:
    Code:
    title        Ubuntu, kernel 2.6.16-emission4
    root        (hd0,0)
    kernel        /boot/vmlinuz-2.6.16-emission4  root=/dev/hda1 ro video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu quiet CONSOLE=/dev/tty1
    initrd        /boot/initrd.img-2.6.16-emission4
    savedefault
    boot
    NOTE: installing a new kernel package will regenerate menu.lst and revert these changes to the default options. The default options can also be set in menu.lst:
    Code:
    ## ## Start Default Options ##
    ## default kernel options
    ## default kernel options for automagic boot options
    ## If you want special options for specific kernels use kopt_x_y_z
    ## where x.y.z is kernel version. Minor versions can be omitted.
    ## e.g. kopt=root=/dev/hda1 ro
    ##      kopt_2_6_8=root=/dev/hdc1 ro
    ##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
    # kopt=root=/dev/hda1 ro
    
    ## default grub root device
    ## e.g. groot=(hd0,0)
    # groot=(hd0,0)
    
    ## should update-grub create alternative automagic boot options
    ## e.g. alternative=true
    ##      alternative=false
    # alternative=true
    
    ## should update-grub lock alternative automagic boot options
    ## e.g. lockalternative=true
    ##      lockalternative=false
    # lockalternative=false
    
    ## additional options to use with the default boot option, but not with the
    ## alternatives
    ## e.g. defoptions=vga=791 resume=/dev/hda5
    # defoptions=quiet splash
    
    ## altoption boot targets option
    ## multiple altoptions lines are allowed
    ## e.g. altoptions=(extra menu suffix) extra boot options
    ##      altoptions=(recovery mode) single
    # altoptions=(recovery mode) single
    Change this line to something like:
    defoptions=video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu quiet
    This way everytime something regenerates menu.lst, these options will be appended by default to every normal kernel entry (recovery entries have separate defaults)

    3.
    Download my Ubuntu theme or download one from bootsplash.org.
    My theme has to be put under /etc/splash and does not have to be converted.
    Bootsplash themes should be put under /etc/bootsplash/themes and have to be converted using bootsplash2fbsplash <themename>

    4. Disable usplash:
    Since splashutils provides usplash, you can uninstall usplash (*ubuntu-desktop will not be uninstalled). If you don't want to do that, disable it manually:

    -instructions not available since the forum cut off this part of the howto and I can't remember them. Uninstall usplash instead.

    5.
    Regenerate the initrd image: If you uninstalled usplash you don't have to do this.
    Whenever you install a new theme you'll have to regenerate the initrd image to be able to use it. Just run sudo update_initramfs. It will copy all themes in /etc/splash.

    6.
    To fix the flickering problem: (taken from JD's howto)
    At startup, screen will blink when the /etc/init.d/console-screen.sh will execute.

    * You can prevent that by commenting all lines starting with SCREEN_FONT in /etc/console-tools/config, they are not needed under fbsplash IMHO.
    Attached Files Attached Files
    Last edited by knn; May 11th, 2007 at 09:21 AM.

  2. #2
    Join Date
    Nov 2005
    Location
    Sweden
    Beans
    257
    Distro
    Kubuntu 9.10 Karmic Koala

    Re: fbsplash

    This is great, I'll try it on dapper as soon as I have time. I tried to get it working before but got stuck at the initscripts.

  3. #3
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: fbsplash

    From your forum style I suspect you are using kubuntu. I made a small fix for kdm, it's at the bottom of my first post. Also, could you please try installing the three splashutils packages without installing a newer version of sysv-rc, using --force-all instead of --force-overwrite? I don't have time to test this right now, but I'd really like to know if it works.

  4. #4
    Join Date
    Apr 2005
    Location
    Not-So-Sunny Hawaii
    Beans
    Hidden!

    Re: fbsplash

    anyone knwo if it works for dapper?
    So... a 1337 java programmer walks into a bar...

  5. #5
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: fbsplash

    It should work with Dapper too.

  6. #6
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: fbsplash

    I've made a little fix to the theme configuration file, so that now text is displayed (read the end of the first post). I also made a simple console background using the default ubuntu wallpaper:

    I'll put together a silent picture as well (the one that's displayed when booting) and post the new theme then.

    Edit: Here it is, based on the GDM theme and LiveCD bootsplash:


    Extract the archive to /etc/splash (not bootsplash). There's no need to convert it. Don't forget to regenerate the initrd and set the kernel parameter.

    Edit: moved to first post
    Last edited by knn; June 22nd, 2006 at 08:18 AM.

  7. #7
    Join Date
    Nov 2005
    Location
    Sweden
    Beans
    257
    Distro
    Kubuntu 9.10 Karmic Koala

    Re: fbsplash

    Ok now I have it working but there are some problems. When the kernel is initzialising I often only have parts of the theme. When It's done it looks fine but soon it starts to flicker and I can see the verbose screen and silent and some black bars. While using verbose screen it just flickers. I remember it did this on breezy as well when "setting up general console fonts" was shown.

    I uploaded some pictures to show you what I mean. Also one funny thing is that when I reboot my system the splash says Booting blah blah blah but the progress bar starts at 100 and goes down. When it's almost at 0 the message changes to rebooting.

    I tried to compile splashutils but it doesn't work. This is the whole compile message
    Code:
    make: Warning: File `Makefile' has modification time 1,2e+03 s in the future
    CONF, libjpeg
    MAKE, libjpeg
    /bin/sh: -c: line 2: syntax error near unexpected token `;'
    /bin/sh: -c: line 2: `   ; \'
    make: *** [jpeglib] Fel 2
    miscsplash utils work fine though. sysv-rc isn't needed.

    I tried to set vesafb-tng to ywrap ypan and nothing but there were only minor differences. ypan seems to work best but that might just be coincidence.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Bild(43).jpg 
Views:	262 
Size:	44.4 KB 
ID:	9745   Click image for larger version. 

Name:	Bild(46).jpg 
Views:	232 
Size:	50.4 KB 
ID:	9746   Click image for larger version. 

Name:	Bild(47).jpg 
Views:	238 
Size:	62.8 KB 
ID:	9747   Click image for larger version. 

Name:	Bild(44).jpg 
Views:	270 
Size:	56.6 KB 
ID:	9748  
    Last edited by Rizado; May 20th, 2006 at 01:53 PM.

  8. #8
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: fbsplash

    You don't need to compile anything except the kernel. I couldn't compile the splashutils either, but I found those Debian pacakges. Just download all three and install them using dpkg -i --force-all.

    It may be a video driver problem, but I doubt it because the shutdown screen works. Does the console background work fine after booting is finished (press Ctr-Alt-F1 to access the console and Ctr-Alt-F7 to return to the gui) or is it showing only parts too? It might also be that you did not install the packages correctly. If that is the case simply repeat part 2 of the howto. I've included the required packages as attachements and changed the second part of the howto, it should now be a bit simpler.
    Don't forget to use --force-all instead of --force-overwrite if you didn't install the updated sysv-rc package

    As for the flickering:
    At startup, screen will blink when the /etc/init.d/console-screen.sh will execute.

    * You can prevent that by commenting all lines starting with SCREEN_FONT in /etc/console-tools/config, they are not needed under fbsplash IMHO.
    This will not solve your problem though, only the flickering part.

    The shutdown screen is supposed to go backwards, however it should show Shutting down the system and Rebooting the system. I'll check this immediately.
    Edit: It works correctly for me.
    Last edited by knn; May 21st, 2006 at 12:39 AM.

  9. #9
    Join Date
    Nov 2005
    Location
    Sweden
    Beans
    257
    Distro
    Kubuntu 9.10 Karmic Koala

    Re: fbsplash

    Quote Originally Posted by knn
    You don't need to compile anything except the kernel. I couldn't compile the splashutils either, but I found those Debian pacakges. Just download all three and install them using dpkg -i --force-all.

    It may be a video driver problem, but I doubt it because the shutdown screen works. Does the console background work fine after booting is finished (press Ctr-Alt-F1 to access the console and Ctr-Alt-F7 to return to the gui) or is it showing only parts too? It might also be that you did not install the packages correctly. If that is the case simply repeat part 2 of the howto. I've included the required packages as attachements and changed the second part of the howto, it should now be a bit simpler.
    Don't forget to use --force-all instead of --force-overwrite if you didn't install the updated sysv-rc package

    As for the flickering:

    This will not solve your problem though, only the flickering part.

    The shutdown screen is supposed to go backwards, however it should show Shutting down the system and Rebooting the system. I'll check this immediately.
    Edit: It works correctly for me.
    The problem with the packages is that they are for debian and relies on sysv-rc >= 2.86.ds1-12. Dapper uses 2.86.ds1-6ubuntu31 which probably is just the same so it's just a problem with dependencies. However if I install splashutils without debians sysv-rc I get a broken package that has to be fixed (removed) before any new apt changes. And of course lots of packages rely on 2.86.ds1-6ubuntu31 too so I can't replace that either. This is why I want to compile. I'm thinking about repacking it too.

    The flickering is the main problem, The half screen doesn't appear all the time and with ypan it almost never apear. Verbose screen works fine. I'll try playing with some settings.

  10. #10
    Join Date
    Apr 2006
    Beans
    138
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: fbsplash

    Quote Originally Posted by Rizado
    The problem with the packages is that they are for debian and relies on sysv-rc >= 2.86.ds1-12. Dapper uses 2.86.ds1-6ubuntu31 which probably is just the same so it's just a problem with dependencies. However if I install splashutils without debians sysv-rc I get a broken package that has to be fixed (removed) before any new apt changes. And of course lots of packages rely on 2.86.ds1-6ubuntu31 too so I can't replace that either. This is why I want to compile. I'm thinking about repacking it too.

    The flickering is the main problem, The half screen doesn't appear all the time and with ypan it almost never apear. Verbose screen works fine. I'll try playing with some settings.
    You can install the Debian sysv-rc package, it works for me. Alternatively, open the .deb file in an archive manager, extract data.tar.gz. It contains all the files installed by the package with directories too, so you can do a manual install.

Page 1 of 14 12311 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •