My printer is a Canon PIXMA iP2770. While there is a driver available in CUPS, called Canon iP2700 series - CUPS+Gutenprint v5.3.3, however, this driver doesn’t have draft printing mode though.
The official Linux drivers are only available in 32-bit. I followed this tutorial to install the official Linux drivers. From 16.04 to 18.04, my printer worked with the Canon drivers thanks to the tutorial, I was able to enable draft mode printing, but in 20.04, the drivers became uninstallable due to dependency issues.
These are my attempts to install the dependencies of the official Canon drivers in 20.04:
Enabled 32-bit support:
sudo dpkg --add-architecture i386
sudo apt-get update
I downloaded the following dependencies:
multiarch-support_2.27-3ubuntu1.2_amd64.deb - http : / / security . ubuntu . com/ubuntu/pool/main/g/glibc/multiarch-support_2 . 27-3ubuntu1 . 2_amd64 . deb
multiarch-support_2.27-3ubuntu1.2_i386.deb - http : / / security . ubuntu . com/ubuntu/pool/main/g/glibc/multiarch-support_2 . 27-3ubuntu1 . 2_i386 . deb
libtiff4_3.9.7-2ubuntu1_i386.deb - http : / / old-releases . ubuntu . com/ubuntu/pool/universe/t/tiff3/libtiff4_3 . 9 . 7-2ubuntu1_i386 . deb
libpng12-0_1.2.54-1ubuntu1.1_i386.deb - https : / / packages . ubuntu . com/xenial/i386/libpng12-0/download
Tried to install libtiff4:
sudo gdebi libtiff4_3.9.7-2ubuntu1_i386.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
This package is uninstallable
Dependency is not satisfiable: multiarch-support
sudo gdebi multiarch-support_2.27-3ubuntu1.2_amd64.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
Transitional package to ensure multiarch compatibility
This is a transitional package used to ensure multiarch support is present
in ld.so before unpacking libraries to the multiarch directories. It can
be removed once nothing on the system depends on it.
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
Selecting previously unselected package multiarch-support.
(Reading database … 229736 files and directories currently installed.)
Preparing to unpack multiarch-support_2.27-3ubuntu1.2_amd64.deb …
Unpacking multiarch-support (2.27-3ubuntu1.2) …
Setting up multiarch-support (2.27-3ubuntu1.2) …
sudo gdebi libtiff4_3.9.7-2ubuntu1_i386.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
This package is uninstallable
Dependency is not satisfiable: multiarch-support
sudo gdebi multiarch-support_2.27-3ubuntu1.2_i386.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
Requires the installation of the following packages: gcc-10-base gcc-10-base:i386 libc6 libc6:i386 libcrypt1:i386 libgcc-s1 libgcc-s1:i386 libgomp1 libidn2-0:i386 libobjc4 libstdc++6 libunistring2:i386
Transitional package to ensure multiarch compatibility
This is a transitional package used to ensure multiarch support is present
in ld.so before unpacking libraries to the multiarch directories. It can
be removed once nothing on the system depends on it.
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
Get:1 http : / / archive . ubuntu . com/ubuntu focal-updates/main amd64 libc6 amd64 2 . 31-0ubuntu9 . 1 [2712 kB]
Get:2 http : / / security . ubuntu . com/ubuntu focal-security/universe amd64 libobjc4 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [42 . 8 kB]
Get:3 http : / / archive . ubuntu . com/ubuntu focal/main i386 libcrypt1 i386 1:4 . 4 . 10-10ubuntu4 [90 . 9 kB]
Get:4 http : / / archive . ubuntu . com/ubuntu focal-updates/main i386 libc6 i386 2 . 31-0ubuntu9 . 1 [2571 kB]
Get:5 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 gcc-10-base amd64 10 . 2 . 0-5ubuntu1~20 . 04 [19 . 7 kB]
Get:6 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libstdc++6 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [503 kB]
Get:7 http : / / archive . ubuntu . com/ubuntu focal/main i386 libunistring2 i386 0 . 9 . 10-2 [377 kB]
Get:8 http : / / archive . ubuntu . com/ubuntu focal/main i386 libidn2-0 i386 2 . 2 . 0-2 [51 . 4 kB]
Get:9 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libgomp1 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [102 kB]
Get:10 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libgcc-s1 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [41 . 6 kB]
Get:11 http : / / security . ubuntu . com/ubuntu focal-security/main i386 gcc-10-base i386 10 . 2 . 0-5ubuntu1~20 . 04 [19 . 7 kB]
Get:12 http : / / security . ubuntu . com/ubuntu focal-security/main i386 libgcc-s1 i386 10 . 2 . 0-5ubuntu1~20 . 04 [49 . 8 kB]
Fetched 6580 kB in 6s (317 kB/s)
Preconfiguring packages …
Preconfiguring packages …
(Reading database … 229739 files and directories currently installed.)
Preparing to unpack …/libobjc4_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libobjc4:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Preparing to unpack …/gcc-10-base_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking gcc-10-base:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Selecting previously unselected package gcc-10-base:i386.
Preparing to unpack …/gcc-10-base_10.2.0-5ubuntu1~20.04_i386.deb …
Unpacking gcc-10-base:i386 (10.2.0-5ubuntu1~20.04) …
Setting up gcc-10-base:amd64 (10.2.0-5ubuntu1~20.04) …
Setting up gcc-10-base:i386 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229740 files and directories currently installed.)
Preparing to unpack …/libstdc++6_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libstdc++6:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Setting up libstdc++6:amd64 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229740 files and directories currently installed.)
Preparing to unpack …/libgomp1_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libgomp1:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Preparing to unpack …/libgcc-s1_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libgcc-s1:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Selecting previously unselected package libgcc-s1:i386.
Preparing to unpack …/libgcc-s1_10.2.0-5ubuntu1~20.04_i386.deb …
Unpacking libgcc-s1:i386 (10.2.0-5ubuntu1~20.04) …
Setting up libgcc-s1:amd64 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229742 files and directories currently installed.)
Preparing to unpack …/libc6_2.31-0ubuntu9.1_amd64.deb …
Unpacking libc6:amd64 (2.31-0ubuntu9.1) over (2.31-0ubuntu9) …
Selecting previously unselected package libc6:i386.
Preparing to unpack …/libc6_2.31-0ubuntu9.1_i386.deb …
Unpacking libc6:i386 (2.31-0ubuntu9.1) …
Selecting previously unselected package libcrypt1:i386.
Preparing to unpack …/libcrypt1_1%3a4.4.10-10ubuntu4_i386.deb …
Unpacking libcrypt1:i386 (1:4.4.10-10ubuntu4) …
Setting up libc6:amd64 (2.31-0ubuntu9.1) …
Setting up libgcc-s1:i386 (10.2.0-5ubuntu1~20.04) …
Setting up libcrypt1:i386 (1:4.4.10-10ubuntu4) …
Setting up libc6:i386 (2.31-0ubuntu9.1) …
Selecting previously unselected package libunistring2:i386.
(Reading database … 230044 files and directories currently installed.)
Preparing to unpack …/libunistring2_0.9.10-2_i386.deb …
Unpacking libunistring2:i386 (0.9.10-2) …
Selecting previously unselected package libidn2-0:i386.
Preparing to unpack …/libidn2-0_2.2.0-2_i386.deb …
Unpacking libidn2-0:i386 (2.2.0-2) …
Setting up libunistring2:i386 (0.9.10-2) …
Setting up libobjc4:amd64 (10.2.0-5ubuntu1~20.04) …
Setting up libidn2-0:i386 (2.2.0-2) …
Setting up libgomp1:amd64 (10.2.0-5ubuntu1~20.04) …
Processing triggers for libc-bin (2.31-0ubuntu9) …
(Reading database … 230048 files and directories currently installed.)
Preparing to unpack multiarch-support_2.27-3ubuntu1.2_i386.deb …
Unpacking multiarch-support:i386 (2.27-3ubuntu1.2) over (2.27-3ubuntu1.2) …
Setting up multiarch-support:i386 (2.27-3ubuntu1.2) …
sudo gdebi libtiff4_3.9.7-2ubuntu1_i386.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
This package is uninstallable
Dependency is not satisfiable: multiarch-support
Tried to install libpng12:
sudo gdebi libpng12-0_1.2.54-1ubuntu1.1_i386.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading state information… Done
Requires the installation of the following packages: gcc-10-base gcc-10-base:i386 libc6 libc6:i386 libcrypt1:i386 libgcc-s1 libgcc-s1:i386 libgomp1 libidn2-0:i386 libobjc4 libstdc++6 libunistring2:i386 zlib1g zlib1g:i386
PNG library - runtime
libpng is a library implementing an interface for reading and writing
PNG (Portable Network Graphics) format files.
.
This package contains the runtime library files needed to run software
using libpng.
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
Get:1 http : / / archive . ubuntu . com/ubuntu focal-updates/main amd64 libc6 amd64 2 . 31-0ubuntu9 . 1 [2712 kB]
Get:2 http : / / security . ubuntu . com/ubuntu focal-security/universe amd64 libobjc4 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [42 . 8 kB]
Get:3 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 gcc-10-base amd64 10 . 2 . 0-5ubuntu1~20 . 04 [19 . 7 kB]
Get:4 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libstdc++6 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [503 kB]
Get:5 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libgomp1 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [102 kB]
Get:6 http : / / security . ubuntu . com/ubuntu focal-security/main amd64 libgcc-s1 amd64 10 . 2 . 0-5ubuntu1~20 . 04 [41 . 6 kB]
Get:7 http : / / security . ubuntu . com/ubuntu focal-security/main i386 gcc-10-base i386 10 . 2 . 0-5ubuntu1~20 . 04 [19 . 7 kB]
Get:8 http : / / security . ubuntu . com/ubuntu focal-security/main i386 libgcc-s1 i386 10 . 2 . 0-5ubuntu1~20 . 04 [49 . 8 kB]
Get:9 http : / / archive . ubuntu . com/ubuntu focal-updates/main amd64 zlib1g amd64 1:1 . 2 . 11 . dfsg-2ubuntu1 . 2 [53 . 6 kB]
Get:10 http : / / archive . ubuntu . com/ubuntu focal/main i386 libcrypt1 i386 1:4 . 4 . 10-10ubuntu4 [90 . 9 kB]
Get:11 http : / / archive . ubuntu . com/ubuntu focal-updates/main i386 libc6 i386 2 . 31-0ubuntu9 . 1 [2571 kB]
Get:12 http : / / archive . ubuntu . com/ubuntu focal-updates/main i386 zlib1g i386 1:1 . 2 . 11 . dfsg-2ubuntu1 . 2 [56 . 5 kB]
Get:13 http : / / archive . ubuntu . com/ubuntu focal/main i386 libunistring2 i386 0 . 9 . 10-2 [377 kB]
Get:14 http : / / archive . ubuntu . com/ubuntu focal/main i386 libidn2-0 i386 2 . 2 . 0-2 [51 . 4 kB]
Fetched 6690 kB in 6s (577 kB/s)
Preconfiguring packages …
Preconfiguring packages …
(Reading database … 229736 files and directories currently installed.)
Preparing to unpack …/libobjc4_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libobjc4:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Preparing to unpack …/gcc-10-base_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking gcc-10-base:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Selecting previously unselected package gcc-10-base:i386.
Preparing to unpack …/gcc-10-base_10.2.0-5ubuntu1~20.04_i386.deb …
Unpacking gcc-10-base:i386 (10.2.0-5ubuntu1~20.04) …
Setting up gcc-10-base:amd64 (10.2.0-5ubuntu1~20.04) …
Setting up gcc-10-base:i386 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229737 files and directories currently installed.)
Preparing to unpack …/libstdc++6_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libstdc++6:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Setting up libstdc++6:amd64 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229737 files and directories currently installed.)
Preparing to unpack …/libgomp1_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libgomp1:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Preparing to unpack …/libgcc-s1_10.2.0-5ubuntu1~20.04_amd64.deb …
Unpacking libgcc-s1:amd64 (10.2.0-5ubuntu1~20.04) over (10-20200411-0ubuntu1) …
Selecting previously unselected package libgcc-s1:i386.
Preparing to unpack …/libgcc-s1_10.2.0-5ubuntu1~20.04_i386.deb …
Unpacking libgcc-s1:i386 (10.2.0-5ubuntu1~20.04) …
Setting up libgcc-s1:amd64 (10.2.0-5ubuntu1~20.04) …
(Reading database … 229739 files and directories currently installed.)
Preparing to unpack …/libc6_2.31-0ubuntu9.1_amd64.deb …
Unpacking libc6:amd64 (2.31-0ubuntu9.1) over (2.31-0ubuntu9) …
Selecting previously unselected package libc6:i386.
Preparing to unpack …/libc6_2.31-0ubuntu9.1_i386.deb …
Unpacking libc6:i386 (2.31-0ubuntu9.1) …
Selecting previously unselected package libcrypt1:i386.
Preparing to unpack …/libcrypt1_1%3a4.4.10-10ubuntu4_i386.deb …
Unpacking libcrypt1:i386 (1:4.4.10-10ubuntu4) …
Setting up libc6:amd64 (2.31-0ubuntu9.1) …
Setting up libgcc-s1:i386 (10.2.0-5ubuntu1~20.04) …
Setting up libcrypt1:i386 (1:4.4.10-10ubuntu4) …
Setting up libc6:i386 (2.31-0ubuntu9.1) …
(Reading database … 230041 files and directories currently installed.)
Preparing to unpack …/zlib1g_1%3a1.2.11.dfsg-2ubuntu1.2_amd64.deb …
Unpacking zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.2) over (1:1.2.11.dfsg-2ubuntu1) …
Selecting previously unselected package zlib1g:i386.
Preparing to unpack …/zlib1g_1%3a1.2.11.dfsg-2ubuntu1.2_i386.deb …
Unpacking zlib1g:i386 (1:1.2.11.dfsg-2ubuntu1.2) …
Setting up zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.2) …
Setting up zlib1g:i386 (1:1.2.11.dfsg-2ubuntu1.2) …
Selecting previously unselected package libunistring2:i386.
(Reading database … 230043 files and directories currently installed.)
Preparing to unpack …/libunistring2_0.9.10-2_i386.deb …
Unpacking libunistring2:i386 (0.9.10-2) …
Selecting previously unselected package libidn2-0:i386.
Preparing to unpack …/libidn2-0_2.2.0-2_i386.deb …
Unpacking libidn2-0:i386 (2.2.0-2) …
Setting up libunistring2:i386 (0.9.10-2) …
Setting up libobjc4:amd64 (10.2.0-5ubuntu1~20.04) …
Setting up libidn2-0:i386 (2.2.0-2) …
Setting up libgomp1:amd64 (10.2.0-5ubuntu1~20.04) …
Processing triggers for libc-bin (2.31-0ubuntu9) …
Selecting previously unselected package libpng12-0:i386.
(Reading database … 230047 files and directories currently installed.)
Preparing to unpack libpng12-0_1.2.54-1ubuntu1.1_i386.deb …
Unpacking libpng12-0:i386 (1.2.54-1ubuntu1.1) …
dpkg: error processing archive libpng12-0_1.2.54-1ubuntu1.1_i386.deb (–install):
unable to install new version of ‘/lib/i386-linux-gnu/libpng12.so.0’: No such file or directory
Processing triggers for libc-bin (2.31-0ubuntu9) …
Errors were encountered while processing:
libpng12-0_1.2.54-1ubuntu1.1_i386.deb
This is as far as I got trying to install these dependencies and they failed.
My workaround at the moment is to use Virtualbox with Windows 2000 to print from my printer.
Would it be possible for Ubuntu devs to bring back the libraries necessary to install and run the official printer drivers from Canon?