How to make DirectFB screenshots -------------------------------- There are two ways to generate DirectFB screenshots. The easy way is to set the "screenshot-dir" parameter in the DirectFB configuration file directfbrc or to pass it as a command-line option. See the directfbrc man-page for more details. You can then generate screen dumps in the PPM format by pressing the PrintScreen key. The PPM files can easily be converted to others formats using for example the netpbm tools. The hard way to do screenshots is to read directly from the frame buffer device. This works for all applications that use the frame buffer device, not only for DirectFB applications. The resulting data is then converted to a more convenient format using the netpbm graphics conversion tools. If the frame buffer is not running at 24 bit depth, the data has to be propagated to 24bit RGB before netpbm can handle it. The tools directory contains the source for two small utilities that do just this: raw16toraw24 is a small tool that reads 16bit RGB565 data from stdin, converts to 24bit RGB888 data and writes it to stdout. raw15toraw24 is a small tool that reads 15bit RGB555 data from stdin, converts to 24bit RGB888 data and writes it to stdout. raw32toraw24 is a small tool that reads 32bit ARGB data from stdin, converts to 24bit RGB888 data and writes it to stdout. The following steps have to be performed to take screenshots: Step 1 - Log in from another computer using ssh or telnet. Start your application and stop it by pressing Ctrl+C in the remote terminal. Step 2 - Read data from /dev/fb0 and write it to a file. examples: [15bit] raw15toraw24 < /dev/fb0 > raw24.tmp [16bit] raw16toraw24 < /dev/fb0 > raw24.tmp [24bit] cat /dev/fb0 > raw24.tmp [32bit] raw32toraw24 < /dev/fb0 > raw24.tmp Step 2 - Convert data to ppm using rawtoppm and specify the resolution of the frame buffer. example: rawtoppm 800 600 raw24.tmp > ppm24.tmp Step 3 - Convert ppm to png using pnmtopng. example : pnmtopng screenshot.png Thats it!