We replaced our old Multifunction Printer (MFP). I looked for an affordable replacement compatible with Linux (specifically Slackware), OS X, and Windows. I chose the Epson XP-410 printer. Epson provides Linux drivers on their website, research indicated it works perfectly with Linux, and I found it on sale locally.
The OS X and Windows installs were done via the Epson provided software. So what about Slackware?
Slackware 14 does not ship with a PPD file for the XP-410. I went to SlackBuilds.org and found the epson-inkjet-printer-escpr package, which corresponds to the driver I saw on the Epson site. However, the source URL provided does not exist. So I downloaded the epson-inkjet-printer-escpr-1.2.3-1lsb3.2.tar.gz source from Epson.
I used the CUPS localhost:631 web interface for setup. I set it up as a AppSocket/JetDirect network printer as it is not directly connected to my machine. The XP-410 PPD from the installed package showed up as expected. I added the printer and the test page was successful.
I use SimpleScan for scanning and the XP-410 did not show up as an available scanner unless I disable my firewall. I did some poking around, expecting to have to add a firewall rule, but found that adding 'net <printer ip address>' to /etc/sane.d/epson2.conf was the only thing necessary to get it to work.
Overall, setup was pretty simple within the context of Slackware. Other distributions may ship the PPD's by default. I tried the openSUSE 12.3 Live CD. The package is available in their repository, but does not come with the XP-410 driver. Epson indicates the XP-410 is "new" so I assume openSUSE 12.3 shipped before the driver was released (I failed to note the installed version).
I am pleased with the purchase as far as OS compatibility and setup goes. I have not used it enough to comment on it as a MFP in general, but initial use has been satisfactory.
On a tangent, for those reading this newer to Slackware and/or Slackbuilds.org, I use Sbopkg to manage my SlackBuilds.org packages. As mentioned, I downloaded the source from Epson and placed it in /var/cache/sbopkg. In Sbopkg, I edited the Slackbuild and Info files for the package to use the downloaded source. In the Slackbulid script, I changed the version from 1.2.2 to 1.2.3. In the Info file, I made the same version change everywhere I saw it, and I changed the MD5SUM to match the downloaded source MD5SUM. The MD5SUM is not required, but it eliminates a warning during the build and install process. After that, the build and install worked fine.