I'm trying to make a PCMCIA tuner card work in my headless home server, running Debian Squeeze. Now, as I have very big troubles finding the correct command line to capture, transcode end stream the video to the network using VLC, I decided to go step by step, and work first on local output.That's where the problem comes in: there seems to be no framebuffer device (/dev/fb0) to access for displaying graphics on the attached screen! And indeed I noticed I don't have the Linux penguin image at boot (didn't pay attention before as screen is attached, but always off, and anyway computer is always on).As I'm not very familiar with Linux graphics, I would like to understand:Is this related to my particular hardware (see below)? Or is it specific to Debian Squeeze/ a kernel version/... ?Is there some driver I need to manually install/load?Now some general information:The computer has no dedicated graphic card, but an embedded graphic chipset (Intel G31 Express), embedded on the motherboard (Gigabyte G31M-ES2L)I don't want to install a full featured X server, just have a framebuffer device for this particular testAny ideas/comments on the issue?
No framebuffer device: how to enable it?
linux;hardware;graphics;framebuffer
I can address your question, having previously worked with the Linux FB. How Linux Does Its FB.First you need to have FrameBuffer support in your kernel, corresponding to your hardware. Most modern distributions have support via kernel modules.  It does not matter if your distro comes preconfigured with a boot logo, I don't use one and have FB support.It does not matter if you have a dedicated graphics card, integrated will work as long as the Hardware Framebuffer is supported.You don't need X, which is the the most enticing aspect of having the FrameBuffer.  Some people don't know better, so they advocated some form of X to workaround their misunderstandings.You don't need to work with the FB directly, which many people incorrectly assume.  A very awesome library for developing with FrameBuffer is DirectFB it even has some basic acceleration support.  I always suggest at least checking it out, if you are starting a full-featured FB based project (Web Browser, Game, GUI ...)Specific To Your HardwareUse the Vesa Generic FrameBuffer, its modules is called vesafb.  You can load it, if you have it available, with the commands  modprobe vesafb. many distributions preconfigure it disabled, you can check in /etc/modprobe.d/. blacklist vesafb might need to be commented out with a #, in a blacklist-framebuffer.conf or other blacklist file.The Best option, is a Hardware specific KMS driver.  The main one for Intel is Intel GMA, not sure what its modules are named.  You will need to read up about it from your distro documents.  This is the best performing FB option, I personally would always go KMS first if possible.Use the Legacy Hardware specific FB Drivers, Not recommended as they are sometimes buggy.  I would avoid this option, unless last-resort necessary.I believe this covers all your questions, and should provide the information to get that /dev/fb0 device available.  Anything more specific would need distribution details, and if you are somewhat experienced, RTFM should be all you need. (after reading this).I hope I have helped, Your lucky your asking about one of my topics! This is a neglected subject on UNIX-SE, as not everybody (knowingly) uses the Linux FrameBuffer. NOTE: UvesaFB Or VesaFB?You may have read people use uvesafb over vesafb, as it had better performance.  This WAS generally true, but not in a modern distro with modern Hardware.  If your Graphics Hardware supports protected mode VESA (VESA >= 2.0 ), and you have a somewhat recent kernel vesafb is now a better choice.