Le blog de Olivier Crête

You are in the archive for the Gnome



February 2017
« May    

RSS 2.0

Log in

After missing the last few GStreamer hackfests I finally managed to attend this time. It was held in Thessaloniki, Greece’s second largest city. The city is located by the sea side and the entire hackfest and related activities were either directly by the sea or just a couple blocks away.

Collabora was very well represented, with Nicolas, Mathieu, Lubosz also attending.

Nicolas concentrated his efforts on making kmssink and v4l2dec work together to provide zero-copy decoding and display on a Exynos 4 board without a compositor or other form of display manager. Expect a blog post soon  explaining how to make this all fit together.

Lubosz showed off his VR kit. He implemented a viewer for planar point clouds acquired from a Kinect. He’s working on a set of GStreamer plugins to play back spherical videos. He’s also promised to blog about all this soon!

Mathieu started the hackfest by investigating the intricacies of Albanian customs, then arrived on the second day in Thessaloniki and hacked on hotdoc, his new fancy documentation generation tool. He’ll also be posting a blog about it, however in the meantime you can read more about it here.

As for myself, I took the opportunity to fix a couple GStreamer bugs that really annoyed me. First, I looked into bug #766422: why glvideomixer and compositor didn’t work with RTSP sources. Then I tried to add a ->set_caps() virtual function to GstAggregator, but it turns out I first needed to delay all serialized events to the output thread to get predictable outcomes and that was trickier than expected. Finally, I got distracted by a bee and decided to start porting the contents of docs.gstreamer.com to Markdown and updating it to the GStreamer 1.0 API so we can finally retire the old GStreamer.com website.

I’d also like to thank Sebastian and Vivia for organising the hackfest and for making us all feel welcomed!

GStreamer Hackfest Venue

Everyone has been blogging about GUADEC, but I’d like to talk about my other favorite conference of the year, which is GNOME.Asia. This year, it was in Beijing, a mightily interesting place. Giant megapolis, with grandiose architecture, but at the same time, surprisingly easy to navigate with its efficient metro system and affordable taxis. But the air quality is as bad as they say, at least during the incredibly hot summer days where we visited.

The conference itself was great, this year, co-hosted with FUDCon’s asian edition, it was interesting to see a crowd that’s really different from those who attend GUADEC. Many more people involved in evangelising, deploying and using GNOME as opposed to just developing it, so it allows me to get a different perspective.

On a related note, I was happy to see a healthy delegation from Asia at GUADEC this year!

Sponsored by the GNOME Foundation

This June, I was in Seoul, Korea for the GNOME.Asia Summit, the yearly occasion to meet up with the Asian side of the GNOME community. As always, it was an awesome conference, with so many cool people. I learned about new projects like Seafile and got to meet new friends and catch up with old ones.

I’d also to thank my employer, Collabora, for sponsoring my flight and the GNOME foundation for paying the hotel.

Sponsored by Collabora                              Sponsored by the GNOME Foundation

Due to unintentional behavior breakage in the newest versions of GUPnP and GSSDP, the UPnP NAT traversal in all VoIP applications that use Farsight2 is currently broken. This includes Empathy, Pidgin, aMSN, etc. I advise distributors to just stay with the older GUPnP 0.16 (and GSSDP 0.10) releases until this is sorted out. For those who care, the details are on bugzilla.

Update: I’ve released GUPnP-IGD 0.2.1 that works around these problems.

Just like everyone else on Planet GNOME,
I'm also going to the Desktop summit

You are all cordially invited to my talk: Improving the quality of video calls on the Free Desktop. I will try to explain why Skype’s video calls look so much better than ours and what I’ve been doing to fix it, and how there is much more to do.

Now that WebRTC and RTCWeb are coming, it is more critical than ever that we can have good quality video calls in the GNOME platform so we can stay relevant.

I’d also like to thank my employer, Collabora, for once again sponsoring my trip. And don’t forget the Collabora party on Tuesday night!

On July 9, 2000, my first patch to a Free Software project was accepted. It was a patch to fix a small bug in GnomeICU, which was then the best ICQ client for GNOME. From there, I contributed a few more patches, then a lot more, then I re-wrote the protocol backend (to use the newer protocol) and before you knew it, I was the co-maintainer. The original author left, another maintainer joined, then left, and, in 2004, I was left as the only active maintainer. Then I lost interest and became the unmaintainer. I haven’t made a release since 2007, or written any code to justify one, so with GNOME 3 coming up, and after many years of non-maintenance, I have to admit the truth, GnomeICU, as a project, has died many years ago.

There were some changes left in the git tree, along with many translation updates, so I made a last release, for anyone who cares. To my surprise, we still get between 50 and 150 downloads per month from Sourceforge, hopefully it will be useful to some.

It was a fun project, I spent countless nights having fun programming, and I hope other did too. I learned a lot about programming, communities, etc. But more importantly, I’ve met some amazing people like Vincent Untz (rumor is that I committed his first patch to a GNOME project), Seb Bacher and even Philippe Kalaf.

After months of envy, I decided that since GNOME 3 is to be released in almost two weeks, it was time to try it out. I must say that is is pretty damn cool. Yes, it has a few annoying bugs and glitches, but nothing out of the ordinary for a first release. It is definitely going in the right direction.

That said, we’re in 2011, and it’s still impossible to use OpenGL on two monitors without tearing. How incredible is that! The thing is, my second monitor is a 50″ Plasma TV and I really hate tearing there when I watch a movie. So when I have two monitors, I want the VSync to be on the second monitor. Luckily NVidia (yea sorry) has an environment variable to select which monitor an OpenGL application syncs on, the annoying thing is that this has to be set before the application is started. So after a little messing around with Looking Glass (which is pretty amazing), I was able to set the variable into the shell and have it re-exec itself. After getting that to work, I couldn’t resist writing an extension to do it for me. Be warned that if you switch screens at runtime, you also want to apply the patch from bug #645408 for now.

Update: I’ve been informed by our very own Daniel Stone that free drivers are better and can actually do the VSync correctly.

There seems to be this new fad at adding tabs, but GnomeICU has had them for years, since 2002. You guys are like sooo late.

GnomeICU has tabs

Students! There are only a few days left (until Monday) for you to submit your Google summer of code applications. This year, I’m hoping to mentor students working on Farsight 2 or on integrating Farsight in various applications. The most interesting project I’m proposing this year is adding plugins for the various non-free protocols to Farsight (see details), MSN is particularly easy since most of the reverse-engineering has already been done, its just a matter of coding it. GStreamer has a page on how to write a good application (hint hint, Farsight’s project are part of GStreamer this year!). I’m also a mentor on Gnome & Gentoo in case anything interesting is proposed there, so if you have good idea, go submit them now, time is running out!
Update: Google has extended the application period for one more week, so there’s still time… And we already have a good applicant for MSN, but please do apply for Yahoo, AIM, ICQ, etc!


This page is XHTML 1.0 Strict and CSS level 3