Digium

How to disable the Linux frame buffer if it's causing problems

« Go Back
Information

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

  1. 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 
  1. 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:
    1. Open the Grub menu file (IE. /boot/grub/menu.lst) in a text editor.
    2. One of the following options should disable frame buffering:
      • vga=normal
      • nofb
      • nomodeset
      • video=vesafb:off
      • i915.modeset=0
    3. 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.
    4. 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.
    5. 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}
    6. Change that line to look like this:
      • linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} nomodeset
    7. Save the /etc/grub.d/10_linux file and reboot.
  • Modifying the BIOS:
    1. 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):
    1. 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.
    2. Add the following line to the file:
      • options radeon modeset=0
    3. Save the file and exit from the text editor.
    4. 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.)
How to disable the Linux frame buffer if it's causing problems
How-to-disable-the-Linux-frame-buffer-if-it-s-causing-problems
Article Details
 


Powered by