NVPerfKit 2.1 supports linux

When you are debugging a graphical aplication, using OpenGL, debugging is very complex. You can’t use the common debuggers, as gdb, because the graphical part are executed at the “server side”, at the card, therefore, managed by the OpenGL drivers, asynchronously with respect your program.

But, as in other programs, debugging and profiling a very important part of the development process, more important with the pass of the time, as the graphical cards are more and more complex, and make more and more work, not only graphical. For example, Havok creates and physical effects engine implemented over the graphics card, called Havok FX.

Recently, NVIDIA released NVPerfKit 2.1, a package of performance tools to help debug and profile Direct3D and OpenGL aplications, that for the first time supports Linux!! Its a good new. It isn’t free, and includes gDEbugger as a 30-day-trial version, but, well this is better than nothing 😐

When I was developing my Master Thesis (Proyecto de Fin de Carrera), I missed a lot some kind of tool to debug and test perform of my program, but, or this tools wasn’t released or my card doesn’t support it … so I need to use the “universal flag-method” 😉 to debug the aplication, and use and ad-hoc system to profile it. But well, at this moment there are some NVPerfkit tools that don’t support my card (well really, my card don’t support this tools, for example, don’t support GPU counters 🙁 ), so I would need to do that anyway.

Someday I will write a post about this project. I hope to someday I will get that this compile at linux, and migrate my “Hair Editor” to GTK, but “when I have some time” ….

Freeze Fisterra

I’m currently working on Igalia in order to get Fisterra better.

My firsts tasks was about obtain a good debian package for Fisterra, and then add documentation to the page. A good amount of developer manuals, installation manuals, and examples are important to understand a huge project, and Fisterra is a really huge one. This is important too to get a good comunity of people working on it (we are searching help, join us! 🙂 )

But recently, in a conversation with Alex, another Igalo, introduce me one technology: Internet Communications Engine, or sortly, Ice. Ice pretends to be a middleware similar to CORBA or COM. This was developed by ZeroC, a company founded by experienced CORBA developers. The idea is get a better middleware than CORBA. As ZeroC says, “we neither wish to start a “CORBA vs. Ice” flame war nor do we want to discredit CORBA. On the contrary, we believe that CORBA was a great achievement for its time, and obviously Ice borrows many good ideas from CORBA”. They only want to go to the next step.

I see the page and the features only a bit, but this looks great! And this was implemented by them himself, are complete, and are free (libre), using a GPL license.

Fisterra initially uses CORBA as the middleware for his communication layer, using the ORBit implementation. Then, adds support to SOAP, due some needs in a concrete project. And, what about uses Ice in Fisterra? This is a very interesting technology, and Fisterra was designed in a way that the comunication layer could be replace (this is a hard work, but not an IMPOSIBLE work), although the first task should be “it worth the effort?”. The next could be “we can use the three simultaneously?”.

This task could be called “Freeze Fisterra” … a good name 😉

A 3D view for baobab widget

Meanwhile some igalians (*) was making a very useful view of the baobab, I was spending my time creating a 3D of this widget. To do that I used the great library gtkglext , which allows to add OpenGL drawing to any widget gtk.

While the base 2D view are very intuitive, and allow you a visual track to your directorioes, with tooltips, etc, my 3D view is a very beatiful 🙂 view of a widget, but it is almost useless, as is hard to manage and select the directories. But, as I’d said, this look greats, and its funny create this, although I became a leech of the igalians laptops. For example, the Mario’s one, forcing him to work in this widget, when I kidnapped his laptop … 😉

At the end of the post you can see a screenshoot of an alpha release of this widget. The next step is create the blocks more consistently, as at this moment has some visual “leaks”, and integrate with the original base.

This is a headache problem, as to avoid to add a new dependence with the baobab, I was working in a “parallel experimental” branch. “One day” its possible a total integration, but for this moment, we have two work groups.
3D view of Baobab!!

[*] :: Alex, Miguel, Mario, Henrique