Sign inSign up

josh56432/lexmarkz33_ud

By josh56432

•Updated 12 months ago

Universal print server driver emulator for Lexmark Z33 inkjet printer, print server is recommended.

Image
0

411

josh56432/lexmarkz33_ud repository overview

⁠🖨️ Lexmark Z33 Universal Driver VM

Image: docker.io/josh56432/lexmarkz33_ud:latest⁠
Base: Alpine Linux + QEMU + Embedded Red Hat 8 VM


⁠📘 Overview

This container provides a self-contained environment for the Lexmark Z33 printer using an embedded Red Hat 8 virtual machine.
Because the Z33 driver depends on deprecated 32-bit Red Hat libraries, the setup uses QEMU to emulate a working RH8 environment automatically inside an Alpine container.

The image can run headless for print job forwarding or in VNC debug mode for graphical interaction. It is recommended to run this on a standalone print server


⁠🧩 Features

  • 🧠 Fully automated QEMU i386 VM startup inside a minimal Alpine base
  • ⚙️ Embedded Red Hat 8 guest with USB passthrough
  • 🖨️ Native Lexmark Z33 USB driver (/lexmarkz33-1.0-3.sh)
  • 🧾 Built-in banner and usage guide at startup
  • 🪟 Optional VNC interface on :5901 for GUI debugging
  • 🧰 Ready for systemd-based persistent operation

⁠🐋 Quick Start

You can pull and run directly — no build needed:

podman run --rm -it -p <port>:515 --privileged docker.io/josh56432/lexmarkz33_ud:latest &

or with Docker:

docker run --rm -it -p <port>:515 --privileged josh56432/lexmarkz33_ud:latest &

or with ghcr.io:

podman run --rm -it -p <port>:515 --privileged ghcr.io/josh56432/lexmarkz33_ud:latest &
docker run --rm -it -p <port>:515 --privileged ghcr.io/josh56432/lexmarkz33_ud:latest &

⁠▶️ Usage Modes

⁠🧩 Normal (Headless)
podman run --rm -it --privileged -p <port>:515 docker.io/josh56432/lexmarkz33_ud:latest &
⁠⚙️ Debug Mode

Boot the VM with VGA + VNC and execute
/lexmarkz33-1.0-3.sh as root:

podman run --rm -it --privileged -p 5901:5901 -p <port>:515 docker.io/josh56432/lexmarkz33_ud:latest &

Access via VNC:

vncviewer <IP>:5901

Login: root Then run:

startx

Then in xterm:

./lexmarkz33-1.0-3.sh or z32-z33lsc


⁠🧠 Persistent Operation (Podman Only)

Instead of writing a manual systemd service, use Podman’s native systemd integration:

  1. Generate a systemd unit for persistent operation:

    podman generate systemd --name lexmark-vm --files --new
    
  2. Move the generated service file into place:

    sudo mv container-lexmark-vm.service /etc/systemd/system/
    
  3. Enable and start automatically on boot:

    sudo systemctl enable --now container-lexmark-vm.service
    
  4. Verify it’s running:

    systemctl status container-lexmark-vm.service
    

This ensures the container runs in the background, restarts on failure, and stops cleanly with the system.


⁠🧠 Troubleshooting

  • Permission denied during save/build
    → Ensure writable directory or use sudo.
  • VNC not showing
    → Map port 5901 (-p 5901:5901) and ensure vga=normal.
  • USB passthrough fails
    → Verify the printer appears:
    lsusb | grep Lexmark
    Bus 001 Device 002: ID 043d:0021 Lexmark Z33 Printer
    

⁠☕ Credits

Lexmark Z33 Printer Universal Driver VM
by Josh (@josh56432)
Buy me a coffee ☕⁠

Tag summary

Content type

Image

Digest

sha256:da5466032…

Size

737.5 MB

Last updated

12 months ago

docker pull josh56432/lexmarkz33_ud