RICOH Geljet original Linux RPCS printer drivers (Aficio, IPSiO and similar SG brands)

A couple of days ago I received my Ricoh Geljet printer, an Aficio SG 3110DN. When I tried the drivers from OpenPrinting and Gutenprint I was quite disappointed. These drivers support only 600 x 600 dpi (instead of 3600 x 1200) and the Gutenprint driver has no colour printing option, thus only greyscale. On the Ricoh website for my region I found only drivers for Windows and MacOS. How disappointing :frowning:

BUT: There is a solution!

The original RPCS driver
If you want to achieve the best results on a Ricoh Geljet, you need a driver using Ricoh’s page description language RPCS (Refined Printing Command Stream), which is able to raster your print jobs as RPCR, the Ricoh raster format, and send it to your printer. Unfortunately, RPCS and RPCR are not openly documented, which makes it hard to implement an open driver. As stated above, the (western) Ricoh websites offer only RPCS drivers for Windows and MacOS, but that does not mean, that the driver for Linux does not exist. It’s just “hidden” on the Japanese website.

Download the driver
Use the following direct download links:

The file you downloaded is in the *.deb format. If you are on a Debian based system, you can install it right away. If you have an RPM-based system, please find a tutorial for conversion here.
On any other Linux system using CUPS, the following method should work:
Just unzip the *.deb-file. Then you will find an archive called ‘data.tar.xz’. Then unzip the ‘data.tar.xz’, which contains the actual driver files:

Driver files                                | What's that?
./usr/lib/cups/filter/commandtorpcr         | An ELF (Linux) binary
./usr/lib/cups/filter/rastertorpcr2h30      | Another Linux  binary
./usr/share/doc/ipsiosg/changelog.Debian.gz | Obvious
./usr/share/doc/ipsiosg/copyright           |
./usr/share/doc/ipsiosg/LICENSE.txt         |
./usr/share/doc/ipsiosg/README.txt          |
./usr/share/ppd/ricoh/ri6161d3.ppd.gz       | PPD for IPSiO SG 3100
./usr/share/ppd/ricoh/ri6162d3.ppd.gz       | PPD for IPSiO SG 2010L
./usr/share/ppd/ricoh/ri6163d3.ppd.gz       | PPD for IPSiO SG 2100
./usr/share/ppd/ricoh/ri6171d3.ppd.gz       | PPD for IPSiO SG 3100SF
./usr/share/ppd/ricoh/ri6181d3.ppd.gz       | PPD for IPSiO SG 7100
./usr/share/ppd/ricoh/ri6191d3.ppd.gz       | PPD for SG 3120SF
./usr/share/ppd/ricoh/ri6201d3.ppd.gz       | PPD for SG 3120B SF
./usr/share/ppd/ricoh/ri6211d3.ppd.gz       | PPD for SG 3100KE
./usr/share/ricoh/rpcr/RC03C170.dat         | Some data files
./usr/share/ricoh/rpcr/RCMPC05C050.Dat      |
./usr/share/ricoh/rpcr/RCSPC03C050.Dat      |

In order to install the driver, copy the files to the corresponding folders in your root directory ‘/’ with sudo.

Congratulations! Now you can choose from the following drivers in CUPS:

  • IPSiO SG 3100
  • IPSiO SG 2010L
  • IPSiO SG 2100
  • IPSiO SG 3100SF
  • IPSiO SG 7100
  • SG 3120SF
  • SG 3120B SF
  • SG 3100KE

Although they are called IPSiO, they will also work with the Aficio branded printers, e.g. the Aficio SG 3110DN.

But we can do better:

Other RICOH Geljets with RPCS
Even if the drivers installed would now suffice, I couldn’t accept the imperfection of using a driver with the wrong name (IPSiO SG 3100 instead of Aficio SG 3110DN), that wouldn’t be autodetected when configuring my printer. All we have to do to change that, is to create additional PPDs.

I used the PPDs from the Mac OS driver for the Aficio brand to get the right names and the PPDs from the Linux driver for the IPSiO brand for the rest. I made also a list of equivalent PPDs:

PPD Filename  Printer Name    | PDD Filename  Printer Name
------------  --------------- | ------------  ------------------
RI6161D3.PPD  IPSiO SG 3100   | RI6161E3.PPD  Aficio SG 3110DN
RI6162D3.PPD  IPSiO SG 2010L  | RI6162E3.PPD  Aficio SG 3110DNw
RI6163D3.PPD  IPSiO SG 2100   | RI6163E3.PPD  Aficio SG 2100N
RI6171D3.PPD  IPSiO SG 3100SF | RI6171E3.PPD  Aficio SG 3100SNw
************  *************** | RI6172E3.PPD  Aficio SG 3110SFNw
RI6181D3.PPD  IPSiO SG 7100   | RI6181E3.PPD  Aficio SG 7100DN
RI6191D3.PPD  SG 3120SF       | ************  ******************
RI6201D3.PPD  SG 3120B SF     |	RI6201E3.PPD  SG 3120B SFNw
RI6211D3.PPD  SG 3100KE	      | ************  ******************

From these files I generated the following PPDs for Linux:

The files are packed with gzip -9. In order to install them, just download and copy them to /usr/share/ppd/ricoh as they are, without unzipping them.

In order to save ink and to achieve a good result, I set the following items as default:

Print Mode:    Plain paper-High quality
Color Mode:    Economy Color
Dithering:     Use error diffusion
Color profile: Gradation

If you need a PPD for another Geljet printer, please don’t hesitate to ask, maybe I can create it.


thanks for the great work @xanadu! Now if you could make an AUR package out of this, that would be awesome:)
Currently there’s only openprinting-ppds-postscript-ricoh which does not cover all printers iirc.

Hi, I came across your forum while looking for help with a ppd file for a Ricoh printer. The item from Xanadu seems to be closed as I do not seem able to post a reply. Post was dated 17th March regarding “RICOH Geljet original Linux RPCS printer drivers (Aficio, IPSiO and similar SG brands)”. I would like to ask Xanadu, or any other members of this forum, if it is possible to add a Colour profile ICC file to the ppd: ri6161e3_eco.ppd.gz for Aficio SG3110DN gel jet printer?
Thank you in advance for any help/advice.

1 Like

Forum kindly sponsored by