Hardware List: Compatible printers

To expand our hardware list, i would be interested to know which printers are supported/or not supported.

Of course, this only makes sense if you run Haiku directly on hardware.

Please provide the following information:

Manufacturer: for example HB
Model: for example B109b
Connection: for example USB
Haiku hrev number you use this on
Note: Information necessary for operation

Please don’t have any discussions about it here, only post hardware

Previous contribution


Canon MP 610
USB connection
Hrev… beta3, or some nightlies?
Driver: Gutenprint for MP 610

Note: Has to be setup explicitly with the gutenprint driver as usb printer, with selecting the model.
Note: All gutenprint driven usb printers are supported, this is just one example i can verify, perhaps linking to their list is a better idea.


I don´t think this really applies here. If you pass through your USB printer to the virtual machine or use a network connected printer it doesn`t make a difference if you are running Haiku directly on the hardware or in a VM.

I have no expierience with VM using, so i does not know if the VM emulate the driver for prining?

No, you just pass the raw USB device to the VM. The printer driver handling all happens in the guest OS, Haiku in this case. Same thing with networked printers.

1 Like

What @BlueSky wrote stands, but let me extend: you have to configure the USB passtrough in your virtualization software. It is not nevessarily a simple task (in case of qemu, for example).
Search for guides on the web with you preferred search engine using the “name-of-your-virtualization-software + usb + passthrough “

Thanks, but i only want to know that printer is running on haiku (or not)

1 Like

Is it really that bad with printers under haiku? Was hoping to archive a few more here.

But it is important to me that at the end the devices that are tested are listed and not those that should go.

nobody uses usb printers anymore…
what i said above holds true, basically all usb printers should work. I did not see any usb printer that didnt.

but: the config dialog is terrible and we font support network printing.

1 Like

My printer is not working. And i use them ofter. More at work but many times.

The list is not only for USB Printers.

I don’t know how current the Gutenprint port is, but that is what is under the printer support

It’s good that we have so many possible printers thanks to the Gutenprint driver, but in the end they haven’t been tested on haiku (well, no one has them all at home ;-)).

I think a real hardware list can only be good if what is included is functional.

What I find particularly interesting are network printers that are supported, since these are the ones that are used the most these days?

1 Like

Untill we have network discovery this is pretty moot, its almost impossible for end users to figure out the correct uri.


I checked about porting cups, which has probably the biggest number of printers supported (USB and network), but there are plenty of dependencies not yet available (libavahi, kerberos, etc…) and some are clearly out of my comptency (kerberos in particular) :frowning:

We don’t need cups, gutenprint already provides what we need for usb printers.
For airprint we basically need to implement mdns service discovery, and then use ipp printing. We now have working multicast so the next thing to work on is probably service discovery.

This ticket has the info on what to do quite detailed: https://dev.haiku-os.org/ticket/16318

1 Like

Haven’t there been cups under BeOS/Zeta in the past? Are the sources still available, even if only for old devices?

Manufacturer: Brother
Model: Brother HL - 1430
Haiku hrev number you use this on: 55860
Note: use PCL 5 compatibl
EDIT: Laserprinter


Manufacturer: HP
Model: Office Jet Pro 6970
Connection: USB Not working
Connection: Network over HP JET Direct (Work, but with errors, second printjob hangs, first was already done.

Haiku hrev number you use this on: 55843
Note: use Gutenprint

1 Like

Manufacturer: Canon
Model: Pixma iP 6700D
Haiku hrev number you use this on: 55823
Note: use Gutenprint


Not only we don’t need it, but also we don’t want it. Who thought “oh I will serve a web interface on localhost to configure printers” was a good idea? And “oh I will use HTTP authentication but provide no logout button, so if you log in with the wrong user account you can never do anything with cups anymore?”

Modern printers don’t need any specific drivers. Thanks to Apple AirPrint, where Apple said “the iPad will have no drivres, if you want your printer to work, you have to follow this protocol”. There is also the “IPP Anywhere” protocol that is very similar.

So we just have to implement a single driver for that. No need to port the whole CUPS stack. The first step is implementing Bonjour/mdns/avahi so we can discover printers on the network. This requires working multicast support, I’m not sure where we are with it exactly. Then it requires a mdns client, we could use avahi, but mDNSResponder from Apple looks a little easier to port. Then we need to see how to integrate this in our network stack, should it be integrated together with DNS/getaddrinfo, or as a separate API for example?

After that part is done, we need to adjust the printer preferences to use it to discover printers. And then there is a little more work in the driver itself to encode images in the right format, and also get some info from the printer (ink levels, etc). This is all done using REST APIs that are well standardized, so it should not be a lot of effort.