2

I'm writing a program that's intended for use on an embedded CPU. For that, I'm trying to set up a small Ubuntu. Ubuntu Minimal looks like it works, with one problem: I need to do my own graphics display in my program. I can do this fine on a regular Ubuntu's virtual terminals via the framebuffer device, but Minimal seems to not have /dev/fb0.

I've googled all day yesterday, but still can't find a way to get Ubuntu Minimal to make a framebuffer device. What's the trick to activating the framebuffer device on Ubuntu 15.04 "Vivid Vervet" Minimal?

I have tried:

  • Adding my user to the video group.
  • Uncommenting the GRUB_GFXMODE=640x480 entry in /etc/default/grub and calling update-grub (oh, and hwinfo doesn't seem to be available either)
  • There is no /boot/grub/menu.lst where many people seem to suggest I uncomment something
  • sudo modprobe vesafb says "Module vesafb not found", if I try uvesafb it says it can't run /sbin/v86d
  • /etc/modprobe.de/blacklist-framebuffer.conf is empty
  • I haven't been able to find an apt-get package that looks like it could contain the framebuffer support
  • Some spots mention doing something with "kernel args", but I can't find any info on what they are and how to set them, everyone seems to assume I know where they are and how to edit them.
  • I also tried adding modeset video=uvesafb:mode_option=640x480 to the GRUB_CMDLINE_LINUX_DEFAULT, but that doesn't change anything either.

Any clues for finding the spot where I can turn on fb0, or how I can check whether the Kernel even has framebuffer support compiled in, would be greatly appreciated.

1 Answers1

2

Since I'm currently running Ubuntu Minimal on VirtualBox's emulated VESA-compatible graphics card, for this particular case the following 3 steps were sufficient:

  1. Uncomment the GRUB_GFXMODE=640x480 entry in /etc/default/grub and call sudo update-grub.
  2. Do sudo apt-get install v86d (which the modprobe call mentioned above said was missing).
  3. Do sudo modprobe uvesafb

Thanks to @psusi for making me aware that the error could mean it's completely missing, not just damaged or insufficient in some other way.

However, I still don't know what I'd have to do on different hardware to find out how to do the equivalent, so if anyone has an explanation that is more general and less specific, I'd be interested in hearing it. I just thought I'd post this partial answer so this isn't one of those "just a question no answers" SO posts.