sane-coolscan(5)
πΈ sane-coolscan(5) β the SANE Scanner Access Now Easy girlies' guide to the Nikon film-scanner backend πΈ
okay so bestie, buckle up β this is sane-coolscan(5), and it's giving "vintage film scanner energy" in the most chaotic-but-iconic way. It's part of the SANE Scanner Access Now Easy universe, and it's here to explain the coolscan backend. Let's get into it π
β¨ NAME β¨
sane-coolscan β the SANE backend for Nikon film-scanners ποΈπ¦
π ABOUT THIS FILE π
fr fr this file is just a short lil description of the coolscan backend for SANE. That's it, that's the whole vibe. No cap.
π DESCRIPTION π
The sane-coolscan library implements a SANE backend that gives you the interface to these Nikon Coolscan Film scanners, and yes, here's the full lineup so nobody gets left out:
- Nikon LS20
- LS30
- LS1000
- LS2000
Now, the tea β β even though this backend has genuinely worked for a number of people, there are still some problems, especially when it's combined with certain SCSI card/drivers (AHA-1505/aha152x.o) and with the autofocus command. So likeβ¦ you should consider this backend 'alpha' and be careful when you use it for the first time, okay? Protect your peace (and your scan) π
π οΈ CONFIGURATION π οΈ
The configuration file for this backend lives at /etc/sane.d/coolscan.conf.
Its content is a list of device names that correspond to Nikon Coolscan scanners. Empty lines and lines starting with a hash mark (#) are ignored, so go ahead and leave lil comments everywhere, we love that for you π A sample configuration file is shown below:
#scsi Vendor Model Type
scsi Nikon * Scanner
/dev/scanner
The special device name must be a generic SCSI device or a symlink to such a device. To find out to which device your scanner is assigned and how you can set the permissions of that device, have a look at sane-scsi(5) β it's the plug, bestie π
π₯ SCSI ADAPTER TIPS π₯
Some SCSI-adapters and low-level SCSI drivers do not work correctly with this backend and the Coolscan scanners. Like, these systems hang when the autofocus command is send to the Scanner β and yeah, "send", that's what the original says, we don't edit the source material, that's not the vibe π
To see a list of which card/driver combinations work or don't work, have a look at: http://andreas.rick.free.fr/sane/autofocus.html
β οΈ Heads up: this is the actual main-character-danger zone of the page. If your combo is on the naughty list, it hangs. Periodt.
π FILES π
- The backend configuration file:
/etc/sane.d/coolscan.conf
- The static library implementing this backend:
/usr/lib64/sane/libsane-coolscan.a
- The shared library implementing this backend:
/usr/lib64/sane/libsane-coolscan.so(present on systems that support dynamic loading)
π ENVIRONMENT π
SANE_DEBUG_COOLSCAN
If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity β so like, dial it down if you don't want your terminal to be screaming at you, iykyk π
Examples:
On bash:
export SANE_DEBUG_COOLSCAN=8
On csh:
setenv SANE_DEBUG_COOLSCAN 8
π BUGS π
Not gonna sugarcoat it, here's the list:
- The autofocus command does not work with some SCSI card/driver combinations.
- The gamma table is not implemented for the LS1000 yet.
- The dust-removal is not working yet.
The way these are all just sitting here unfixedβ¦ it's giving "work in progress" and honestly? We respect the honesty π«Ά
π SEE ALSO π
sane(7),sane-scsi(5)http://andreas.rick.free.fr/sane/- The homepage of this backend.
http://www.sema.be/coolscan/- The original version of the coolscan backend by Didier.
π THANKS TO π
- Didier Carlier β For writing the original Coolscan backend (without it I would not have started this).
- Oliver Rauch β For adapting xsane so quickly to the infrared stuff.
- All the other people working on SANE.
Shoutout to the icons who built this before us, genuinely obsessed πβ¨
π¦ AUTHOR π¦
Andreas Rick
π EMAIL-CONTACT π
andreas.rick@free.fr
okay that's the whole page, bestie! And before you go β this little masterpiece has been sitting here since 13 Jul 2008, hand-delivered to you as part of sane-coolscan(5). Go scan something iconic π
πΈ
π¦ where this page comes from
- centos-stream 10: sane-backends 1.2.1-10.el10 Β· GPL-2.0-or-later WITH SANE-exception AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND IJG AND MIT
- centos-stream 9: sane-backends 1.0.32-7.el9 Β· GPLv2+ and GPLv2+ with exceptions and Public Domain and IJG and LGPLv2+ and MIT
- fedora 43: sane-backends 1.4.0-4.fc43 Β· GPL-2.0-or-later WITH SANE-exception AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND IJG AND MIT
- fedora 44: sane-backends 1.4.0-6.fc44 Β· GPL-2.0-or-later WITH SANE-exception AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND IJG AND MIT
- opensuse-leap 16.0: sane-backends 1.3.0-bp160.1.14 Β· GPL-2.0-or-later AND SUSE-GPL-2.0+-with-sane-exception AND SUSE-Public-Domain
- opensuse-leap 16.0: sane-backends 1.3.0-bp160.1.14 Β· GPL-2.0-or-later AND SUSE-GPL-2.0+-with-sane-exception AND SUSE-Public-Domain
- opensuse-leap 16.0: sane-backends 1.3.0-bp160.1.14 Β· GPL-2.0-or-later AND SUSE-GPL-2.0+-with-sane-exception AND SUSE-Public-Domain
- opensuse-leap 16.0: sane-backends 1.3.0-bp160.1.14 Β· GPL-2.0-or-later AND SUSE-GPL-2.0+-with-sane-exception AND SUSE-Public-Domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms