Older blog entries for sdodji (starting at number 112)

Xephyr XVideo and GL has landed

I forgot to say that the Xephyr XVideo and GL hack I talked about earlier has landed in git master some while ago.

So now, to get the sources you can do:

git clone git://anongit.freedesktop.org/git/xorg/xserver xserver.git

To compile:

cd xserver.git

./autogen.sh --prefix=/your/prefix --enable-debug --enable-xephyr --enable-kdrive --disable-xorg --disable-dmx --disable-xorgcfg --disable-xcalibrate --disable-xsdl --enable-dri --enable-glx --with-mesa-source=/your/mesa/chekout --disable-xprint --enable-builtin-fonts --disable-tslib


Oh, you have to have a recent mesa as well. To you can get it with:

git clone git://anongit.freedesktop.org/git/mesa/mesa mesa.git

I personally use jhbuild to compile xorg stuff. If you have not tried it yet, you should give it a try because it eases dependencies management a lot. You can follow the instructions given here.

Mandatory screenshot:



Enjoy !

Syndicated 2007-10-17 12:31:00 (Updated 2007-10-17 13:04:16) from Dodji

online.net erased my blog comments ? okay moving to blogger.com

For some reason, all the comments before 29th September 2007 got erase from this blog. In the meantime, online.net, my hosting service provider announced that it has experienced a disk crach on his mysql DB server. Coincidence ?

Or maybe that is a dotclear bug ? In any case, the comment table in the DB is empty. It was also the biggest table.

Enough is enough. Cheered up by my colleagues, I decided to move to blogger.com. Let's see how that one will look like.

One nice thing I like in there among all its feature is the ability to have one rss feed per category if you wish. So the rss link for my english posts will be:

http://dodji.blogspot.com/feeds/posts/default/-/english

The rss link for my french posts will be:

http://dodji.blogspot.com/feeds/posts/default/-/francais

I wish I could import the posts from this blog in there automagically. Any thoughts on how I could do that, dear lazy web ?

Syndicated 2007-10-01 09:34:35 from Dodji on the wire

25 Sep 2007 (updated 1 Oct 2007 at 09:53 UTC) »

OpenGL and XVideo acceleration in Xephyr

For those who don't know, Xephyr is an X server that "displays" stuff into a window of the host X server currently running on your machine. You can simply launch Xephyr on your desktop and make your favorite applications use it as their display.

So Xephyr normally does its rendering in software and then sends the image resulting from that rendering to the window of the host X server. That means it does not take advantage of the possible hardware assisted acceleration that can be provided by your graphics card. One of the implications of this is that Xephyr did not support XVideo or DRI based OpenGL acceleration. At least until recently :-)

One my recent projects at OpenedHand was to plug that hole and make Xephyr support XVideo and OpenGL acceleration.

The principle was basically to make Xephyr act as an XVideo/GLX client of the host X server, on behalf of the actual client application. That way, Xephyr leverages on the acceleration capabilities provided by the host server (if any), without being tied to anything specific to the underlying graphic card. It is a way to use the host X as a portable acceleration layer, in a sense.

In short, if your host X server has XVideo and GLX acceleration, Xephyr will use that.

For GLX acceleration, Xephyr uses the Direct Rendering Infrastructure to talk to the host X. That implies that the system will work with free software DRI drivers only.

Now, video time.

DISCLAIMER: YOU HAVE TO WATCH THESE VIDEOS IN FULLSCREEN. Otherwise they are of very very poor quality.


glxgears in Xephyr without acceleration
;




glxgears in Xephyr with acceleration

getting the code:

git clone http://people.freedesktop.org/~dodji/xserver dodji-xserver.git

compiling:

You new to checkout out mesa:

git clone git://anongit.freedesktop.org/git/mesa/mesa mesa.git

cd dodji-xserver.git

./autogen.sh --prefix=/your/prefix --enable-debug --enable-xephyr --enable-kdrive --disable-xorg --disable-dmx --disable-xorgcfg --disable-xcalibrate --disable-xsdl --enable-dri --enable-glx --with-mesa-source=/your/mesa/chekout --disable-xprint --enable-builtin-fonts --disable-tslib

make

launching:

hw/kdrive/ephyr/Xephyr :1 -ac

Syndicated 2007-09-25 11:26:50 from Dodji on the wire

New bits in nemiver

We have been quite busy on the nemiver front lately. We finally moved it into the GNOME SVN.
libgtksourceviewmm got moved there as well. yay.
Now, translators can unleash their enthousiasm on nemiver as well ;-)

