Broadcom DirectFB-1.4.17 Version 1.5 Reference Software Release Notes

 

Release Date:

October 18th, 2012

Version No:

DirectFB Version 1.4.17

Broadcom Version 1.5

NOTE: This release caters for bug-fixes in the reference software from the previous DirectFB-1.4.17 Version 1.0/1.2 release.  These are outlined below.

Overview:

DirectFB stands for Direct Frame Buffer. "DirectFB is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers, on top of not only the Linux Framebuffer Device.

It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.  DirectFB adds graphical power to embedded systems and sets a new standard for graphics under Linux. (see http://www.directfb.org for more details).

 

Licensing requirements:

DirectFB is an open-source project using a LGPL license for all core software components.  Broadcom proprietary code is part of the official release, but come under the normal Broadcom Software License Agreement (SLA).  For customers who do have not or do not want to sign the SLA, then a “limited” release is available whereby the proprietary code is omitted, but pre-built libraries are available to still allow the user to run DirectFB on Broadcom hardware.

Documentation Deliverables:

Description

Filename

Release Notes

release_notes_directfb-1.4.17_version1.5.html

Users Guide

DirectFB-1.4.17_User_Guide_Version1.3.pdf

DirectFB Feature List

DirectFB-1.4.17_Version1.5_Feature_List.pdf

 

Features in this Release:

Systems Driver

·         Nexus Surface Compositor Stereoscopic 3D support added

Input Devices

·         Nexus Input Router support (Build with the flag “DIRECTFB_NIR_SUPPORT=y”)

Image Provider

·         Nexus Picture Decoder image provider with improved behaviour for broken images

Other

·         Some performance improvements for single application builds

·         Updated to use latest versions of open source libraries (JPEG, PNG, ZLIB, FFMEPG, FreeType)

·         Updated to Linux-Fusion version 8.10.4

·         Build process improved to add flexibility to reference software parser for alternate locations of key Magnum/Nexus source files

·         Testing data has been improved and benchmark scores are now stored in the release testing spreadsheet

Test Applications

·         Playback_dfb extended to add graphics detailing current file

 

Where To Start:

Read the “DirectFB-1.4.17_User_Guide_Version1.5_.pdf” to get started with understanding what DirectFB is and how to build it for your platform.

 

Build Instructions:

For detailed information about all available build options, please refer to “DirectFB-1.4.17_ User_Guide_Version1.5_.pdf”.

For quick build instructions, please follow the steps below:

1)      Ensure the following environment variables have been setup:

PLATFORM, BCHP_VER, LINUX

2)      Change into the “/AppLibs/opensource/directfb/build” directory and issue “make” followed by “make tarball” to create a tarball that can be untared on the target platform.

NOTE: This will build DirectFB in single-application mode.

NOTE2: To build in multi-application mode, please ensure you use the “DIRECTFB_MULTI=y” flag with each “make” command.

NOTE3: To build DirectFB-XS, ensure you use the “DIRECTFB_NSC_SUPPORT=y” flag with each “make” command.

NOTE4: To build with Nexus Input Router support, ensure you use the “DIRECTFB_NIR_SUPPORT=y” flag with each “make” command.

 

Special Notes:

To run a DirectFB application such as the Penguins demo (df_andi), please follow the instructions below:

1)      On the target platform make sure you have untared the DirectFB target platform tarball to create the “/usr/local” directory structure.  For more information about how to do this, please refer to the “DirectFB-1.4.17_Version1.0_User_Guide.pdf”.

2)      Change into the “/usr/local/bin/directfb/1.4” directory and issue “./rundfb.sh install”

3)      Now run the application you want by entering “./rundfb.sh <name of application>” (e.g. ./rundfb.sh df_andi)

NOTE: DirectFB run-time configuration options can be passed on the command line using the “--dfb:” option or setting the envar “DFBARGS” appropriately.

 

Core DirectFB changes or bug fixes from DirectFB-1.4.17 Version 1.0:

 

1)      Removed redundant calls to “Core_Push/Pop/GetCalling()” for single application build, giving a slight performance gain

2)      Moved to version 8.10.4 of the linux-fusion driver

3)      Fixed memory leak in SaWMan in update_region4()

4)      Various bugfixes backported from SaWMan 1.6

4)      SaWMan Fix to allow hardware based smooth scaling with strectch blits

Broadcom driver improvements and bug fixes since DirectFB-1.4.17 Version 1.0:

1)      Restored segmented decode support in the hardware picture decoder image provider

2)      Fixed various issues found during a pass of Klockwork (Static analysis tool) over the code

3)      Removed unused LVDS/Panel code from platform initialization code

4)      Nxsmaster shuts downs cleanly on exit

5)      FFMPEG based image provider configured to decode MPEG2 frames

6)      Removal and addition of HDMI with screen encoder API behavior restored

7)      Heap usage of the hardware picture decoder reduced by default

8)      Removed framebuffer thread from single application builds, giving a performance a slight gain.

9)      Additional digital resolutions added to screen encoder API

10)  Build process improved to add flexibility to reference software parser for alternate locations of key Magnum/Nexus source files

11)  Memory allocation for palette adjusted to avoid memory checker errors

12)  Various fixes to hardware picture decoder image provider to improve robustness

13)  Nexus Surface Compositor platform code generally improved

14)  Support for Stereoscopic 3D with Nexus Surface Compositor added

15)  Graphics2d handle now closed on exit

16)  Removed hybrid Stagecraft graphics driver cache flush code from graphics driver

17)  Improved playback_dfb example application with added graphics

