Lightspark 0.4.4 released

Archi­tec­ture of the pro­posed upcom­ing Advanced Graph­ics Engine

Lightspark 0.4.4 has been released today. Thanks a lot to all the peo­ple that made this release pos­si­ble. Beside the usual amount of bug fixes sev­eral new fea­tures have been included

  • Local­iza­tion sup­port (using gettext)
  • Action­Script excep­tion han­dling support
  • More robust net­work handling
  • Streams con­trols (Play/Pause/Stop)

It should be noted that, although now video streams con­trols are sup­ported they’ll be not usable in most YouTube videos as mouse event dis­patch­ing to con­trols is still clob­bered by miss­ing mask­ing support.

Lightspark now sup­ports local­ized error mes­sages, but we miss trans­la­tions! So I’d like to invite any user (non devel­op­ers included) will­ing to help Lightspark to con­tribute the trans­la­tion for his/her native language.

I’d also like to give some insight what is being worked on for the next release (0.4.5). First of all the plug­inized audio back­end is now mature enough to be merged upstream, this is the first step toward sup­port for mul­ti­ple audio back­ends. That said any­way Lightspark will always focus on func­tion­al­ity and not on the amount of back­ends offered. We’ll work to offer a very small num­ber of fully work­ing backends.

In the mean time we’re also dis­cussing a new faster and more pow­er­ful graph­ics archi­tec­ture. My pro­posal is a mixed software/hardware ren­der­ing pipeline, some­how inspired by mod­ern com­posit­ing win­dow mangers. Sta­tic (defined in the SWF file) and dynamic (gen­er­ated using Action­Script code) geome­tries will be ren­dered in soft­ware using cairo and exploit­ing the thread pool to be scal­able on multi core archi­tec­tures. The result­ing sur­faces and decoded video frames (if any) will be uploaded using Pixel Buffer Objects to offload the work to the video card (this usu­ally involves a DMA trans­fer). OpenGL will then be used to blit the var­i­ous ren­dered com­po­nents on screen, while apply­ing fil­ters, effects and blending.

That’s all folks. As always test­ing from as many peo­ple as pos­si­ble is crit­i­cal for the suc­cess of the project, so please try out this release and report any crashes/weird issues and any­thing you don’t like. I’d like to put an empha­sis about this: never assume a bug is already known. If you hit a crash take a look at launch­pad bug tracker. If your issue is not already reported, please do it!

Flattr this

, , ,


    Just stop­ping by to thank you for your work on this. A func­tional, OSS Flash player will be a huge leap forward!

  • Ale­jan­dro Nova

    You for­got: a func­tional, OSS Flash Player that’s going to be 2x faster than Adobe Flash Player. This is get­ting really, really good.

  • Lethar­ion

    I absolutely love how this work moves for­ward.
    Big thanks to all the devs! :D

  • Lightspark-FAN

    I have to say, Iam impressed by the time and the effort your’e putting in this fan­tas­tic project, Keep up the good work! :-)

  • Ghost­Lyrics

    Oh yes. I’ll be there after get­tin’ some sleep to leave Ger­man trans­la­tions :)

  • castarco

    That’s great! If there are “easy tasks” to do i thinkt that would be inter­est­ing to col­lab­o­rate (“easy” because i haven’t much time)

  • Gbat­marx

    With this pace of devel­op­ment, Lightspark will dom­i­nate the Linux world in 6 months!
    A dream comes true!
    Open sourced Flash that is bet­ter that the closed one!
    Keep up the good work!

  • Jere­myC

    Regard­ing using Cairo to ren­der geome­tries on the CPU before offload­ing to the will this be affected once the Cairo state tracker for Gallium3D (accel­er­at­ing Cairo via the GPU) is implemented?


  • Rohit Garg

    Why not ren­der the sta­tic or dynamic geom­e­try using OGL as well?

  • lud­wigf

    You just can’t do all vec­tor ras­teri­tion stuff on a GPU. Also some is actu­ally *slower* on GPU.

  • Pingback: Lightspark 0.4.4, l’avanzata continua… « Crismon's Blog