On the cool stuff front, Andreas Nilsson, master of icon-foo, did a new icon for the project:

icon text

Woot !

We also added (at last) the suport of gdbserver. In short, you can now debug a program that is running on a remote box, using gdbserver. You just have to use a dialog box like this:

remote target dialog

hit okay and boom:

connected dialog

Beside these visible bits, quit a number of bugfixes and polishing when into the repository lately. To have a more precise idea about those new stuff, you can read this or that.

Maybe we should think about doing a new release soon.

Syndicated 2007-05-03 16:41:56 from Dodji on the wire

FOSTEL 2007

I will be at FOSTEL in Paris 4&5 April 2007, representing OpenedHand.

I am looking forward to meeting cool lads and talk about interesting embedded stuff involving X, Gtk+, PIM suites, GNOME related technologies end even more.

Do not hesitate to come and say HI :-)

A bientôt !

Syndicated 2007-04-02 19:20:19 from Dodji on the wire

nemiver debian sid unofficial repository

I wanted to say a big thank you to debian folks for the distro I have been using since a little while. Especially to the debian-gnome team which is doing a good and hard work, far from the lights of today's buzz fiestas. Distro people are not praised enough. So guys, you are my heroes.

In the mean time, I wanted nemiver to get a little bit more testers and bug reports. So I took a bit of time to set up an unofficial debian repository at http://dodji.flucast.org/debian. It contains i386 binaries of nemiver and gtksourceviewmm svn snapshots. Those packages are for the debian sid distro. Why that one ? well, because it's the one I use.

So, if you too are using debian sid and want to test nemiver, please do edit your /etc/apt/source.list file and append the following two lines:

deb http://dodji.flucast.org/debian unstable main
deb-src http://dodji.flucast.org/debian unstable main

Then type the now classical and well know too lines:

apt-get update
apt-get install nemiver

And you should get a fresh bleeding edge svn snapshot version of the nemiver debugger.

I will try to update it as often as I can, so feel free to use it and report bugs.

Special thanks to:

Syndicated 2007-03-29 07:21:32 from Dodji on the wire

boost::test Vs CppUnit

I have been wanting to use a unit testing framework for nemiver but I didn't find time until recently.

So I first tried CppUnit . It basically lets you write a set of testing functions and register them as a test suite. CppUnit then later manages the reporting of the failed or succeeded testing functions. That's not bad at all for a start.

For nemiver though, I needed more than that. On one hand there are now unit test functions for the GDB/MI (the wire protocol used to control the GDB process) parser. That is better than nothing. On the other hand though, I need to write tests involving our IDebugger interface.

The IDebugger interface is the type we use to abstract the underlying debugging engine. It has methods like IDebugger::load_program(), IDebugger::run(), IDebugger::set_breakpoint(), IDebugger::step_into(). These methods are asynchronous. They return immediately, when invoked. IDebugger later fires events to notify the completion of the issued request. Clients of the IDebugger interface register event handlers to do whatever is needed to do upon that notification. All this is done using the glib mainloop to minimize blocking on IOs, and to maximize the integration with gtk+ based GUIs.

As you can imagine, most of IDebugger testing pretty much happens in the event handlers we set. So it's a bit more involved than just writing a function that should return true or false to indicate success ...

And that is where boost::test libraries come into play. test_exec_monitor for instance lets you write a normal program as you want. You don't have to register any unit testing function whatsoever. You just have to put some asserts here and there. If the program completes without any failing assert, it is said to have succeded, otherwise, a simple report is displayed. Of course, boost::test has a lot of other APIs for other interesting testing use cases. Bingo. Now I have some (automated) tests that load a program, set breakpoints, run, step into a couple of functions, and exits. Voila.

I have even catched a couple of subtle problems thanks to this testing thing.

Now when you configure nemiver with the NEMIVER_DEVEL=on variable set, the boost::test libraries will be required. make check should launch the tests, as usual.

Syndicated 2007-03-16 13:06:17 from Dodji on the wire

fosdem2007 update

