littleVGL now supports FreeBSD framebuffer

Chris Johns chrisj at
Wed Aug 14 22:20:08 UTC 2019

On 15/8/19 2:07 am, Vijay Kumar Banerjee wrote:
> I wrote a patch for lv_drivers repository to support FreeBSD framebuffer
> in fbdev, which they merged to the master today. 

Well done, that is great.

> I have tested
> the driver to be working with an app that I wrote on FreeBSD and
> tested it on Beaglebone black image 12-STABLE.


> I intend to write an RSB recipe to build littleVGL and seek some guidance
> on how to proceed. :)

Please review

I suggest you see how the curl package is done. It is a nice clean example.

The packages are sort of based on the FreeBSD ports layout. Littlevgl is not a
port so we can use `graphics/littlevgl`.

The file pattern used in the RSB for a 3rd party package is:

- A buildset or bset file, this is the top level wrapper for the config files
and selects the version to be built...

- The version specific config file that sets the version and checksum for the
package. It includes the build config or recipe...

Note, this is a 3prd party package so includes `rtems-bsp.cfg`. This create a
suitable environment to build a package for a BSP.

- The build config file ...

These configs do not include any other configs and could be used to build a
native package for a host or a 3rd party package for RTEMS.

- The `%prep` section prepares the source to build. For github if we are
building from master we select a commit and fetch a compressed tarball. This
means we can snapshot the source when making a release. The RSB can work
directly with the git repo however this has proven to be more fragile than a

- The `%build` section builds the package. The contents of this file are used to
create a shell script. Use --dry-run, --trace and --log to debug what is
happening. The shell script contents should be viewable in the log file if a dry
run does not created it. There is a lot of trace but searching will help you
locate the piece you are interested in. The `source_dir_*` shell variable is the
directory created by extracting the tarfile. The macros `%{build_directory}` and
`%{host_build_flags}` are defined in `` and should handle the
compiler and flags. You may want to check libbsd is installed in your config,
see ...

.. for an example of how to check and add `%error This package needs libbsd,
please build and install` or something like that as an error. The paths to
install to are set up for you, these match how a BSP and RTEMS are installed.
The layout needs to be followed or applications will not be able to find the
header or the library.

- The `%install` section installs the package. The install process is to a
staging area `${SB_BUILD_ROOT}`. Nothing is installed unless all parts build so
we do not have an inconsistent build in the install prefix.


More information about the devel mailing list