If you did not migrate your account yet, visit https://idp-portal-info.suse.com/
For the current Printing News see Portal:Printing
- 1 Deal with the major incompatible changes since CUPS 1.6
- 2 Full compliance with upstream Ghostscript
- 3 Parallel port printers do no longer work out of the box
- 4 HP devices not detected as usual
- 5 Various printout failures with CUPS default "RIPCache 8m"
- 6 Replacement of the cups-drivers package
- 7 Compliance with upstream CUPS
- 8 YaST printer module renewal
Deal with the major incompatible changes since CUPS 1.6
CUPS 1.6 and later versions have major incompatible changes compared to all CUPS versions up to 1.5.4.
In particular since CUPS 1.6 printing in the network does no longer work as it did up to CUPS 1.5.4, see SDB:CUPS in a Nutshell.
Furthermore since CUPS 1.6 several programs that are needed for print job processing (so called "filters" for printing) were dropped in CUPS and are now provided in the separated package "cups-filters".
Up to openSUSE 13.2 we provide CUPS version 1.5.4 so that there are no incompatible changes up to openSUSE 13.2.
For more detailed information what is going on see in the openSUSE Bugzilla the issue "CUPS >= 1.6 has major incompatible changes. Do not blindly upgrade to CUPS >= 1.6 on production systems!".
Full compliance with upstream Ghostscript
For background information see in the openSUSE Bugzilla the issue "Ghostscript: Package clean-up and upgrade to latest stable release" in particular see comment #36 therein.
Parallel port printers do no longer work out of the box
Since openSUSE 11.4 the kernel does no longer load the 'lp' kernel module unless asked specifically to do so. More precisely udev does no longer provide static /dev/ nodes. When /dev/lp0 is opened to send data via the parallel port the 'lp' kernel module is no longer loaded automatically so that no data can be sent. In the end since openSUSE 11.4 it is by default no longer possible to use the parallel port for a printer.
If you are using openSUSE 12.1 or later, install the "parallel-printer-support" package, which creates a static udev node for the parallel port. Its purpose is to load the "lp" kernel module automatically the first time data is sent to the parallel port. Should you not find the package by using
zypper install or YaST Software Management module, make sure that openSUSE 12.1 is up-to-date and the official openSUSE 12.1 Update repository is enabled (it should be by default).
On openSUSE 11.4, in order to install the "parallel-printer-support" package, you can get it from the "Printing" repository via direct download from http://download.opensuse.org/repositories/Printing During the One Click Install a YaST Installation dialog may show up which asks to subscribe to the "Printing" repository plus a check box whether or not to "remain subscribed to this repository". Make sure not to remain subscribed to the "Printing" repository otherwise you will get the newest development packages regarding printing installed onto your system which could mess up the printing functionality of your system, see the Printing repository description
HP devices not detected as usual
The CUPS command "lpinfo -v" (run it as root) or matching CUPS library calls to detect devices may no longer detect HP devices with HP's specific "hp:/..." connection but - if at all - only with the generic "usb:/..." connection. For plain printing both kind of connections should work but for anything else (e.g. device status via HP's "hp-toolbox", or scanning with a HP all-in-one device) the "hp:/..." connection must be used, see http://en.opensuse.org/YaST_Printer#Connection
The reason is that HP's backends "hp" and "hpfax" cannot run at the same time, see https://bugs.launchpad.net/hplip/+bug/741073
A workaround for HP devices without fax is to disable the hpfax backend with the following command (as root):
chmod a-x /usr/lib/cups/backend/hpfax
Various printout failures with CUPS default "RIPCache 8m"
By default CUPS has only 8 MB RIPCache, see "RIPCache" at http://www.cups.org/documentation.php/doc-1.4/ref-cupsd-conf.html
This default exits since a long time and did not cause any issue. But since some time more and more weird issues regarding printout failures happen which are related to this low default. The root cause is that recent versions of Ghostscript changed the internal banding API but the CUPS raster driver was not updated accordingly in Ghostscript.
For example there might be no printout at all because "/usr/lib/cups/filter/pstoraster failed" or there is broken printout like in the attachment 380232 in the openSUSE Bugzilla.
If printout failures actually depend on the low default RIPCache value, it helps to add in /etc/cups/cupsd.conf a line like
and restart the cupsd afterwards. Then the CUPS raster driver in Ghostscript gets more memory available so that rendering is done in full page mode and not in banding mode which avoids issues because of the changed banding API.
In some cases (probably only for color printing at high resolution with the Gutenprint driver) you may have to specify much more, e.g. 1GB with
of course provided you have at least 2GB main memory in your computer.
Links to openSUSE pages:
- CUPS software trouble report #3535: Increase RIPCache default for nowadays high-resolution printing on cups.org : Bugs & Features
- Ghostscript bug report 691499: CUPS Raster device has "Error: /undefined in --setpagedevice--" for some files only in banding mode on ghostscript.com : Bugzilla
Replacement of the cups-drivers package
Up to openSUSE 11.3 the cups-drivers package was a huge all-in-one package which contained several actually independent printer drivers and several sets of PPD files.
Since openSUSE 11.4 the following printer driver and PPD files packages are split from the cups-drivers package and the cups-drivers package itself is dropped:
- gutenprint: the Gutenprint driver and its matching PPDs
- splix: the SpliX driver and its matching PPDs
- m2300w: the m2300w driver and its matching PPDs
- OpenPrintingPPDs-ghostscript: PPDs for Ghostscript built-in drivers
- OpenPrintingPPDs-hpijs: PPDs for the HPIJS driver for non-HP printers
- OpenPrintingPPDs-postscript: PPDs for PostScript printers
Compliance with upstream CUPS
openSUSE 11.3 provides a major cleanup of CUPS. Almost all our own patches were dropped to enforce a reset to almost 100% compliance with upstream. The main change is that the "/usr/lib/cups/" directory is used on all platforms (in particular no longer "/usr/lib64/cups" on the 64-bit x86_64 platform). For background information see in the openSUSE Bugzilla the Comment #2 to bug 575544: "adapt other printing packages to work with upstream compliant cups-1.4 on 64 bit platform" which reads in particular:
Upstream CUPS installs executables (in particular backends and filters) into /usr/lib/ in any case which is the right place. Compare /usr/bin/ there is nothing like /usr/bin64/ because for executables special ...64 directories do not make sense. In contrast libraries like libcups.so and libcupsimage.so must be installed into /usr/lib/ and /usr/lib64/ ... A positive side effect of this clean-up is that then it works much better to install third-party printer drivers (which usually install only into /usr/lib/cups/)
YaST printer module renewal
Since openSUSE 11.1 the YaST printer module was made completely new, see Archive:YaST Printer redesign in particular the sections "Basic Design Ideas" and "Basic Implementation Principles" where the latter also talks about "Strict Compliance With CUPS".