The Chakra Project

Plymouth

From The Chakra Project - Wiki

Revision as of 15:05, 28 June 2010 by Abveritas (Talk | contribs)
Jump to: navigation, search

This page explains how to get a working Plymouth in Chakra GNU/Linux.

Contents

Build & Installation

Before installing Plymouth it's obviously necesary to build its package. You can get the Plymouth PKGBUILD for Chakra GNU/Linux by executing:

git clone git://git.chakra-project.org/chakra/plymouth

This will download Chakra's PKGBUILD for Plymouth. Once the download is done, continue with:

cd plymouth
makepkg --skipinteg
pacman -U *.tar.xz

Note you have to run pacman as superuser.

Configuration

Once installed, you can set your Plymouth theme. Spinfinity looks great, so you can run this as superuser:

plymouth-set-default-theme spinfinity

Now it's time to do the tricky parts:

  • Edit your mkinitcpio.conf. You have to add "plymouth" to your hooks. Put it the earlier you can, but not before base or udev, otherwise things won't work! A sane configuration would be to put it after base and udev but before autodetect.
File: /etc/mkinitcpio.conf
HOOKS="base udev plymouth keymap autodetect pata scsi sata filesystems"
  • If you use encryption for root partition then make sure that Plymouth is after the encrypt hook otherwise your passphrase won't work.
  • Now rebuild your ramdisk by runing this (as superuser):
mkinitcpio -p kernel26
  • Next thing you need is to change the kernel line in menu.lst, so it has no vga=xxx or video=xxx parts, but it has splash and quiet.
File: /boot/grub/menu.lst
# Chakra GNU/Linux
title  Chakra GNU/Linux
root   (hdX,Y)
kernel /boot/vmlinuz26 resume=[...] root=[...] ro vga=[...] quiet splash
initrd /boot/kernel26.img

Extra Tips

NVIDIA Propertary Drivers

This was tested with kernel 2.6.31.4 and nvidia 185.18.36-2 with nvidia-utils 185.18.36-1.
  • Install nvidia:
sudo pacman -S nvidia nvidia-utils
  • Create /etc/X11/xorg.conf as superuser:
touch /etc/X11/xorg.conf
  • Add these entries:
Section "ServerLayout"
  Identifier     "X.org Configured"
  Screen      0  "Screen0" 0 0
EndSection
 
Section "Module"
  Load  "glx"
  Load  "dbe"
  Load  "dri"
  Load  "dri2"
  Load  "extmod"
  Load  "record"
EndSection
 
Section "Monitor"
  Identifier   "Monitor0"
  VendorName   "Monitor Vendor"
  ModelName    "Monitor Model"
EndSection
 
Section "Device"
  Identifier  "Card0"
  Driver	"nvidia"
  VendorName  "nVidia Corporation"
  Option      "NoLogo"    "true"
EndSection
 
Section "Screen"
  Identifier "Screen0"
  Device     "Card0"
  Monitor    "Monitor0"
  SubSection "Display"
    Viewport   0 0
    Depth     1
  EndSubSection
  SubSection "Display"
    Viewport   0 0
    Depth     4
  EndSubSection
  SubSection "Display"
    Viewport   0 0
    Depth     8
  EndSubSection
  SubSection "Display"
    Viewport   0 0
    Depth     15
  EndSubSection
  SubSection "Display"
    Viewport   0 0
    Depth     16
  EndSubSection
  SubSection "Display"
    Viewport   0 0
    Depth     24
  EndSubSection
EndSection
 
Section "Extensions"
  Option "Composite" "Enable"
  Option "RENDER" "Enable"
EndSection
  • Regenerate your initcpio as superuser:
mkinitcpio -p kernel26
  • Add quiet and splash plus a vga=792 (or whatever fits you) to your /boot/grub/menu.lst.

Enjoy plymouth on bootup. You can see it working in here.

NVIDIA Nouveau Driver

If you want to use nouveau (FOSS) driver you have to do some extra steps:

  • Install nouveau-drm (as superuser):
pacman -S nouveau-drm xf86-video-nouveau

You can use the following xorg.conf, which allows you to easily switch back to other drivers:

Section "Device"
  Identifier "nvidia"
  Driver "nouveau"
# Driver "nv"
# Driver "nvidia"
EndSection

Note from the Featurematrix for NV50 chipset and Xv support: now it works fine, but you need Xserver from git. In other case you need to run a composite manager (Compiz won't work, something like xcompmgr or KWin with XRender).

So you can set up xcompmgr.

  • Add the following line to /etc/modprobe.d/modprobe.conf:
options nouveau modeset=1
  • Add nouveau to MODULES in /etc/mkinitcpio.conf.
  • Add /etc/modprobe.d/modprobe.conf to FILES in /etc/mkinitcpio.conf.
  • Regenerate your initcpio (as superuser):
mkinitcpio -p kernel26
  • Add quiet and splash to your /boot/grub/menu.lst.

See also