Hardware enablements in Fedora 13
Feature Profile Background
This feature profile hits Freedom, Features, and First - and Friends by way of how some of these were collaboratively engineered. The talking points covered in this feature profile will include "experimental 3D extended to free Nouveau driver," "print driver installation," and "color management."
Features Covered - Informative Links
- F13 Feature List
- Nouveau - Ben Skeggs
- Automatic Print Driver Installation - Tim Waugh
- Color Management - Richard Hughes
Nouveau - Interview
Ben - please introduce yourself! Who are you, and what do you work on?
I'm talking with members from several of the projects within Fedora that are working on Hardware Enablements for Fedora 13 (and beyond!). I understand you work on the Nouveau feature. Can you give me a high-level overview of how this feature works, and the different aspects involved - I know there is a DisplayPort piece, and also a 3D piece as well.
The Nouveau feature in Fedora covers everything that's involved in providing a useful, and fully open-source driver for NVIDIA GPUs. This is a rather broad feature, covering everything from detecting and putting an image on the attached displays to enabling users to run applications that require OpenGL support, and everything else in between :)
Let's talk about DisplayPort. What is it - and how is this feature helpful to end-users? Can you tell me how easy it would be for an average end user to make this work?
DisplayPort (DP) is a new standard for connecting displays to GPUs. For Fedora, this feature is to implement support for DP-attached devices in the relevant drivers. To the user they should just be able to plug in such a display, and have it "Just Work" as VGA/DVI/HDMI displays do already. DisplayPort is also able to be used as the interface for laptop panels.
The support available in the latest Nouveau packages in Fedora is rather limited. It may work for a lot of cases where the display is already plugged in during boot, but there's a couple of pieces missing in our knowledge of the hardware to be able to offer "perfect" support at this time.
Let's switch over to the experimental 3D drivers. I know that this Fedora 13 will be the first appearance for NVIDIA experimental 3d drivers, but that this has been a work in progress with other video "vendors" for some time now. Can you tell me a bit of history about how this has evolved in the past few releases of Fedora?
Well as you mentioned, F13 is the first appearance of open-source NVIDIA 3D support in Fedora. Upstream, there's been some form of development 3D drivers for quite some time now but until recently nothing that was even close to useful quality.
As it stands now the drivers should be capable of running quite a lot of OpenGL applications across most chipsets, but there's still a large number of issues to be resolved, hence the drivers being in mesa-dri-drivers-experimental :)
How are experimental 3d drivers helpful to end users? What applications are people using that are driving the need for this?
They're useful in that they should enable a lot of people to be able to enable desktop effects, or to try out GNOME Shell. A lot of other 3D applications should work too, and hopefully be a bit more performant than OpenGL software rendering!
Tell me a bit about the community aspects of this project - both within Fedora and outside of Fedora. Who else is working on this project with you?
There's quite a few people involved with Nouveau these days, working on a lot of different areas. Take a look at the Nouveau wiki (link below) and it should give you a pretty good idea about what's going on in the Nouveau world :)
How about testing? Do you have a lot of Fedora community members coming out and saying they're willing to help make sure this works in their environments, with their DisplayPort monitor and/or with their specific graphics cards?
Fedora shipping Nouveau has been great so far, as a result we've seen testing from a lot more users and encountered a number of configurations that we didn't work so well on. The Fedora Test Days have been great at getting a heap of users to thoroughly test the driver and report issues.
What are your future development plans and/or roadmap?
It's difficult to say what issues will arise, but the current plan is to continue to work on improving DisplayPort support, and give a stronger focus to the 3D drivers than previously. Of course, NVIDIA's just released the GF100 series of GPUs so there will be a lot of work needed there to get them supported.
Where can we find out more about Nouveau? Is there a community portal or wiki page, a place to file bugs, or - better yet - a place to report that things are working great?
The Nouveau wiki lives at , and has various links and documentation on the driver and development. Upstream bug reports go to the freedesktop.org bugzilla, or jump into #nouveau on irc.freenode.net.
Automatic Print Driver Installation - Interview
Robyn Bergeron, Tim Waugh
Tim - please introduce yourself! Who are you, and what do you work on?
I'm a senior software engineer at Red Hat, working on the printing side of things. CUPS, Ghostscript, the various printer drivers, printer configuration, etc.
I'm talking with members from several of the projects within Fedora that are working on Hardware Enablements for Fedora 13 (and beyond!). I understand you work on Automatic Print Driver installation - can you give me a high-level view of what this feature provides to end-users?
For quite a while now Fedora has automatically created printer queues for USB printers when they are connected. This works by using the best of the drivers that are installed at that moment. What's new in Fedora 13 is that now it will offer to download and install the relevant drivers first.
It does this using PackageKit, and works in a similar way to fonts, codecs, MIME type handlers, and language packs. Driver packages are tagged with IEEE 1284 Device IDs, special strings that are unique for each printer model. Based on the IEEE 1284 Device ID of the connected printer, packages matching that ID in their tags are installed.
This means that each of the printer drivers needs to declare the IDs all of the printer models it can handle. Currently we have about two thirds coverage: that is, of all the printer models we have drivers for, about two thirds have an associated ID.
Give me an example. Let's say I go and pick up a new printer at the Giant Electronics Store - what is the process I would go through to install a printer? How technical do I have to be to make this work?
The idea is that you don't have to be technical at all. You've come home, switched on your computer and logged in, unpacked the box, and plugged in and connected the printer. The very next thing you should see is a dialog box offering to download and install a driver. After that, you'll see a pop-up notification telling you that it is ready to print.
If the driver is already installed, of course, you'll just see the notification that the printer is ready. The Fedora 13 feature is to make sure we have a driver installed that will work.
This feature works for network printers as well. When setting up a queue for a network printer, any relevant driver packages will be installed as part of that process.
Tell me a bit about the community aspects of your project. Are there other people working on this project - perhaps from other distros or printer manufacturers?
The feedback I've had from various printer manufacturers has been positive.
The most helpful thing that can be done from a community point of view is to collect IEEE 1284 Device IDs. Information about doing this can be found here.
How about testing? Do you have a lot of Fedora community members coming out and saying they're willing to help make sure this works in their environments - both on their desktop and also with their particular type of printer?
Many missing printer IDs have been submitted already and the packages fixed, but we could still do with more.
Do you have additional plans for development in Fedora 14, or other future releases?
Nothing targeted specifically at Fedora 14 yet.
Where can we find out more information about Automatic Print Driver installation? Is there a list of supported printers, a community page, or a place where people can report things aren't working? Or better yet - that things -are- working?
Here is the feature page: https://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation
There was a test day held: https://fedoraproject.org/wiki/Test_Day:2010-03-25_Printing
I gave a short presentation on the automatic driver installation feature at the OpenPrinting Summit last week. The slides, and a recording of the session, can be found here: https://www.linuxfoundation.org/collaborate/workgroups/lf/openprinting-summit-san-francisco-2010