18)  Usage of pthread_cond_wait() made more robust in layer code

19)  Added support for 7429 / 7421 B0 & 7358A1 parts

20)  Improved NIR platform driver

21)  USB device hotplug now works

 

Known Issues in DirectFB-1.4.17 Version 1.5:

 

1)      Color keying in Big-Endian mode doesn’t work.

2)      The Nexus Picture Decoder image provider produces garbled images when running in Big-Endian mode.

3)      When using 7346 RefSW Phase 5.5 and power management, the Still Image Decoder (SID) hardware doesn’t wake from standby. Work around the issue by disabling SID support.

 

Known Issues:

1)      df_dok stretch blit tests fail on 7409 platform when using RefSW Phase 6.5, due to a bug in the GRC code.

2)      Insignia tests which involve a format change from RGB32 to RGB16 will fail unless the hardware dithering is disabled.

 

DirectFB-1.4.17 Version 1.5 Changes from DirectFB-1.4.17 Version 1.0 release:

JIRA Issue

Issue Description

IMS Issue

SW7425-3131

Add Private Examples to repository
534989

SW7425-3137

Add Insignia and Tacho tests to private directory
535360

SW7425-3147

Modify refsw parser code
534610

SW7425-3117

Need DFB automated unit tests target build

SW7425-3192

Klocwork reports possible uninitialized heap, deref of NULL-ptr, buffer overflow: bcmnexus_pool.c
537509

SW7425-3193

Klocwork reports possible memory-leak, array index out of bounds, derefs in file bcmnexus_layer.c
537569

SW7425-3194

Klocwork reports possible memory lead in file bcmnexus.c
537524

SW7425-3195

 Klocwork reports possible memory-leaks in file bcmnexus_video.c
537209

SW7231-849

Make release broken
538274

SW7231-853

SID image provider code doesn't free buffer cleanly
538704

SW7231-854

jpeg-clean rule causing EC build failures.
539141

SW7425-3234

Nexus Input Router improvements
539524

SW7425-3262

Backport 1.6.0 changes to DirectFB-Broadcom package
539159

SW7425-3270

Require update_region3 code to work optimally (update_region_4)
521082

SW7231-864

FFMPEG image provider isn't configured to decode MPEG2 stills
541735

SW7425-3309

nxsmaster application fails to run with 7425 Phase 6.0 RefSW
542390

SW7425-3319

nxsmater fails to shutdown cleanly
542871

SW7231-879

Remove un-supported test app videoAndGfxLayerTest
547122

SW7425-3330

Add support for compliation with ccache
545837

SW7425-3406

Removing and Adding HDMI with screen encoder API has stopped working.
547682

SW7425-3369

Update DirectFB NIR as per review comments
547149

SW7425-3427

Reduce heap usage for SID driver
548425

SW7425-3429

Remove Core_*Calling() functions from single app build
548475

SW7425-3500

Add additional modes to screen encoder driver
551688

SW7425-3501

USB hotplug no longer working
548421

SW7425-3509

Remove the framebuffer thread in non-multi app builds
552614

SW7425-3518

Update NSC support to use partial regions
548419

SW7231-850

Current DirectFB releases doesn't support blending of overlapping blits

SW7425-3521

The reference software parser code is out of date
553058

SW7425-3553

Build fails when DIRECTFB_PREFIX is not set
553791

SW7425-3555

BMRC errors when blitting from a source with LUT8
553895

SW7425-3654

Row buffer left locked in Nexus image provider
556130

SW7425-3655

Broken error handling code in image providers
556128

SWVC4-389

DirectFB cube example no longer runs - "DirectFBError [buffer->surface->Lock]: Not supported!"

SW7425-3672

JPEG decoding regression in DirectFB 1.4.17-1.1
556822

SW7425-3706

Add stereoscopic NSC support
534608

SW7231-964

IDataBuffer_Requestor__PeekData failed when decoded a PNG image

SW7425-3823

App fails to load zlib when built with option DIRECTFB_SHARED=n
563627

SW7425-3824

Update DirectFB test app df_input
563810

SW7425-3934

typo in DFB_Platform_Init_tagged() causes NEXUS_Graphics2D_Uninit() to not be called
569523

SW7429-300

Add support and test 7429 / 7241 B0 parts
569883

SW7208-201

Remove hybrid Stagecraft graphics driver cache flush code
569889

SW7425-3964

Review mainline SaWMan changes
529796

SW7425-3974

Upgrade linux-fusion to 8.10.4
572115

SW7425-3975

Fix build rules for Broadcom package tools
572170

SW7425-3976

Make playback_dfb more useful in single app mode
572212

SW7425-4001

Cannot override SID build flag.
574056

SW7231-1021

pthread_cond_wait() usage in bcmSetLayerFrameBuffer
556902

SW7425-4018

Memory leak in sawman_updates.c in update_region4_r
574464

SW7425-4036

Re-Implement DirectFB NIR driver with stateless approach
576099

SW7425-4048

Update DirectFB test app df_input
576873

SW7425-4059

Import Sawman fixes from the latest in direcfb.org git repo
577353

SW7425-4089

Review secondary encoder code and tests
529415

SW7425-4094

Allow window managers to pass partial region for update
554215

SW7425-4096

Create DirectFB 1.4.17 v1.5 release
579234

SW7425-4104

USB device hotplug no longer working
580062

SW7425-4126

Fix DirectFB-Broadcom mrproper rule to remove dep files.
580912

SW7425-4133

SaWMan fix to allow HW smooth scaling with stretch blits.
580396