i am using an ancient Epson LQ-500 dot matrix printer at my machine. Under Linux / BSD etc. via CUPS its no problem using the generic Epson 24-Pin driver, but as far as i can see this is not a printer category supported in Haiku.
Is there an option to install additional printer drivers?
FWIW, it seems CUPS uses ghostscript with device epson as output. So, if all else fails, you might be able to un-Haiku-ly print to PDF/ps file, run that through gs -sDEVICE=epson and dump the result to /dev/parallel/whatever or something like that.
Thank you for the tips, but sadly i had not much success. So… the dot matrix printer got moved to my Atari ST setup and my Haiku PC (that is my daily driver) got an Kyocera FS 1030 laser printer that is supported by gutenprint - and it works like a charm.
While Ghostscript have indeed 9/24 dot-matrix support, AFAIK it’s not the case in gutenprint by default, there is some hacks available faking a Postscript printer and relying ghostscript to achieve an ESC-P 9/24 dot matrix output, but my guess is it’s not present in the version of gutenprint which is included in Haiku.
Well, i mean, how many people are out there besides me using a dot matrix printer in 2026? Two? So i can completely understand that it is not included.
I must confess I didn’t even knew that people were actually expecting being able to print anything but plain text with such printers. Even with a 24 dots, the resolution must be very low, and the ratio resolution/noise very high
Most pharmacies in Ireland still give you your statutory receipt (for state subsidised schemes or to enable a future potential reclaim on these) on NCR paper, although the option to do it on plain paper became legal recently. Statutory prescriptions from doctors were usually done on them until 2020 too buy died out overnight with the pandemic and electronic transfer.
Oh, you would be surprised! I would put the Epson LQ-500 in the same ballpark with a medium quality laser printer when printing in graphical mode. Its really not bad… but on the noise part you are absolutely right, printing at night is a bad idea when you have neighbors
I added a PS Compatible printer connected to Print To File, printed to it, ran gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -dNOMEDIAATTRS -dNOINTERPOLATE -sDEVICE=epson -sOutputFile=page.epson page.ps and… Got a file. While I can’t send it to a printer, its contents do have commands that appear in the LQ-500 manual, it does:
Initialize Printer
Select 10 CPI
Set Left Margin to column 0
CR
Set Right Margin to column 84
a sequence of Select Graphics Mode 3 (quad density, 240 dpi) followed by data and some times line feeds or horizontal tabs for empty regions
Initialize Printer
There were times I used 9 pins to print electronic circuit board layouts for the company I worked for, scaled 2:1 output with very useable results for industrial boards even..
I had to admit, after my dabbling into finding an somehow compatible driver in the Gutenprint collection i threw the towel and switched to the Kyocera printer. Thank you for trying out the gs-route, i think i will follow your steps to try it out at the weekend if time permits.
Naively thinking that I might be able to write such a driver, I started having a look at tickets and the current ones. Turns out the PS driver has a wider scope than I thought, and it can work not only with printers that consume PS, but also with software that transforms PS in a way that a printer can use it.
When adding a printer, it will let you choose among PPD files installed under /boot/system/data/ppd/<MANUFACTURER>/some.ppd, if any. When using a PPD, it will run the PS through whatever is declared in the FoomaticRIPCommandLine property.
So install ghostscript_gpl if you haven’t already, download what I think is foomatic’s PPD and add a new PS Compatible printer.
There are some issues, though. That is an unwritable system path, so either you package the PPD to install it or you compile this patch. And when I tried it the spooler stays as if the print job does not finish, despite generating the exact same file as I did manually.
It might not be a bad idea to package foomatic PPDs, at least the ones that use ghostscript or other software we have ported.
And even in the unlikely case that you have a printer that you can’t find in Open Printing but know some software that can turn PS into something that your printer likes, you can easily start from a generic PPD and add a FoomaticRIPCommandLine to it to have a driver.