Jobs go to CUPS as IPP; CUPS selects a filter (often described by a PPD) that turns the job into what the printer understands. On a modern Mac you usually do not write a kernel driver to print. You add an IPP/AirPrint queue or a userspace filter. When a vendor abandons a Windows-only blob, the fastest path is often a CUPS filter that already exists on Linux, not a from-scratch port.