Install Printer Driver on Steam Deck (CUPS)

This script allows you to print from the steam deck to any local printer on your network. After installing, please open your browser with: http://localhost:631/admin there you can “Add Printer”, after that you can now easily print from your steam deck.

Thanks LittleJawa for the script! Edit: I fixed the Parameters (there were to much spaces) and added some files that need to be removed if you need to reinstall cups because of steam deck update.


sudo steamos-readonly disable

# Delete old files if persistent because you had cups prev. installed before
sudo rm /etc/cups/cups-files.conf.default
sudo rm /etc/cups/cupsd.conf.default
sudo rm /etc/cups/snmp.conf.default
sudo rm /etc/xdg/autostart/print-applet.desktop
sudo rm /etc/cupshelpers/preferreddrivers.xml

# initialize and populate pacman PGP keys
sudo pacman-key --init
sudo pacman-key --populate archlinux

# CUPS + KDE printer manager GUI
PACKAGES="cups print-manager system-config-printer"

# Auto-discovery via DNS
# https://wiki.archlinux.org/title/Avahi#Hostname_resolution
PACKAGES="$PACKAGES nss-mdns"

# WARNING: requires to update the /etc/nsswitch.conf file
# use the following:
# sed -i s/mymachines resolve/mymachines mdns_minimal
#[NOTFOUND=return] resolve/ /etc/nsswitch.conf

# Optionals (helpful)
# foomatic pre-built ppd drivers
PACKAGES="$PACKAGES foomatic-db-engine foomatic-db-ppds foomatic-db-nonfree-ppds"

# ghostscript for non-pdf printers
PACKAGES="$PACKAGES ghostscript"

# cups-filters for driverless printers
PACKAGES="$PACKAGES cups-filters"

sudo pacman -Sy $PACKAGES

sudo systemctl enable --now avahi-daemon
sudo systemctl enable --now cups

# re-lock the filesystem
sudo steamos-readonly enable
Source: Steam Forum

Categories:

Tags:

15 responses

  1. Julian Avatar

    This is absolutely big. Thank you a lot for it! I’m a firm believer that Valve should add printer services in future updates, but until then, I’ll use this 🙂

  2. Jeuris C Rodriguez Avatar
    Jeuris C Rodriguez

    Everything installed correctly, I just dont know what to do when it prompts for username and password. Is there a way to disable this ? Thank you in advance

    1. Which prompt? Have you set a password for the user “deck”? If not you can do this by opening a shell and type “passwd”. Or which user/password prompt are you refering to?

  3. Deejay Avatar
    Deejay

    When I select Add Printer local host:631 asks for username/Password.

    1. Nathan Avatar
      Nathan

      You will probably want to use “deck” as the username, and whatever you set for your sudo password

  4. I needed also to remove after the latest update
    /etc/cupshelpers/preferreddrivers.xml
    and added
    sudo rm /etc/cupshelpers/preferreddrivers.xml
    to the script

    1. Thanks I will add it to the script!

  5. JeFe_RoJo Avatar
    JeFe_RoJo

    Thank you very much, everything has been installed correctly.

    However, in my case, I have a canon MP495 connected by wifi to the network and the deck does not detect it.
    I understand that the driver is missing or is “too old to be supported”.

  6. Worked for me. The hard part was getting my Brother HL-L2340D working. USB connection did not work, no driver shown and none of the others I tried work. But WIFI connection did work, and CUPS found a driver for the printer:

    “HL-L2340D series – IPP Everywhere (grayscale, 2-sided printing)”

    It’s slow as sin to get, process, and print, but it works.

  7. anewark Avatar

    I print from my Deck to a CUPS print server I have. After running this script I could add the printer successfully, but when printing the job would not process on, showing the job as “Held for authentication”. To fix this, I had to run the two commands below to get it to work.

    cupsctl –share-printers –remote-any
    lpadmin -p printer -o printer-is-shared=true

    Source -> http://localhost:631/help/sharing.html?TOPIC=Getting+Started&QUERY=

    1. Thanks for sharing!

  8. RatherNotSay Avatar
    RatherNotSay

    Hay seems your providing alot of help on this so I was wondering if you would know why firefox keeps crashing after I go to print the document I want to print. I used the script, logged into the site, added my printer, rather flawlessly might I add, but I am kind of stumped. I’m going to try messing with the printer settings on the website to see if I can’t fix it but still wanna leave this here in-case someone else is having this issue.

  9. Vigsterkr Avatar
    Vigsterkr

    Jobs just show as stopped, I think this does not work for my samsung, how do I uninstall this completely?

    Thank you

  10. Hello
    Im lost on PPD files as I’m looking for one that works with a HP LaserJet M506. Best I can find is an all in one file from HP but when I try to download it asks for a distro. Most of the files come up with a .run file witch I have no idea how to use.
    Will someone help me.

    1. A run file is most likely just a bash script. You can verify this by opening it with Kate.

      Though, you can also install hp lip to cover most HP printers. Add it to the packages list, and you should be good.

      When in doubt, Arch Wiki: https://wiki.archlinux.org/title/CUPS/Printer-specific_problems

Leave a Reply

Your email address will not be published. Required fields are marked *