Recently Nicolas Carameli from DirectFB2 project ported it to NuttX: see here.

Today I decided to test it and to create a tutorial to help other people to do the same!

First we need to compile the fluxcomp tool that is not integrated on Ubuntu yet:

$ sudo apt install libdirectfb-dev

$ mkdir ~/TropDirect

$ cd ~/TropDirect

$ git clone https://github.com/deniskropp/flux
Cloning into 'flux'…
remote: Enumerating objects: 329, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 329 (delta 0), reused 3 (delta 0), pack-reused 325
Receiving objects: 100% (329/329), 73.65 KiB | 897.00 KiB/s, done.
Resolving deltas: 100% (201/201), done.

$ cd flux/

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install

Now you can clone NuttX, NuttX Apps and DirectFB2 and compile everything:

$ mkdir ~/nuttxspace

$ cd ~/nuttxspace

$ git clone https://github.com/apache/nuttx

$ git clone https://github.com/apache/nuttx-apps apps

$ cd apps/graphics

$ git clone https://github.com/directfb2/DirectFB2

$ cd ~/nuttxspace

$ cd nuttx

$ ./tools/configure.sh sim:nsh

$ make menuconfig

Application Configuration --->
    Graphics Support --->
        [*] DirectFB2 ----

$ make -j

As you can see the compilation worked fine, now you can use the DirectFB2 to port your Linux Applications to NuttX! \o/