Graphics-Framebuffer

This module REQUIRES access to the video framebuffer, usually
"/dev/fb0".  You must be using a video device and driver that exposes this
device to software.  Video cards with their proprietary drivers are not likely
to work.  However, most open-sourced drivers, seem to work fine.  VirtualBox
drivers work too.

INSTALLATION

** Note, this module does NOT work (natively) in Microsoft Windows **

You MUST install this module from the console, not X-Windows.

To install this module, run the following commands:

    perl Build.PL
    ./Build
    clear && ./Build test
    ./Build install
    
OR...

	perl Makefile.PL
    make
    clear && make test
	make install

NOTE:  The install step may require sudo (root access).

The reason for the 'clear' is so the test log doesn't start scrolling the
screen, as graphics are being drawn during the testing.

FURTHER TEST SCRIPTS

To test the installation properly.  Log into the text console (not X).
Go to the 'examples' directory and run 'threadstest.pl' or 'primitives.pl'.
They basically call most of the features of the module.  'threadstest.pl'
demonstrates how to use threads with this module.  You can pass a number in on
the command line to the "threadstest.pl" script, and it will use that many
threads.  The default is the number of cores you have.

The script 'threadstest.pl' requires 'Sys::CPU'.  It is not listed as a
prerequisite for this module (as it isn't), but if you want to run this
one script, then this is a required module.

COMPATIBILITY vs. SPEED

This module, suprisingly, runs on a variety of hardware with accessible
framebuffer devices.  The only limitation is CPU power.

Some lower clocked ARM devices may be too slow for practical use of all of the
methods in this module, but the best way to find out is to run
'examples/primitives.pl' to see which are fast enough to use.

Here's what I have tested this module on:

Raspberry PI2   - Tollerable, I did 16 bit mode testing and coding on this
                - machine.  Using a Perlbrew custom compiled Perl helps a bit.

Odroid XU3/XU4  - Surprisingly fast.  All methods plenty fast enough for heavy
                - use.  Works great with threads too, 8 of them (when done
                - properly).  Most coding for this module is done on this
                - machine at 1920x1080x32.

Atom 1.60 GHz   - Decent, not nearly as fast as the Odroid XU3.  Works great
with NVidia     - with threads too (when done properly).  Great for normal
Nouveau driver  - graphical apps and static displayed output.

MacBookPro      - Blazingly fast. Most primitives draw nearly instantly.
with VirtualBox - You could write a simple game with a CPU this fast
                - (theoretically).

Windows 10 PC   - Holy cow!  'nuff said.
with VirtualBox
4GHz 6 core CPU
NVidia 660 Ti

SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

    perldoc Graphics::Framebuffer

    or

    man Graphics::Framebuffer

You can also look for information at:

    RT, CPAN's request tracker (report bugs here)
        http://rt.cpan.org/NoAuth/Bugs.html?Dist=Graphics-Framebuffer

    AnnoCPAN, Annotated CPAN documentation
        http://annocpan.org/dist/Graphics-Framebuffer

    CPAN Ratings
        http://cpanratings.perl.org/d/Graphics-Framebuffer

    Search CPAN
        http://search.cpan.org/dist/Graphics-Framebuffer/


LICENSE AND COPYRIGHT

Copyright (C) 2013-2015 Richard Kelsch

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

