It's very hacky but I get around this in NAPS2 by creating a temporary config dir with only the one backend for the specified device.
https://github.com/cyanfish/naps2/blob/master/NAPS2.Sdk/Scan/Internal/Sane/SaneScanDriver.cs#L324 Certainly it would be nice if there was an API for this but there doesn't seem to be. On Wed, May 28, 2025, 21:24 Ralph Little <[email protected]> wrote: > Hi Devs, > I'm looking at an issue that affects xsane that I have had a number of > complaints about. > > When xsane starts, it calls sane_get_devices() regardless of whether or > not a specific device was specified by the user. The main issue is the long > delay before xsane starts up while device polling is happening, which *can* > be annoying long. > > On the face of it, this seems pointless if we already know which device > the user wants to use. However, in various places, xsane uses the > descriptive information for that device that we get in the SANE_Device > structure which can only be got from sane_get_devices() This seems like a > gaping hole in the protocol that the information about a specific device > cannot be determined without searching for all devices. > > Does anyone have any ideas how we might get around this without breaking > backwards compatibility in the SANE API and have I missed some official > method whereby this information might be obtained? > > Cheers, > Ralph > > >
