4

How do I know if I have framebuffer enabled? I actually don't quite understand what framebuffer is.

my /etc/initramfs-tools/conf.d/splash file has this: echo FRAMEBUFFER=y (coz I was following this answer).

This shows two ways to detect whether it's enabled. The ls -l /dev/fb* test is positive but the grep -i "frame buffer" /var/log/syslog test is negative! LOL LOL XD

2
  • Pretty sure it is framebuffer without spaces, also, you've asked what framebuffer is here, and had been given an answer. Jan 30, 2016 at 16:20
  • @mikewhatever yea I didn't really get the point from the article. Wikipedia isn't really the best way to explain things. anyway about the grep -i "frame buffer" /var/log/syslog I tried removing the space between frame and buffer but I still didn't get an output
    – 842Mono
    Jan 30, 2016 at 16:23

2 Answers 2

6

In a nutshell , there exists part of memory responsible for containing current look of the screen or "frame", hence it's called framebuffer.

Under Linux ( if we remember that Unix philosophy of "everything is a file" ) actual framebuffer device to which you can write (as root) is /dev/fb0. The graphical X server and several other programs, such as fbi and fbterm are capable of writing to it. I've used here on this site to answer such question as:

How can I customize a full-screen console background (TTY)?

Frankly, I am not quite sure why the answer you linked enables it through the /etc/initramfs-tools/conf.d/splash. According to this, framebuffer support is something that will be enabled in the kernel modules. Here's my output of dmesg log for example: it shows that memory for framebuffer is allocated, despite the fact that i do not have /etc/initramfs-tools/conf.d/splash

$ grep -i 'frame.*buffer' /var/log/dmesg                       
[    0.847413] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90001000000, using 3072k, total 3072k
[    1.016865] Console: switching to colour frame buffer device 128x48
[    1.185527] fb0: VESA VGA frame buffer device
[    7.648201] Console: switching to colour frame buffer device 170x48
[    7.730459] radeon 0000:01:05.0: fb0: radeondrmfb frame buffer device

Perhaps the answer you linked works on the cited solutions from previous years, but it's not guaranteed that the information is still relevant - linux kernel has added support to a lot of modules and changed to support a lot of different hardware, so potentially solutions changed

Consider asking an actual question related to your Nvidia graphics. It will save you more time than figuring out all the small details

2
  • +1 for the explanation! thanks for that :D ...it's also strange that he used "echo". What I know about echo is that it just displays the text on the screen
    – 842Mono
    Feb 14, 2016 at 17:43
  • dmesg | grep -i frame Oct 2, 2018 at 20:08
1

You can use fbset utility (provided by fbset package in Debian and Ubuntu) to set and show various frame buffer settings. With --info (-i) option it is possible to examine some properties like current mode, driver name, etc. Example command output:

# fbset -i

mode "1024x768"
    geometry 1024 768 1024 768 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

Frame buffer device information:
    Name        : mgadrmfb
    Address     : 0
    Size        : 0
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 4096
    Accelerator : No
# 

So this tool can tell how the frame buffer is configured in your system. You'd get an error like open /dev/fb0: No such file or directory when no frame buffer device is present.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .