Poulsbo update: kernel 2.6.30 support

Kernel 2.6.30 went into updates-testing for Fedora 11 today, so I decided to test the Poulsbo stuff with it. Not at all surprisingly, the module doesn't build out of the box with 2.6.30, it hits two failures. One of them I fixed myself, for the other I am eternally grateful to the wonderful Chuck Ebbert and Dave Airlie for rendering the fix. The updated akmod-psb package you'll need for kernel 2.6.30 when it hits is now in my repository, version 4.41.1-4. Once you have that installed, when kernel 2.6.30 hits stable updates, your graphics should hopefully keep right on truckin'.

Poulsbo update: cleaner, faster, stronger, video playback acceleration

I've updated the Poulsbo packages a bit over the last two days. Thanks to a suggestion from lkundrak the libdrm-poulsbo package is a lot cleaner now - it installs entirely to a subdirectory so it can co-exist happily with the main Fedora libdrm packages. I cleaned up a few other rough edges, but I made a major addition today. The repo now features libva and a build of mplayer with VAAPI support. What does that mean? Accelerated video playback on your Poulsbo, that's what it means! Ensure you have the repo enabled, do 'yum install mplayer-vaapi' (and if you already installed in the last two days, also update xpsb-glx), then try it:

mplayer-vaapi -vo vaapi -va vaapi somevideofile.avi

it can only play back the types of file it actually has acceleration support for - DivX / XviD, MPEG-2, H.264, WMV and a few others (see upstream for details) - if you try a video with a different codec it won't fall back to non-accelerated playback, it'll just fail. And it seems a bit patchy even on some files it supports. But when it works, it's awesome - it can play back 720p H264 on my Vaio P with only a smidgeon of frame dropping (compared to non-accelerated playback, which drops half the frames playing a 640x480 XviD).

I'm informed that the codec pack you can buy from Fluendo includes a gstreamer codec for VAAPI acceleration, which would allow any Gstreamer-based player to do accelerated playback. This isn't publicised in its description, though, and I'm not willing to shell out 30 Euros to find out. If someone else out there is, though, feel free. There's also a special version of RealPlayer with VAAPI support, but it's only available to OEMs, as far as I can tell.

Kudos to Gwenole Beauchesne, also ex-of Mandriva, who now works for Splitted Desktop Systems, who did the work to improve libva and patch mplayer to add support.

NetworkManager Test Day on Thursday

Yes, folks, it's that time of year again - Test Day time! The first main cycle Test Day of the Fedora 12 cycle is happening on Thursday, and it's all about...NetworkManager.

We've got some fairly specific test cases lined up (on the page already) to test the new features of NetworkManager for Fedora 12, but please do also come along, grab the live CD, and just test that NetworkManager is doing the right thing with whatever connections you have; we want to make sure it's all right for Fedora 12. There's a live CD available so you won't need a Rawhide installation, and myself and Dan Williams (our venerable NetworkManager wrangler) will be around to help with testing. The Test Day takes place in #fedora-qa on Freenode IRC: see this page if you don’t know how to use IRC. See you there!

Intel GMA500 (Poulsbo) on Fedora 11: repository (with working 3D / compiz support)

So, finally I bit the bullet and did it. I've set up a repository with working packages for Intel GMA500 (Poulsbo) support on Fedora 11. You can just enable the repository and install the driver and it will work.

UPDATE 2

The driver is now available in RPM Fusion. All you need to do is enable the RPM Fusion repositories - you need non-free, that's where the driver lives - and run:

yum --enablerepo=rpmfusion-nonfree-updates-testing,updates-testing install xorg-x11-drv-psb

then reboot, and all is good. If you want to use an external display alongside the internal one, you'll need to edit the xorg.conf file and add a Virtual line, as briefly discussed in the old text below. Otherwise, that's really all you need to do. All installation instructions below are obsolete, though some of the tweaks discussed are still useful (like the kernel parameter for the Vaio P). I will be removing my own repository shortly and maintaining the driver only in RPM Fusion.

UPDATE 1

Since first writing this post, I've made several updates to the packages. Video playback acceleration is now available: see this later post for details. libdrm-poulsbo is much cleaner and installs happily alongside regular libdrm. I have just updated the main driver package with a patch which make it default to ignoring ACPI for screen detection purposes. . The package now installs a service which automatically enables the driver and configures the 'greedy' EXA migration heuristic rather than 'always', which seems to improve performance and reliability for several testers (both here and on the Ubuntu forums), so you don't need to modify xorg.conf yourself at all unless you want to do spanning across multiple displays.

A couple of gotchas with the packages have also emerged. You need to have the RPM Fusion repository enabled before you can use this repository, it just won't work otherwise. Depending on your exact hardware - many Poulsbo-sporting machines don't actually support PAE - you may also need to manually install (with yum) the i586 kernel-devel package instead of the i686-PAE kernel-devel package that the dependencies may pull in. If you're using a Sony Vaio P, you'll want the kernel parameters 'mem=1900MB nohz=off' to make everything go smoothly.

END UPDATES

To install, as root:

rpm -Uvh http://adamwill.fedorapeople.org/poulsbo/i586/poulsbo-repository-release-11-1.noarch.rpm yum install xorg-x11-drv-psb

