4 # fbset: Sets up fbcon video modes.
7 # chkconfig: 2345 69 31
8 # description: fbset is a utility with which fbcons video modes can be read \
11 # config: /etc/sysconfig/fbset
14 if [ -f /etc/sysconfig/fbset ]; then
15 . /etc/sysconfig/fbset
18 if [ -z "${FBMODULE}" ]; then
20 start|stop|restart|force-reload)
26 # Source function library
27 . /etc/rc.d/init.d/functions
29 # Setting default depth
30 if [ -n "${DEPTH}" ]; then
31 DEPTH_options="-depth ${DEPTH}"
34 if [ -z "${FBDEV_NUM}" ]; then
39 # Check if service is already running?
40 if [ ! -f /var/lock/subsys/fbset ]; then
42 # Check if we have framebuffer in kernel.
44 if [ -f /proc/fb ]; then
45 # /proc files show as files with size=0, this is a workaround.
46 grep -q '.' /proc/fb && load_fbmodule=0
49 if [ "$load_fbmodule" = "1" ]; then
53 if [ -n "${FBMODE_default}" ]; then
54 show "Setting default video mode"
57 local cons tty devpath
59 if [ -d /dev/vc ]; then
60 if [ -z "$FBTERMINALS" ]; then
61 FBTERMINALS=$(ls /dev/vc/)
63 FBDEV=/dev/fb/$FBDEV_NUM
66 if [ -z "$FBTERMINALS" -a -d /dev/.udev ]; then
67 FBTERMINALS=$(ls /dev/vcsa* | awk '{print substr($0, length("/dev/vcsa") + 1)}')
69 if [ -z "$FBTERMINALS" -a -d /sys/class/vc ]; then
70 FBTERMINALS=$(ls -d /sys/class/vc/vcsa* | awk '{print substr($0, length("/sys/class/vc/vcsa") + 1)}')
72 if [ -z "$FBTERMINALS" ]; then
73 FBTERMINALS=$(awk -F: '/^[0-9]*:/{print $1}' /etc/inittab)
75 FBDEV=/dev/fb$FBDEV_NUM
83 for cons in $FBTERMINALS; do
84 /usr/bin/con2fb $FBDEV $cons
85 /usr/bin/switchto $cons
87 $FBDEV $DEPTH_options $FBMODE_default \
88 0<>/dev/tty$cons >&0 2>&0
90 [ $tty = "/dev/console" ] && tty=1
91 /usr/bin/switchto $tty
94 touch /var/lock/subsys/fbset
96 msg_already_running fbset
101 if [ -f /var/lock/subsys/fbset ]; then
102 rm -f /var/lock/subsys/fbset
104 msg_not_running fbset
108 # See how we were called.
117 # Check if we have framebuffer in kernel.
118 if [ -f /proc/fb ] && grep -q . /proc/fb; then
119 nls "Frame buffer present."
123 nls "Frame buffer not present."
126 restart|force-reload)
131 msg_usage "$0 {start|stop|restart|force-reload|status}"