Gnome Scan 0.5.93

February 27, 2008


I’m very pleased to announce the availability of Gnome Scan 0.5.93. It’s a very good release, it’s not 0.6 only because i want to wait until hard code freeze in order to get more translation, and feedback. This annoucement include 0.5.92 version which was released monday.

  • Clean preview handling allowing to use hardware capability
  • Manual page orientation handling
  • Use 75.dpi as hardcoded resolution, this is more common accross backend.
  • Accurate preview area ROI selection using real rather than integer.
  • Fixed preview acquisition progress bar not shown (regression).
  • Fix lots of ref/unref leaks both GeglBuffer and widgets
  • Automatic per app option saving in GConf
  • Automatic color enhancement.
  • Use a waiting cursor if probing in background.
  • Dropped buggy printing in flegita.
  • About dialog is back.
  • Depends on GEGL 0.0.16 (this won’t change until 0.7.1).
  • Reworked and completed documentation, needs some tutorial, but API is not stable enough for that.

Without color enhancement



With color enhancement enabled

As you can see, there is tons of bug fixes, 0.5.9X are really beta version, even if the API and internal code are meant to change in the future, i wanted to get a stable version enough for production. Please test it and translate it ! đŸ˜€

SVN has new tooltip API and minor changes. I plan only to document that all, fill bugs for next version and plan the future. 0.6 will be in time for Gnome 2.22 đŸ™‚


r500 : Settings saved in GConf

February 24, 2008


Gnome Scan hit revision 500 with a brand new feature : automatic per app settings saving in GConf. To get this properly done, i had to hunt ref/unref bug (r499). This mean that gnome-scan is cleaner while having one more feature.

Options are stored as /apps/gnome-scan/%app%/%option% . I’m wondering which key would be better. If ever you have an idea, check out the discussion at desktop-devel-list and post your answer. I may write schemas to gconf, but that’s pretty useless. I could also use this feature to store window size and position, and add further behaviour that need to be disablable like a popup notifying user to remove their sheet back from the flatbed scanner, etc.

I hope to provide 0.5.92 tomorow along Gnome 2.21.92.


The awakening

February 21, 2008

Hi everyone,

I promised you 0.6 for march. It’s going bad for that. 0.5.4 got few feedbacks. I have bug reports by private mail or as comment on the blog which really is noisy rather than useful. Since Fall 2007, i work on websites and Linux PPC hacking. This left Gnome Scan outside the tracks.

Once the website is up and running, i need to scan tons of photos to fill old albums. So, now i need to get Gnome Scan usable to mass scaning. Today, i updated Anjuta, GtkSourceView and Gegl, checked out latest Gnome Scan translation and fixed a couple of bugs. En vrac :

  • Use 75. dpi as hardcoded preview resolution. Since most hardware can’t scan below. This is a temp solution before actually getting the least available resolution from the scanner (SANE doesn’t simplify things)
  • Handle page-orientation, origin and paper size options in the right order. This lead to much more consistency between preview and result.
  • Fixed a bug in Gegl due to new chanting API migration.
  • Manual area also define page orientation. It’s actually a free selection.
  • Show preview acquisition progress bar, again.
  • Last, but not least : add a common “enhence color” processing step you can simply disable in “Processing” tab.

Sadly, there’s a bug so that colors are actually enhanced only in the preview window ! Here is the result, no enhancement at all :

The preview image is clearly enhanced, magically. Thanks to Gegl operation “stress”, available in the workshop. I wish to publish 0.5.6 soon with updated Gegl (including workshop ops).


SANE design

January 23, 2008


One anonymous comment worries about SANE 1.0.19 support by Gnome Scan. Well, i don’t have to do anything to support this bugfix release, please ask smart question to the right people, for instance your distribution.

However, i’m very concerned about SANE future. SANE is about to plan a 1.2 release including updated well-known options, additionnal frame type and other minor changes to the standard itself, without breaking compatibility. That’s an amazing news to see things moving around in SANE project. However, this mean also that SANE 2 won’t land before a while.

I’m very concerned by SANE due to its by-design mistakes. Nothing to be shame on, but this lead me to join the last comment about the drop of gnome-scan splash in 0.5 serie (Promised, i’ll add a waiting cursor while probing). Something i’m very sad about is that SANE 2 won’t change this. SANE 2 will not be the opportunity to fix design mistakes, but only to break the API in order to complete the design. SANE 2 is planned to be what SANE 1 should have been. SANE is still designed with only the backend point of view in mind, not the frontend. SANE should take both in account.

