We'll have Fusion reactors before solid and enjoyable printers.
People just don't seem to realise that moving parts are hard. Phones are incredibly complex but (mostly) just keep working until you drop them on a hard floor. Cars have lots of moving parts and need maintenance. Screens use complicated technology and (mostly) just keep working. Printers have moving parts and break a lot. Moving parts are inherently unreliable. We've just got really used to the incredible reliability…
For some reason we take more care when building mechanical devices, because we can observe and measure the complexities and wear and tear of use.
Software on the other hand, with firmware being a variant of software, can apparently neither be properly observed nor tested.