Saturday

  • it all started badly. Up at 5:30 AM, but I couldn't find my train tickets so I miss the train Paris -> Brussels from 6:55 am. I got lucky, I found the damned tickets and I took the train from 7:55 AM.
  • arrived at brussels at 9h17, and got to ULB on time for the FOSDEM dance
  • attended the "Software Patents In Europe" talk
  • met Jonita, Vincent Untz, Damien, the OpenedHand Gang, and many GNOME folks
  • stayed in the GNOME dev room. Met lots of folks from the GNOME-FR community. Man, we are growing.
  • met Loic Minier and Frédéric of gnome-debian fame. The gnome-debian project truely deserves respect. They are working in the dark and are doing a good work. Guys, again, thank you for my Debian GNOME desktop ! and keep up the good work !
  • met Murray Cumming. He kindly reviewed my talk and spotted some errors
  • saw the build brigade's talk. Okay this guys are magicians. They are really doing an excellent job.
  • saw Edward Hervey's talk on GStreamer. Very cool talk. I understood everything, despite my ignorance in multimedia stuff :-)
  • attended Andrew Morton's talk on the kernel. I love his humour.
  • did my talk, got some nice feedbacks. I was glad to survive. The slides (in pdf) are here.
  • loved Andy Wingo's talk
  • stayed with the OpenedHand gang, had dinner at the ChiChi restaurant. Nice Mexican music. Nice meal.
  • on my way to the hotel, met Miguel de Icaza. Went with him to see other folks from Novell and Sun.
  • got impressed by Miguel discussing about stuff like generics, CIL support in the JVM etc, with the OpenJDK people. Man, you have to see that yourself.
  • back to the hotel around 2 am. Shower, a bit of TV and quickly went to Morpheus land.

Sunday

  • up lateish, tired, met Simon Phipps on my way to ULB, chatted a bit.
  • went to the GNOME room, said hi to some GNOME folks
  • saw Mirco Müller's excellent talk. This guy is amazing.
  • went to the X.org dev room. Attended Stephane Marchesin's excellent talk about the Nouveau project. I am really fascinated by the XWindow world.
  • saw Keith Packard's talk on the X.org driver api update. Excellent talk, as always.
  • saw the "Video on Dope" talk from Matthias Hopf. Learned a lot of stuff on Gamma correction and things like that.
  • Left the X.org dev room to go see Federico's fantastic talk on how to profile desktop apps
  • met Oralia. Good to see her.
  • chatted a lot with Edward Hervey. Learned a lot.
  • went for lunch with Laurent Sansonetti aka lrz-the-ruby-monkey-of-apple and Eloy Duran of Ruby fan. Nice meal, nice chat.
  • met William Hauffmann (from RedHat) at the Brussels Midi train station. He was also on his way back to Paris. Nice conversation.
  • back to Paris around 22:05.

Conclusion

EXHAUSTED and still recovering.

Fosdem is just a fantastic event. I really love being there. It's even getting better and better each year. Man, 4500 people at Fosdem this year ! This is really something. It is even more amazing when you realize the organisers are not paid for that. Thank you for your work, girls and guys !

Syndicated 2007-02-28 13:03:07 from Dodji on the wire

getting paid to do what I'd love to do

I will be quitting my current job at Business Objects soonish to start working for OpenedHand. Yeah, woot ! I spent 5+ exciting years working for Business Objects, doing neat hacks, debugging interesting crashes, working to solve real life customer problems, hanging around with smart folks, touching AIX, HP-UX, Solaris, GNU/Linux and, ahem, windows. I was lucky.

Now, it's time to go open :-) I am really looking forward to learning new things, getting closer to hackers I really admire, and all in all, being able to take a breath one day and say: ''Damned, I am learning a lot with these guys".

Syndicated 2007-02-10 11:55:25 from Dodji on the wire

I(don't)Phone

Interesting to see the Taiwanese phone manufacturer FIC, planning to release the FIC Neo1973 phone in late February 2007. Okay, they need to come up with a better name. I just cannot remember that one :-)

I usually don't like advertising gizmos because I am really not a gizmo oriented person. When I don't hack, I prefer going out, practise Karaté, talk about politics, history, whatever, with friends and care about people I love. I even don't watch movies on my computer, I prefer going to cinema or use a TV for that matter.

But this time, things are different. That phone is supposed to provide features that are comparable to the overhyped phone to come from our Cupertino friends and yet is built on the OpenMoko plateform. From the FIC people announcement, we can read that they will use Linux, Xorg, gtk+, eds, and lots of GNU stuff. And all that with far less hype. Things are changing, and some of us are indeed living interesting times. We should keep that in mind.

Thanks to Matt Brown, of Debian fame for his link.

Mandatory shot:

Syndicated 2007-01-22 10:04:57 from Dodji on the wire

103 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!