A good thing about SANE is the fact it’s in user space. No more kernel module. Just like printers, camera and some other devices. This is better for maintainability and stability. So kernel does not load some .ko. Now, it’s up to the frontend to load some .so (listed in /etc/sane.d/dll.conf and /etc/sane.d/dll.d on debian system). This design completely break hotplug : the frontend will never be launched before the driver. Even worse, the detection itself is done in frontend side. Frontend will never be launched after the device is recognized as a scanner. So, first problem is : no hotplug, by design. There have been some contorsion to plug this mistake, but that always failed.

Do you know why probing is so long ? Because each driver is loaded, and each driver walk all the device tree searching for known device. That’s quite crazy ! The more you have USB port, the longer the probe will take. Another problem steming from this design : no sensor/button handling is possible. You will never have a decent support for having the « push scan button on your device, click ok », or « insert paper, click ok » workflow. Your frontend won’t be launched on sensor/button event : the frontend itself must be launched before polling device registers. Actually, SANE standard doesn’t even talk about sensor, button or event. It’es completely up to the driver to design this. In SANE standard, a button is a feature of the scanner you can trigger by software (e.g. calibration).

I have some idea about what we need. Based on the work both in term of design and code, i started thinking of SANE 10 (or whatever). The idea is to use an architecture similar to Hurd servers, FUSE driver or HAL addon : the driver is standalone programm running in it’s own process, launched by HAL upon plug. The driver use a common backend library to expose a service through DBus/Avahi/Socket/whatever. Service will include procedure for scanning, but also signal for events, function for sharing, etc. The backend library will contains all common op for driver plus some helper. On the other side, a frontend library will allow frontends to talks to driver through native function, hiding DBus/Socket/etc.. Hal will just run lm983x hal://org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_1 or hplip-sane hal://org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_1, depending on some .fdi files shiped by the project.

I wish this word about SANE will clarify how gnome-scan interact with SANE but don’t trigger flames from anyone.


Finally 0.5.4 with rotation

January 15, 2008


After holidays and slow work, if finaly release 0.5.4 including processing infrastruture and rotation. There is other enhancement and bug fixes detailed in the NEWS file. This release is in sync with GEGL r1840. GEGL might provide a 0.0.16 release for march, i wish Gnome Scan 0.6 will arrive sync in march.

Thanks to Gnome wonderful admins, i now have access to Gnome FTP. install-module is a pretty handy tool ! So now, the download site is You’ll find tarballs in Packages are already uploaded to my PPA.

Please report test it and report bugs. I know this release has some bugs and i wish to get it stable for march. I want to add PDF output and that should be ok for 0.6. The rest will be bug fixes. I prefer to reject features for 0.8 (more processing, etc.). I might update AbiScan for use with 0.6 and latest ocropus, but nothing sure.



So, the past few days, i worked to get my iMac G5 iSight to work properly. I wrote a linux windfarm platform driver (thanks to Benjamin Herrenschmidt for mentoring), i ported iSight driver and produces iSight firmware tools. I also helped Alex Deuscher to add support for X600 Pro in radeon.

I commited some fixes and added processing infrastructure and preliminary rotation. Gegl is so helpful. flegita-gimp is now useable (requires latest Gegl SVN). I’m uploading babl 0.0.16 and Gegl 0.0.15 to my PPA. I have to fix some bugs and add rotation button in preview area. I’m not that happy with the relation between UI and core; between params and widgets. It’s not smart enough. I my have to restructure a bit that part to get things right for march. I should add print or at least PDF output support and then debug for march. I have a huge collection of photo to scan, this mean i’ll need a rocking software to get things done without headaches. This will help me debugging behaviour and provide a well designed software. Hope so.

Hacking on linux helps me to dream of a SANE 1 successor. Whatever it’s SANE 2 or another project in freedesktop. The goal would be to provide consistent but extensible drivers, sensor and hotplug smoothness. This could be done nicely providing a library for writing driver. Drivers will be standalone apps that must be launched for each device detected. Those driver will feed HAL, publish through DBus/mDNS/UPnP, etc. transparently through the library. Provides also an external library to query drivers (through DBus/mDNS/UPnP). Once udev/whatever launch the driver, it uses uevent to handle sensor. The hotplug is handled by udev/HAL/whatever. I need to investigate this deeper. I’ll begin some work on that after gnome-scan 0.6 since i’ll have to write a driver for my business card reader.

