I've become interested in exploring the development of non-X11 graphics in Linux. I've noticed that Puppy has the /dev/fb* devices in the file tree, and the fbstat utility is present (at least in a minimal form), but in the default bootup of Puppy 2.14, I can't seem to do anything with /dev/fb. fbstat won't report any potential graphics modes, and attempting ioctrl( ) functions inside a test program written in C to get info from an open /dev/fb file device does not report anything useful. Clearly, the devfb is either not fully loaded or its not enabled so I can use it like I would like.
I expect to drop out of X11 mode in order to run my devfb program. But when I do, I need to be in a "Graphics-mode" text console (VESA BIOS graphics mode = 0x11B or something like that), not the true VGA text (BIOS mode = 1?) console. Is there some "boot=" setting string I can enter at Puppy's boot loader (like the pfix=RAM) to get this devfb mode working?
By the way, I have tried first booting with XVESA and XORG versions of X11 before exiting to prompt for my initial experiments, and /dev/fb isn't functional in either case.
Many thanks for any suggestions.
Non-X11 graphics using /dev/fb?
- MikeLockmoore
- Posts: 43
- Joined: Sun 26 Nov 2006, 18:29
- Location: Near Detroit
Non-X11 graphics using /dev/fb?
Mike Lockmoore
- Nathan F
- Posts: 1764
- Joined: Wed 08 Jun 2005, 14:45
- Location: Wadsworth, OH (occasionally home)
- Contact:
You'll need to boot like this.
Substituting 791 for whatever resolution is sane for you hardware, which you will have to read up on. Unfortunately, Puppy does not automatically load the framebuffer kernel module so you will have a completely blank screen during the boot process. It should, however, go straight to the desktop anyway. Then open a term and do a "modprobe fbcon", and when you exit the X server you should have a high res framebuffer console.
If you come up with anything interesting do share, BTW. I'm interested. I've been toying with a DirectFB login manager called quingy, and with framebuffer in general.
Nathan
Code: Select all
puppy vga=791
If you come up with anything interesting do share, BTW. I'm interested. I've been toying with a DirectFB login manager called quingy, and with framebuffer in general.
Nathan
Bring on the locusts ...
-
- Posts: 5464
- Joined: Fri 10 Jun 2005, 05:12
- Location: Australia
Booting to the command prompt -
http://www.puppyos.net/news/comments.ph ... 316-071740
http://www.puppyos.net/news/comments.ph ... 316-071740
- MikeLockmoore
- Posts: 43
- Joined: Sun 26 Nov 2006, 18:29
- Location: Near Detroit
Thanks for the suggestions, Nathan and tempestuous! I did not get too far with them so far, but some other computer issues popped up that needed to be addressed. I'll post some results or further questions within a few days.
[UPDATE...]
Nathan, that worked just as you suggested. I was able to get my 1280x1024x32 mode initialized, add the fbcon module, and then run my code that writes to /dev/fb. My first program just paints blocks of color from the full pallete, but it works. I need to get a utility to do screen captures in this mode, and when I get some interesting results, I can share my progress.
Thanks again!
[UPDATE...]
Nathan, that worked just as you suggested. I was able to get my 1280x1024x32 mode initialized, add the fbcon module, and then run my code that writes to /dev/fb. My first program just paints blocks of color from the full pallete, but it works. I need to get a utility to do screen captures in this mode, and when I get some interesting results, I can share my progress.
Thanks again!
Mike Lockmoore