Just added a new printer to your setup, and discovered that setting up printing was a piece of cake? The [http://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation Automatic Print Driver Installation] feature allows you to plug in a printer, authorize its installation, and start printing. No more pesky device drivers, and kiss those endless, mysterious printer setup windows goodbye.

Just added a new printer to your setup, and discovered that setting up printing was a piece of cake? The [http://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation Automatic Print Driver Installation] feature allows you to plug in a printer, authorize its installation, and start printing. No more pesky device drivers, and kiss those endless, mysterious printer setup windows goodbye.

−

If you're a designer, or you like the idea o,f "what you see, is what you print" - [http://fedoraproject.org/wiki/Features/ColorManagement Color Management] is the feature for you. Scanning old photos and making sure Grandma's red dress doesn't appear pink on your desktop, or making sure that the yellow duck you ''think'' you're printing isn't actually orange when it comes off the press -- are just two of the ways Color Management can help you out in your day-to-day activities.

+

If you're a designer, or you like the idea of, "what you see, is what you print" - [http://fedoraproject.org/wiki/Features/ColorManagement Color Management] is the feature for you. Scanning old photos and making sure Grandma's red dress doesn't appear pink on your desktop, or making sure that the yellow duck you ''think'' you're printing isn't actually orange when it comes off the press -- are just two of the ways Color Management can help you out in your day-to-day activities.

Fedora gets closer to the world of "everything just ''works''" in every release -- but we can't do it without '''you.''' Testing your devices and trying out the Fedora 13 Alpha, Beta, and final releases to make sure your devices work is immensely helpful to the developers putting in the long hours towards making your peripherals work even better. Fedora recently had a [https://fedoraproject.org/wiki/Test_Day:2010-04-13_Nouveau Nouveau test day], and the [http://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation#How_To_Test Automatic Print Driver Installation] and [http://fedoraproject.org/wiki/Features/ColorManagement#How_To_Test Color Management] feature pages both contain information on how to test. Are you interested in helping out with making each release of Fedora even better? [http://fedoraproject.org/en/join-fedora Join us.]

Fedora gets closer to the world of "everything just ''works''" in every release -- but we can't do it without '''you.''' Testing your devices and trying out the Fedora 13 Alpha, Beta, and final releases to make sure your devices work is immensely helpful to the developers putting in the long hours towards making your peripherals work even better. Fedora recently had a [https://fedoraproject.org/wiki/Test_Day:2010-04-13_Nouveau Nouveau test day], and the [http://fedoraproject.org/wiki/Features/AutomaticPrintDriverInstallation#How_To_Test Automatic Print Driver Installation] and [http://fedoraproject.org/wiki/Features/ColorManagement#How_To_Test Color Management] feature pages both contain information on how to test. Are you interested in helping out with making each release of Fedora even better? [http://fedoraproject.org/en/join-fedora Join us.]

Revision as of 13:24, 29 April 2010

Built by the Fedora Marketing team The Fedora Marketing team built this interview as part of their work promoting the latest and greatest free and open source software technologies that Fedora brings with each new release. If you're interested in participating in Fedora, visit http://join.fedoraproject.org to get started.

Feature Highlights

In every release of Fedora, users discover a multitude of new enhancements, capabilities, and features that were not in the previous release. Some of these features are obvious -- new icons, improved interfaces, and the like -- but oftentimes, there are features under the hood that are making life easier for us, without us even knowing it.

We all have different types of hardware on which we run Fedora. Desktops, laptops, netbooks -- all connecting to different peripherals in our home and work environments, via varying types of connectors, with different types of capabilities. How does it all come together? In the following interviews, we talk to members of three projects working on making sure things work in Fedora 13 -- and that you can use that hardware to its fullest capabilities.

Just added a new printer to your setup, and discovered that setting up printing was a piece of cake? The Automatic Print Driver Installation feature allows you to plug in a printer, authorize its installation, and start printing. No more pesky device drivers, and kiss those endless, mysterious printer setup windows goodbye.

If you're a designer, or you like the idea of, "what you see, is what you print" - Color Management is the feature for you. Scanning old photos and making sure Grandma's red dress doesn't appear pink on your desktop, or making sure that the yellow duck you think you're printing isn't actually orange when it comes off the press -- are just two of the ways Color Management can help you out in your day-to-day activities.

Fedora gets closer to the world of "everything just works" in every release -- but we can't do it without you. Testing your devices and trying out the Fedora 13 Alpha, Beta, and final releases to make sure your devices work is immensely helpful to the developers putting in the long hours towards making your peripherals work even better. Fedora recently had a Nouveau test day, and the Automatic Print Driver Installation and Color Management feature pages both contain information on how to test. Are you interested in helping out with making each release of Fedora even better? Join us.

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."

Nouveau

Robyn Bergeron, Ben Skeggs

Interview Questions

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 [1], 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

Robyn Bergeron, Tim Waugh

Interview Questions

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?

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:

Color Management

Robyn Bergeron, Richard Hughes.

Interview Questions

Richard - please introduce yourself! Who are you, and what do you work on?

My name is Richard Hughes, I'm 27 years old, and I work for Red Hat UK
in the desktop group. I'm the maintainer of PackageKit,
gnome-packagekit, gnome-color-manager, shared-color-profiles,
gnome-power-manager and upower, and also contribute to quite a few
GNOME and infrastructure projects. I've done a bit of kernel hacking
in my time too, so I'm fairly familiar with the entire stack. I work
from London, usually working from home (where I'm writing this right
now) although I'm of course talking with people all day over VoIP, IRC
and email. My IRC name is 'hughsie' which is also my nickname for
obvious reasons.

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 Color Management feature - can you give me a high-level view of what this feature is?

Fedora, and Linux in general is really broken when it comes to using
color management in key applications by default. OSX and Windows 7
show by making color management easy for the end user, it can be a
transparent part of the creative process. By providing a way to manage
and assign profiles in Fedora we can make it easy for creative people
to see on the screen the same color they just scanned, and also then
see the same color when the document is printed. Only by making this
stuff really easy to use we'll actually get people to achieve this.

Can you give me a more concrete example? Let's say I've just picked up a shiny new laptop, and have installed the Fedora 13 Beta. How easy is this for the average desktop end-user to install and use - and what benefits will it provide me? What are the compelling reasons for me, an average user, to use Color Management?

Sure, I would say I'm probably the average user in this regard (which
may surprise you) -- I don't understand all the color transformation
maths, I just want to make things work with as few clickety-buttons as
possible. This whole GNOME Color Manager adventure started with my
hobby, digital photography. I don't pretend to be the next Imogen
Cunnningham, I'm really just a guy who likes taking photos. I spent a
few months taking photos which looked great on the viewfinder, which
then looked "wrong" on the screen, and even more "wrong" when I
printed them out. Tweaking the colours (I'm British, really!) one way
or another, which seemed really unscientific and a bit of a black art.
I just wanted the screen colors to match the camera colors, and the
screen colors to match the printed colors. Only through profiling,
characterization and calibration could I get near that goal. The
existing tools kinda-worked, but were all command line, and were
really hard to understand and use. There was no integration in the
desktop and they all had to be setup by hand.

So, back to the question. You've just picked up your laptop with a
shiny new copy of Fedora 13. There are really two ways you can begin
to correct or characterize your devices. Devices in this sense mean
input devices like cameras and scanners, display devices like monitors
and projectors, and hard-copy output devices like printers. You can
either use the manufacturer ICC profiles (usually available from the
OEM vendor website, although you might have to unzip a few 'driver'
files to find them) which are normally fairly good. I say fairly good
as they are obviously the average of a few devices taken from the
production line some time in the past. They are probably better than
nothing, but if you're getting paid for your artwork, a control freak
or a color nazi you possibly want to generate your own profiles. Doing
the latter means you have to buy some specialist equipment ($50 for
just a display device like the Pantone Huey, or $300 for a
printer/projector/display device like the ColorMunki) and then use
gnome-color-manager to generate a profile for your device. If you want
to profile input devices you also need to buy a color target which is
basically a specially printed piece of card which has known color
properties. These are usually only a few Euro and are available from a
few different places online.

So, all of this sounds very complicated. What does this actually mean
for a photographer with a few quid spare, and a bit of time on their
hands?

You buy some calibration hardware, for instance, I find the ColorMunki is a really great product and is supported in Linux.

You buy an IT8 target from someone like Wolf Faust, who sells targets individually, rather than in batches of a few thousand.

You take a picture of the target with your digital camera.

You connect your camera to the computer and generate a camera profile from the image.

You scan an image of the target on your scanner

You create a profile of your scanner from the resulting image

You connect the calibrator to the screen and create a profile of the screen

You print out a few calibration sheets from your printer

You measure the patches using the ColorMunki and create a profile

Of course, you don't have to profile /all/ of your devices, but if you
do all the input, display and output devices you get something called
a color-managed-end-to-end-workflow, which is the digital nirvana that
the clever people at places like Pixar try to achieve. GNOME Color
Manager tries to make this all as easy as possible with lots of
pictures and wizard type dialogs. For most people just assigning the
manufacturer supplied display profile (without all this expensive
hardware) can make a huge difference.

If you're a professional designer working without color management, so
far you've been really lucky. If I send you a photograph that looks
great on my uncalibrated IBM T61 screen, and you show it to your boss
on a projector, you're going to see a very different image to what I
see. If I correct the blue color cast in GIMP before I send it to you
(as most IBM screens are quite bluey) it's going to look very yellowy
for other people if you upload it to sites like flickr.

By working on calibrated equipment, and ensuring all the images are
tagged with the correct color spaces and with the correct device
profiles you can be sure that the image you're sending to your friend
(who is also color managed) looks pretty much the same it does for
you. You've got to be a bit more careful when uploading photos to
sites like flickr, as a great proportion of people on the internet do
not calibrate devices. Of course this sounds very technical, but we're
making sure programs like simple-scan just use the correct profile and
embed it in the file automatically so most users are not aware of
what's happening. Things just work better.

Tell me a bit about the community aspects of this project - both within Fedora and outside of Fedora. Where is the demand for Color Management coming from, and who are the other people working on this project? Do you work closely with any other projects?

Well, I started the project as most projects do: scratching an itch.
Things didn't work for me, and I figured they didn't work for other
people either. Red Hat have been great, and I've spent quite a lot of
"work time" getting the community up and running, and getting a few
releases out of the door. I guess color management is just another
(albeit small) cog needed in a modern desktop, and I guess Red Hat
realized that. The other communities like Ubuntu have done great
things getting the code out to people, but it's really be championed
inside Fedora, as we could pull in changes from upsteam projects much
quicker. For instance, you need a pretty new GTK to be able to embed
ICC profiles in images, and Fedora is always pretty keen to push new
upstream code much earlier than some other distros.

Most of the code is written my myself, but quite a few members of the
community contribute fixes and small feature enhancements. I'm also no
artist so a lot of the artwork, icons and figures have been
contributed by the community. The help file in particular is coming on
nicely, and is mostly made up from contributors. The latter is
important as color management is such a complicated subject, with lots
of scope for confusion.

GNOME Color Manager, like much of my other GUI software, is really
only the cherry on top of the cake. The real work comes from working
with other frameworks like lcms, GTK and using other standards like
the ICC profile in X specification. By using open DBus API's and
supporting more legacy protocols we can make applications like GIMP
and Inkscape "just work" with this fancy new color management thing.
So, when standardizing ways to do things, we have to work with a lot
of other people. This week I was meant to be at LGM discussing this
with other CM geeks, but an exploding volcano scuppered that plan some
time ago.

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 environment?

Sure, we did a color management test day which went pretty well. I'm
always updating the version in Fedora rawhide (sometimes even just git
snapshots), and the people there are always pretty quick reporting
regressions, bugs or just features that would make their lives a
little easier. The turnaround time can be pretty small when people
report a bug and I can upload new versions the next day.

What are your future development plans and/or roadmap?

Well, I really want to support devices that can measure spot-colors.
This allows you to use a device such as a ColorMunki to measure a
color patch, and then to use it. It's used all the time by designers
who want the use the same color on a mug design as they see in a
printed magazine. It allows people to get matching colors in websites,
printed items and even lets you order bazaar things like custom
leather sofas in exactly the same color as your lipstick.

I also want to be able to assign multiple profiles for each device.
Whilst this makes no sense for display devices, for things like
cameras you might want a "studio" profile and an "outdoor" profile.
Similarly you might want a printer profile for "El cheapo own brand
paper" and "£1 per sheet coated photo paper" as the two profiles are
going to be very different. The DBus interface already supports this
multiple-profile scheme, although there's no UI to set such a thing.
Yet.

Where can we find out more information about Color Management? Is there a community page, a place to file bugs, or better yet - report that things work great?

Well, for Fedora, there's
http://fedoraproject.org/wiki/Features/ColorManagement although you're
probably better off subscribing to the upstream mailing list
http://mail.gnome.org/mailman/listinfo/gnome-color-manager-list if
you're interested in this kind of thing. We're a pretty friendly bunch
and we're always looking out for new people to contribute features,
fix bugs and improve the spelling and grammar in the documentation. I
think it's important we look at color management as an upstream thing,
which Fedora is focused on, rather than a Fedora feature that is
shoehorned into an upstream project like other distributions have
tried to do with other unrelated projects.

I'm talking about color management at GUADEC this year, so if you're
there, come grab me and we can talk over a beer.