So, i have work for the next year : Gnome OCR, SANE replacement and all that back in Gnome Scan ! Thanks to gnome-scan 0.5 module support, this will be so easy to add another backend đŸ™‚



That’s bad news, but i’m busy on other projects. I wrote cifrado, a french scouting software. Then i developped the website of my scouting group : Finally, i’m developping Linux PowerMac 12,1 windfarm driver. I own an iMac G5 rev C for two years and Linux still does not run smoothly on it. I should have finished this driver for chrismas.

Gnome Scan is not that far from 0.6. It needs some refactorization of area plugin in order to watch other options, then a better handling of orientation and then processing with rotation. Contribution are very welcome. I’m glad to leave PHP and redevelop in C for Linux, this will help dive into Gnome Scan development. I wish i could have written Gnome Scan using Vala. I promised i will use Vala for libgnocr.


Hi everyone,

For a few days, i’ve been working on packaging properly babl, gegl and gnome-scan for the new PPA launchpad service. Finally, i got a good packaging and a usable version of Gnome Scan. So no packages for 0.5.2, i provide latest SVN version ! Here you are :

  • deb gutsy universe
  • deb-src gutsy universe
  • Update: For debian unstable i386 : deb ./

Thanks to PPA, packages are available for amd64 too. No powerpc (yet ?) nor GPG signed archive (obviously). Along with the availibility of my PPA, i will remove my archive at . Philip Sadleder still provide a repos for debian based on my own debianization. Thanks Philip !

PPA is just an anti-chambre to universe. I really want to see gnome-scan 0.6 in Hardy for several reasons including :

  • Hardy will be a LTS, so having a decent gnome-scan version is important.
  • There is a blueprint spec “make-xsane-user-friendly“.
  • Since Gnome Scan now follow Gnome Schedule, it will provide 0.6 in time before upstream version freeze.

Also, i wish other distro will update or include gnome-scan. Foresight still provide an outdate version of Gnome Scan (IIRC 0.3.1), i had no news about Fedora (just saw some 0.4 package in Extras), etc.

Anyway, go test it and report bugs ! đŸ˜€

Update: beware, flegita-gimp is known to provoke heavy memleaks if you acquire (preview works).

Cheers !

Delaying Gnome Scan 0.6

September 25, 2007

Hi everyone,

With the availability of 2.20, i took the time to consider Gnome Scan inclusion into Gnome. My main concern about that is that Gegl is unstable, both API and behaviour. I decided not to propose Gnome Scan for inclusion. I rather decided to follow Gnome timeline. This mean that 0.6 won’t land for Christmas, but rather for February/March 2008. Thus, i will implement a bit more feature than planned like options saving/restoring.

There is some good news in gnome-scan development for the past few days. I solved some bugs and reworked the processing mecanism. Now Gnome Scan build a unique Gegl pipeline an launch it. To achieve this goal, i commited a new Gegl operation : “convert-format” and fixed some other bugs in “save-buffer”. The next step is to design “processor” plugin to hook between scanner and sink.

I’m a very proud Gegl user and (tiny) contributor. This is the magic of libre software. Related project are not frozen, you can always contribute in order to these project more suitable for other projects :).

Expect some more news about Gnome Scan in the following days đŸ™‚


It’s time for a new release. So please welcome Gnome Scan 0.5.2 loosly codenamed « Ça ROCs » due to AbiScan dependency on this release đŸ™‚ . Amongst other changes, here are some highlights :

  • Preview area drawning and selection
  • Action framework in flegita (added [buggy] printing feature)
  • Revamped icon handling. Use “scanner” icon from icon naming spec.
  • Resurrected Gimp plugin.
  • Several API enhancements.
  • Some bugfixes.

I encourage you to test and report as much bug as possible. There is a lot of room for improvement and some area are still untouched (e.g. processing). In the near future, i plan to improve area handling and preview area (resize, move, etc). After that, i should take a stand and design proper processing model and implement it. I need to fix printing, but GtkPrint seems not that suitable if you dissociate dialog and printing. Needs further investigation. I hope to provide 0.5.3 for october.


Please hunt the bug !

Kind regards,