[HN Gopher] WebAssembly+WebUSB port of the SANE scanner library
       ___________________________________________________________________
        
       WebAssembly+WebUSB port of the SANE scanner library
        
       Author : RReverser
       Score  : 72 points
       Date   : 2023-04-29 16:53 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | dvh wrote:
       | Many years ago friend gave me broken SCSI scanner. It always said
       | "paper jammed". I thought I just short or remove the paper sensor
       | but it wasn't simple kind of sensor, there were two and from the
       | delay it decided whether the paper was jammed or not.
       | 
       | So I downloaded the source code of SANE, find the offending error
       | message, commented it out and scanner worked without issue.
        
         | AshamedCaptain wrote:
         | I had one of these stupid AMD graphics cards (I think from the
         | Evergreen generation) where the GPU/memory clocks would be
         | locked in at the highest frequency whenever you had a second
         | monitor plugged in. Apparently some sort of graphical glitches
         | would be possible otherwise. In their infinite wisdom, AMD
         | decided it was worth an extra 20W of baseline power consumption
         | to avoid these glitches. (I am told they still do this as of
         | today).
         | 
         | So I went the radeon kernel driver, and simply commented out
         | that part. Never had a single glitch for the entire lifetime of
         | the card, but oh god I did enjoy the silent fan-free operation.
         | 
         | And people wonder why I'm a staunch fanatic of free software.
        
         | chaxor wrote:
         | https://gifrific.com/wp-content/uploads/2014/03/Why-Does-it-...
        
       | jmillikin wrote:
       | IMO one of the biggest opportunities for WASM is printer and
       | scanner drivers. These things have historically been distributed
       | as native code, so the usability of the hardware on various OSes
       | and architectures is spotty[0]. WASM is close enough to a native
       | binary (fast, not source[1]) to be accepted by hardware vendors,
       | but is inherently architecture-independent and in principle could
       | be built to an OS-indendent API. Imagine sharing the exact same
       | drivers for tens of thousands of devices across Windows, Mac,
       | Linux, and every other OS that might exist in the future!
       | 
       | The same applies to webcams, screensavers (with WebGL/WebGPU),
       | audio processing plugins, and any other software that doesn't
       | come bundled into the OS and doesn't have a UI as such.
       | 
       | The utility of WebASM for non-Web use cases is incredible.
       | 
       | [0] My scanner is by Epson, who have good Linux support, but the
       | driver was built against an ancient GNU libc that's no longer
       | distributed by Debian/Ubuntu. And it's amd64, so I can't use a
       | RaspberryPi as a scan server.
       | 
       | [1] I prefer open source when available, but hardware vendors
       | often have cultural or contractual blocks against open-sourcing
       | their drivers.
        
       ___________________________________________________________________
       (page generated 2023-04-29 23:00 UTC)