How to disable the Linux framebuffer if it's causing problems
The Linux framebuffer allows graphics to be displayed on the console without needing to run X-Windows. However, it can also can cause a variety of problems for Digium interface cards. Here are some symptoms that it may cause:
-
Hard underuns (IE. "wctdm24xxp 0000:01:01.0: Host failed to service card interrupt within 128 ms which is a hardunderun.")
-
IRQ Misses
-
Pattern loopback errors
-
D-Channel drops
-
Unexpected hangups
-
Poor audio quality
Determine if framebuffer is being used
-
Run the following command from the shell: ls -l /dev/fb*
If the frame buffer is enabled, the above command will usually return /dev/fbX (X being a number; usually 0). For example: brw-rw---- 1 root disk 8, 0 Jan 12 16:25 /dev/fb0
OR
-
Run the following command from the shell: grep -i "frame buffer" /var/log/syslog
If the frame buffer is enabled is enabled, it should return something such as:
Console: switching to colour frame buffer device 160x64
fb0: inteldrmfb frame buffer device
How to disable Framebuffer
-
Modifying the Grub menu:
-
Open the Grub menu file (IE. /boot/grub/menu.lst) in a text editor.
-
One of the following options should disable frame buffering:
-
vga=normal
-
nofb
-
nomodeset
-
video=vesafb:off
-
i915.modeset=0
-
You would specify one (or more) of the above on the 'kernel' line of the Grub menu file. You can specify them all instead of trying each individual one.
-
In modern Debian systems (from Wheezy onward), it's best to modify the "linux_entry" function in /etc/grub.d/10_linux, and add the appropriate parameters to the "linux" line.
-
Open the /etc/grub.d/10_linux file in a text editor and look for the following line:
-
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
-
Change that line to look like this:
-
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} nomodeset
-
Save the /etc/grub.d/10_linux file and reboot.
-
Modifying the BIOS:
-
Go into the systems BIOS to look for the line referring to the frame buffer, and disable it. (Note: The BIOS on some systems does not mention anything about it or provide a way to disable it.)
-
Disabling the KMS (Kernel Mode Setting):
-
For Debian Wheezy systems with an AMD/ATI video chipset and driver, you can disable the KMS (Kernel Mode Setting), and thus the frame buffer. First, open the /etc/modprobe.d/radeon-kms.conf file in a text editor.
-
Add the following line to the file:
-
Save the file and exit from the text editor.
-
Reboot the system for the change to take effect.
-
(Note: For nVidia based cards, add "nomodeset" to the kernel command line (in /etc/grub.d/10_linux), as the first solution above suggests.)