Regolare l’immagine della webcam iSight con Linux

La iSight del mio iMac del 2008 funziona perfettamente con Linux, ma in situazioni di illuminazione non ottimali mostra comunque i suoi limiti tecnici, se rapportata ad una qualsiasi webcam recente.

Siccome l’iMac è posizionato in un angolo male illuminato con una grossa finestra alle spalle di chi è seduto, l’immagine catturata è spesso troppo scura, e in tempo di videochiamate e didattica a distanza questo è un problema:

Usando il comando v4l2-ctl è possibile impostare, tra i numerosi parametri, anche la luminosità.

$ v4l2-ctl --set-ctrl=brightness=34

con questo risultato (non perfetto, ma sicuramente migliore):

Variando altri parametri sarà possibile migliorare ulteriormente la qualità dell’immagine.
Utilizzando il comando $ v4l2-ctl -l si ha una panoramica dei parametri supportati.

Per rendere permanenti queste modifiche ho scelto il modo più semplice, anche se forse meno elegante.
Ho creato un semplice script bash:

#!/bin/bash
# aumenta la luminosità di iSight /usr/bin/v4l2-ctl --set-ctrl=brightness=34

Per eseguirlo al boot basta usare crontab:

@reboot bash /percorso/dello/script/script.sh

Canonscan 200 Lide con Debian

Cosa c’è di più ovvio da fare in questi giorni di quarantena che andare a frugare tra le vecchie cose con il velleitario intento di mettere un po’ di ordine?
Ecco che su uno scaffale a prendere polvere trovo un vecchio scanner Canon, un Canoscan 200 Lide.

Collegato all’ancor più vecchio iMac su cui è installata Debian Bullseye, viene riconosciuto immediatamente. Bingo!

La prima scansione di prova però presenta una barra nera che si estende verticalmente su tutta l’immagine, più o meno così:

https://i.stack.imgur.com/b3gij.jpg


Collegato a Mac OS lo scanner funziona invece regolarmente, così da poter escludere che sia un problema hardware.

Tornato a Linux, dopo aver installato sane riesco a far diventare la barra verticale da nera a semplicemente più chiara, ma sempre molto fastidiosa.

Qualche ricerca su Internet mi porta a ritenere che il problema sia nella versione più recente del pacchetto sane-backends, così decido di provare con l’ultima versione che sembra funzionare, la 1.0.25 .

Decido di provare con i sorgenti Debian con l’ultima versione disponibile, così come suggerito qui:

$ sudo apt-get source libsane

L’installazione potrebbe chiedere il pacchetto dpkg-dev, nel caso installatelo.

A questo punto dobbiamo editare un file

$ cd sane-backends-1.0.27/backend/

$ nano -c genesys.c

le righe da modificare sono quelle dalla 2075 alla 2077 e vanno modificate così (in neretto le modifiche da applicare):

if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->slow_back_home)
    {
      status = dev->model->cmd_set->slow_back_home (dev, dev->model->flags );

Salviamo, usciamo dall’editor e compiliamo (installate eventuali dipendenze necessarie):


$ sudo apt-get build-dep libsane
$ cd sane-backends-1.0.27
$ dpkg-buildpackage -rfakeroot -uc -b

Qui il mio vecchio iMac di 12 anni ha lavorato per un po’, su un computer più recente la compilazione non dovrebbe richiedere troppo tempo.
Se tutto va come previsto, dovreste avere il pacchetto pronto da installare:

$ sudo dpkg -i libsane_1.0.27-3.2_amd64.deb

Se richiesto, nella stessa cartella troverete anche i .deb con le necessarie dipendenze.

Alla prima prova lo scanner funzionava già perfettamente, ma potrebbe essere opportuno un riavvio del sistema.

Non resta che impedire che il pacchetto venga sostituito con un aggiornamento successivo:

$ sudo apt-mark hold libsane

Risposte elementari per gente semplice

La risposta a Luca Zaia non può che essere Ozzy Osbourne.

Comunque queste prime settimane di coronavirus, grazie anche alle valutazioni di Zaia sull’igiene dei popoli, mettono in forte discussione il primato italiano sui francesi in fatto di igiene intima: nel paese senza bidet i casi sono di gran lunga inferiori rispetto a quelli nel nostro paese. Touché.

Insegnatemi le insegne

Delle tante fasi che possono definire la vita di un uomo c’è quella in cui una donna, sorridendo, gli dice che è vecchio.
Entrambi sanno che è uno scherzo e tra loro può nascere una di quelle rare amicizie tra uomo e donna sulla cui esistenza di disquisisce più frequentemente di quanto non si faccia sul Sasquatch, oppure i due finiranno a letto in un tempo tra il breve e il medio-breve.
Esiste poi invece una fase molto simile alla prima, in cui la donna in questione è ormai tua moglie (quanto finite a letto in quel senso non interessa a nessuno), e lei comincia a dirti che “fai cose da vecchio”. Non scherza e probabilmente ha ragione (il fatto che sia tua moglie e concordi che abbia ragione su qualcosa potrebbe rientrare nella casistica Sasquatch di cui sopra): sei vecchio.

Hai avuto quella sensazione già qualche giorno prima quando, fermo ad un semaforo, hai letto sull’insegna di un bar Healty Jungle Bar e mentre ti chiedevi cosa diamine fosse un jungle bar ti sei visto sul viso la stessa espressione che aveva tuo nonno quando 15 anni fa cercavi di spiegargli Internet.
Nel tuo intimo stavi ancora cercando di spiegare a te stesso cosa potesse essere una ristoranteria (ti vergognavi di chiederlo era perchè sarebbe stata l’ennesima prova del fatto che cominci ad essere troppo vecchio per capire quello quotidianamente ti succede intorno) quando hai parcheggiato l’auto e hai avuto l’epifania definitiva:

sull’insegna di una panetteria di periferia stava scritto Panetteria Tal dei tali… l’emporio del frumento.

Emporio.
del frumento.

Gli anni che ti mancano da vivere li passerai a cercare per il centro di Milano (da sempre più elitario delle periferie che lo circondano e lo assediano) un molto snob Club del Glutine.
Se lo troverai potrai affermare che, nonostante l’età, sei riuscito a prendere per la coda lo spirito dei tempi.