Ubuntu Developer Summit

Last week I attended the Ubuntu Developer Summit in Orlando where we kicked off the development of Precise Pangolin. I was already there the week before to attend our design sprint where I met many new Canonical employees. Canonical is growing!

UDS was full of conferences and presentations. Canonical announced a push toward tablets, smartphones and TV set-top boxes. All this means our products will have to be robust, reliable, great. Or simply exceed expectations.

I have a few pictures to share from UDS.

UDS P: During a session

UDS P: During a session

UDS P: Unity running on TI Omap4

UDS P: Unity running on TI Omap4

UDS P: Loading an Ubuntu image on the Omap4

UDS P: Loading an Ubuntu image on the Omap4

UDS P: The Caribe Royale

UDS P: The Caribe Royale

Precise Pangolin

That is the name of the next Ubuntu release. I am heading to Orlando (Florida) for a Unity design sprint where the designers and developers get to meet and talk about what is coming next. Should be fun!

Can A Geforce 3 Run Unity?

A Unity user has submitted a bug report for a system that features an NVidia Geforce 3. When the Geforce 3 was released, NVidia had just acquired 3DFx. It was 2001. That’s a 10 years old video card we are talking about.

Anyways, my answer to the question in the title is no. But why? Here are a few reasons:

  • Our minimum OpenGL requirement for Unity support is version 1.4. From what I could gather on the web, the Geforce 3 is at best capable of OpenGL 1.3.
  • Unity needs support for OpenGL framebuffer object. I can say with certainty, that extension is not available on the Geforce 3.
  • The Geforce 3 is a video card that is hard to find these days. Remember, it was released in 2001. You would also need an AGP desktop system to host it. It is hard to get Unity support on a graphics hardware that we don’t have on hand.

There are other factors such as computational power, on-board memory… Today’s base level GPU power and feature set is much higher than what was available 10 years ago. Unity experience on a graphics card such as the Geforce 3 would have to be severely downgraded. It wouldn’t look or feel like Unity anymore.

Yet, there is still hope. Unity 2D was designed for hardware that do not have the base requirements to run the OpenGL accelerated version of Unity. There is still the performance concern but at least a Geforce 3 won’t be left out in cold.

glBindBuffer vs. glBindbufferARB

glBindBufferARB was defined in the OpenGL extension GL_ARB_vertex_buffer_object. That was in OpenGL version 1.4.

Starting with OpenGL 1.5, GL_ARB_vertex_buffer_object was accepted into the core OpenGL API and so glBindBufferARB became glBindBuffer. glBindBufferARB is still available and performs the same function as glBindBuffer. Yet, in source code, you have to be careful not to use glBindBuffer if your program is going to run on a GPU that only supports OpenGL 1.4. Otherwise, your program will crash.

I am stuck to using glBindBufferARB instead of glBindBuffer because Unity must run on systems such as the Intel GMA 950 which only supports OpenGL 1.4 on Linux. You may think that all is find when your code runs on a systems with OpenGL 2.0+, only to see it crash on a system with a lower version of OpenGL. So be careful!

Unity Desktop: Natty Alpha 1

Since the switch to Compiz and Nux, we went into overdrive to rewrite Unity. Just in time for the end of the year, this is what Unity looks like on my netbook.

Unity desktop (Natty Alpha 1)

Unity desktop (Natty Alpha 1)

The difference from the Unity’s previous versions isn’t just cosmetic. It can be felt in the interface responsiveness. Interaction with the launcher has been improved dramatically. We still have a lot to do before the release of Natty, but this is already much better from where we were a few months ago.