Christian Schaller usou Claude Code e o comportamento de um driver do Windows como referência ao investigar suporte para Linux para o scanner de filmes Plustek OpticFilm 8200i. O trabalho mostra como a comparação entre o funcionamento do dispositivo nos dois sistemas pode orientar a criação de um driver; os tempos de digitalização relatados, porém, vêm de um único teste. The New Stack descreveu o projeto e atribuiu os resultados a Schaller.
Claude Code é um agente de programação que pode ser instalado no Linux. A ferramenta ajuda a desenvolver software; o suporte a cada dispositivo depende de um driver compatível. A documentação da Anthropic informa que o instalador nativo coloca o executável em ~/.local/bin/claude (perguntas frequentes da Claude Code). Esse caminho é do agente, não de um driver de hardware.
Como um driver do Windows ajudou a investigar o scanner
O desafio estava no chipset. Segundo o relato do The New Stack, unidades mais novas do Plustek OpticFilm 8200i usam o Genesys GL128, enquanto o suporte existente no SANE atendia ao Genesys GL845, usado em unidades mais antigas. Schaller recorreu ao comportamento do driver do Windows como referência para investigar a implementação no Linux.
A implementação atribuída a Schaller oferece digitalização colorida e em tons de cinza de 300 a 7.200 dpi — pontos por polegada —, remoção de poeira por infravermelho e ajustes de exposição para negativos densos. Em setembro de 2026, o suporte ao OpticFilm 8200i também entrou no SANE, segundo o The New Stack, com o trabalho de outro desenvolvedor.
O que faz o hw-harness
Schaller publicou o hw-harness, um projeto generalizado, licenciado sob MIT, para comparar o comportamento de dispositivos entre Windows e Linux. O fluxo descrito pelo The New Stack executa o driver do fabricante em uma máquina virtual KVM, com o dispositivo físico conectado à máquina virtual. Claude controla a sessão do Windows, enquanto o usbmon captura o tráfego USB no computador host com Linux. Depois, o dispositivo volta ao Linux para uma segunda execução, e os registros são comparados.
O projeto reúne ferramentas com tarefas diferentes: winctl controla a máquina virtual; usbcap captura o tráfego; hostdev alterna o dispositivo entre o host e a máquina virtual; e hwdbg auxilia a depuração no Linux. Scripts em PowerShell coletam descritores do dispositivo, entradas do registro, tabelas ACPI e arquivos INF.
O hw-harness publicado não é o conjunto exato de ferramentas usado nos projetos do scanner e da câmera. O The New Stack também informou que o projeto ainda não havia sido testado em uma ampla variedade de hardwares. Assim, o fluxo descreve uma maneira de comparar rastros e comportamentos, não uma garantia de compatibilidade universal.
O que os tempos do scanner permitem concluir
Na comparação de uma única digitalização em resolução máxima relatada por Schaller, sua implementação levou 34,6 segundos; a versão upstream do SANE levou 54,4 segundos. As duas resolveram o mesmo nível de detalhe a 3.600 dpi. A diferença corresponde a esse teste específico, não a uma medida de velocidade típica para outras digitalizações.
A investigação separada da câmera do ThinkPad
Schaller também investigou a câmera do Lenovo ThinkPad X1 Carbon Gen 14 Aura Edition, que usa o sensor Sony IMX471 e o sistema de imagem Intel IPU7. O trabalho recorreu a arquivos de configuração do Windows, dados do registro, tabelas ACPI e propriedades do dispositivo, além de uma webcam USB como referência.
Segundo os resultados atribuídos a Schaller pelo The New Stack, o valor de brilho de um quadro em baixa luz passou de 31,1 para 90,9 após as alterações. O canal azul ainda ficou cerca de 17% abaixo da referência da webcam. Na reportagem publicada em 17 de outubro de 2026, os conjuntos de alterações para o Linux kernel e para o libcamera ainda não haviam sido integrados.
Por que a experiência e o teste no dispositivo continuam importantes
Um relato separado de Dmitry Brant sobre o driver de fita ftape ajuda a contextualizar esse tipo de trabalho. Brant conta que modernizou o driver ao longo de duas noites, em várias iterações e com correções manuais. Ele já tinha experiência com C e módulos do kernel e testou o módulo em unidades de fita reais. A descrição em primeira pessoa de Brant mostra como conhecimento técnico e validação no hardware fizeram parte daquele projeto.