I upgraded my desktop machine to Gutsy today to have a play with it before upgrading my laptop. I’m really glad I did it in this order as it appears there may be a regression in the version of Java 6 shipping on Gutsy.
I happened to test out a Java game which uses Full Screen Exclusive Mode with a DisplayMode of 800×600. So far this app has been working ok on Feisty but when I tested it today on Gutsy it couldn’t change display mode. I discovered that Java was only able to see the current screen mode of 1280×1024 and no others.
I managed to locate the JNI function call in Java’s native C source code where it gets the list of modes. It’s called Java_sun_awt_X11GraphicsDevice_enumDisplayModes(...) and is in the file j2se/src/solaris/native/sun/awt/awt_GraphicsEnv.c. As expected the Ubuntu packages are built from the Sun Linux binaries - no source code. I couldn’t find the Java 6 source on Sun’s site, the link appears to be wrong. Instead I found the file in the Icedtea/OpenJDK source tree. Icedtea on Gutsy has the same problem so I’m fairly happy this is the the same or roughly the same code as in Java 6.
The function makes use of the XRandr Xorg extension to query the available display modes. I coded up a small test to see if XRandr was behaving correctly. It is, on both Gutsy and Feisty. So it looks like it could be something in Java 6 u3.
Bryce Harrington (an Ubuntu Developer) has created an article demonstrating the new BulletProofX feature which will be included in the upcoming 7.10 (Gutsy) release of the OS: BulletProofX
It’s fantastic to see this finally implemented, Graphics Card and Screen issues, in my experience, have been the most visible deficiency of the Linux distros compared with other operating systems.
This is more great news for Linux as it shows that there is a growing confidence that it is a viable alternative to Windows and Mac. We already have Dell introducing Ubuntu pre-installed machines into for the European market. RM are a big supplier of IT hardware and services into schools and this laptop will probably be targeted directly at the education market. Lets hope we see more and more of the education market share heading towards Linux (and Mac) so there’s a more level playing field and kids don’t grow up thinking that computers and Windows are the same thing.
Update: Here’s the link to the product description page on the RM site - RM Asus miniBook. I notice in the features page the operating system is described as an “Asus developed Linux based operating system”. A little Googling turns up a story on Slashdot from from last Sunday mentioning about an ASUS motherboard called the P5E3 Deluxe/WiFi-AP@n that includes an embedded Linux OS called Splashtop which boots from the BIOS on the motherboard and allows you to use Firefox+Flash, and Skype in under 5 seconds from pressing ‘Power On’. The Splashtop site has a decent FAQ, and even a blog-post with a YouTube vid demostrating the OS. I’m not sure this is definitely the exact technologies the RM machine is using because Splashtop is developed by DeviceVM not Asus. The RM machine is basically a rebranded Asus Eee PC. The Eee PC site doesn’t give specific detail on the version of Linux it uses but it’s support page does link to Xandros Linux.
I was happy to find my patch was accepted and was eventually released in version 0.13. I’m even happier to find that with the upcoming release of Ubuntu 7.10 my patch has found it’s way downstream to my favourite distro too.
It’s interesting to chart the progress of an open-source contribution: I submitted my patch upstream (i.e. directly to the Banshee) on 13th Feb 2007, it made it into a stable release six months later on the 5th August 2007, and now in October it’s beginning to make it downstream into the distributions. In total around eight months have passed. At first this appears to be a long time but it’s better new features don’t float downstream too quickly so they have more time to mature.
I’ve just read over the Gnome 2.20 Release Notes and I must say I’m looking forward to using it in Ubuntu 7.10 (Gutsy). There are quite a few small improvements that I’ve been waiting for. For instance:
Finally the Evolution mail client has an icon for the Gnome Panel’s Notification Area, I hope it supports minimizing of Evolution too (without leaving behind the task bar button).
Evolution now has a built-in backup utility to help export and move settings to another machine.
The properties dialog for a mounted disk now shows a disk-usage pie chart - very useful.
One neat feature is that if you lock your screen and go away someone can leave you a message to read once you return (no more sticky post-its stuck to your screen).
Automatic unlocking of the Gnome Keyring (Password Manager) when you login or unlock your screen.
However, the thing I am most happy to see is the new Gnome Library documentation site. This is a very polished site collecting together Gnome related tutorials, manuals, and API references. I think this is a great step forward for the Gnome project; I have felt in the past the resources were not as well presented or well maintained as they could be, particularly developer docs on subjects such as Gtk and Glib.