The only thing you'll have to do manually is set up a /etc/X11/xorg.conf file, as there's no way I can patch X.org's auto-detection from outside the X server package. You can just use mine if you like. It has a Screen section which sets up a framebuffer size of 3280x1050, which is what I need to have a 1680x1050 display side-by-side with the 1600x768 panel in my Vaio P; you can adjust that section to your needs, or take it out if you don't expect to be doing any spanning with an external display. If you create your own xorg.conf, you may still need the line 'Option "IgnoreACPI"' in the Device section, or you may not - I'm not entirely sure if it's still needed with these latest versions of everything.

There's some very horrible hackery in the libdrm-poulsbo spec to make it replace the regular libdrm without complaining, but if you don't look at it, it won't hurt you :). Sources are here (of course, this is still the partly-proprietary driver liberated from Ubuntu Netbook Remix, so there's still no sources for the 'firmware' or xpsb-glx parts). Let me know if you have any trouble.

This is for F11, i586 only. I don't believe any x86-64 system has a Poulsbo chipset, and I don't have an F10 system so I can't easily build F10 packages any more.

Poulsbo update: Compiz working on F11!

This weekend I got around to testing out the latest updates to the Poulsbo (Intel GMA 500 graphics chipset I have written about multiple times before) front. Newer versions of the kernel module, the firmware and the GLX module have trickled into the Ubuntu secret sauce repository over the last few weeks.

Happily, they produce a significant improvement in behaviour with Fedora 11. With the latest version of everything from the Ubuntu repo, the hangs I and others were seeing around 30 minutes after starting X seem to have gone away, which is great. Also, 3D acceleration appears to be working! It's not incredibly fast, but very importantly, it's fast enough to run Compiz with basic settings pretty smoothly. This means desktop rendering is smoother than before, and also takes some of the rendering load off the CPU and 2D core to free them up for other tasks, so that's great. You can even enable some of the Compiz effects - wobbly windows and the cube work pretty well, haven't tried anything more complex yet.

I am working on a cleaned-up set of packages which should be installable without any hacking around (mainly by making libdrm-poulsbo obsolete libdrm, rather than just conflict with it). I intend to publish these up as a proper yum repository, with dependencies enforced, so you can just add the repo and then install the main driver package, and it will pull in everything else you need.

All go

So, it's been pretty busy around here lately. I was constantly a bit behind all of last week, having made a great start by killing my phone on Sunday and my keyboard on Monday. This weekend I managed to clean the entire house, write the FWN QA beat twice (lost the 95% complete draft the first time), do some quick work on a few bugs, finally get kernel 2.6.31 - and hence nouveau - running on my main system, with the help of Orcan (in fixing my wireless driver, rt2860sta, to work with 2.6.31), and finally set up backup of my mail from my mail server virtual machine to the RAID array in my home theatre PC. Which has now helpfully alerted me that one of the three drives in it has crapped out for the second time in three weeks, so I'm really going to have to replace it this time. To make things worse, it's the replacement drive I bought just a few months back, after one of the ORIGINAL drives in the array went kaput. Le sigh. So now I'll have to buy a new one because it'd be too risky to wait until the warranty replacement arrives, and then I'll wind up with yet another useless spare disk lying around the place once the warranty replacement arrives. Perhaps I'll just throw it in as a spare in the array, then at least I won't have the same damn problem again in future.

Oh, yeah, and I somehow managed to play golf, have a somewhat alcohol-aided Rock Band 2 night at a friend's house, and spend Sunday at the Pride parade and then crawling around various bars and bar-like environments on Davie. I think I need a weekend from my weekend...

Launchpad open sourced

Well, I must admit I've been one of those who's tended to take the 'when pigs fly' approach to the much-vaunted final open sourcing of Launchpad. It seems that today's the big day for the take-off of the Royal Porcine Flying Corps, as it appears that Launchpad has been fully open sourced. If there's truly no gotchas to it, in the spirit of fair play, I have to say - congratulations and kudos to Canonical for this move, it's very welcome, especially the bit about open sourcing the whole thing (they'd previously be planning to keep some components closed indefinitely). Good job!

Fit and Finish: Power management and suspend Test Day tomorrow

The Desktop team's Fit and Finish project is going great guns, and holding its second event tomorrow. This Test Day will focus on power management, and suspend and resume functionality. Please take a look at the event page for information on the when, where and what: it'll be 12:00UTC to 21:00UTC, in #fedora-fit-and-finish , and there's some information on test cases and so on up on the page already. If you're at all interested in power management and suspend / resume - and who isn't?! - please do come along to the event to help with smoothing out these areas of the Fedora experience.

back home, some work done!

Got back home to Vancouver today, and worked all afternoon (which at least should help me avoid jet lag). Feeling extremely fatigued now, but I've done a couple of useful bits: First, I (finally) pushed builds of congruity to Rawhide, F10 and F11. For now they're just in updates-testing for F10 and F11, but I'll push them to updates quite quick as they're unintrusive new packages and can't really break anything. I've written about it before - that post has full details on what it's for - but as a quick reminder for anyone who missed that, it's a Linux GUI frontend for the web programming system for Logitech Harmony remotes. Just install that package and run through the web service, and all will work. Er, hopefully. Let me know if not!

Second, I did an updated build of Navit, the GPS navigation software I've been poking at lately. It's been stuck not working because of a bug in freetype for a while, now, so I've given up waiting for the freetype bug to be fixed, and instead sent a build with a workaround for the bug over to the review request. Hopefully we can have a package up in the official repositories in fairly short order.

Alright - now I'm going to sleep!