---
title: Engenheiro da Red Hat faz scanner antigo funcionar no Linux com Claude Code
url: https://www.elseif.net/pt-br/engenheiro-da-red-hat-faz-scanner-antigo-funcionar-no-linux-com-claude-code
published: 2026-10-20T13:08:49+00:00
language: pt-br
section: Modelos
source: https://thenewstack.io/claude-code-linux-driver/
organizations: Red Hat, GNOME, Fedora, Plustek, SANE, Claude Code
publisher: elseif
---

# Engenheiro da Red Hat faz scanner antigo funcionar no Linux com Claude Code

Christian Schaller, diretor de engenharia da Red Hat e contribuidor de longa data do GNOME e do Fedora, tentou digitalizar um conjunto de negativos de família usando um scanner Plustek OpticFilm 8200i que não funcionava no Linux. Ele comprou o aparelho porque o fabricante indicava suporte, mas descobriu que o chipset foi trocado para um modelo não reconhecido pelos drivers de código aberto. Depois de tentar usar Claude Code por muito tempo sem sucesso, ele abandonou o projeto por alguns meses.

Ao retornar, Schaller adotou uma estratégia diferente. Em poucas horas conseguiu obter o primeiro scan reconhecível. Dias depois, o driver já suportava varredura no infravermelho.

Ele então liberou a solução como um projeto open source chamado hw-harness, sob licença MIT. O repositório reúne ferramentas para capturar o comportamento de dispositivos, comparar uma implementação funcional com uma quebrada e fornecer a um agente de código a informação necessária para trabalhar em hardware ainda não suportado pelo Linux.

A ideia surgiu de uma postagem no X de Tom Crider, conhecido como Glorious Eggroll, que usou um agente de IA para corrigir um driver de mouse acessando uma máquina Windows. Schaller alimentou o post ao Claude e pediu que ele construísse um setup semelhante para seu scanner.

Em relato publicado na quarta-feira, Schaller descreveu o processo meticuloso de reconstruir protocolos de dispositivo não documentados a partir de capturas USB, valores de registradores e transferências de controle. Embora o trabalho não seja complexo, afirmou que “precisa de muita paciência e habilidade”. Tentativas anteriores de criar um backend SANE com Claude estagnaram porque o agente não tinha um driver funcional para comparar.

Com a nova configuração, Claude executou o software da fabricante no Windows, capturou o tráfego USB e comparou com o que o driver Linux enviava. Ele usou o driver do Windows como referência para identificar onde a implementação Linux estava errada e ajustar o código.

Segundo Schaller, Claude “não se cansa”. Ele ainda precisou testar as alterações no scanner, já que um driver funcional exige mais do que código que parece correto.

Outro fator que ajudou foi a evolução do Claude Code. Melhor ainda, como Schaller afirmou, Claude “não se cansa”. Enquanto isso, o driver que ele desenvolveu passou a ser apenas uma demonstração de conceito; o driver oficial do SANE já suporta o OpticFilm 8200i, lançado em setembro por outro desenvolvedor.

A solução de Schaller traz vantagens específicas. Ela inclui remoção de poeira por infravermelho, ajustes de exposição para negativos densos, e varredura em cores e escala de cinza entre 300 e 7.200 dpi. A diferença principal foi o chipset: os modelos mais recentes usam Genesys GL128, substituindo o GL845 já suportado.

Em um teste de uma única imagem, seu driver concluiu a varredura em 34,6 segundos, enquanto a versão upstream levou 54,4 segundos. Ambos reproduziram o mesmo nível de detalhe em 3.600 dpi, embora o SANE ofereça mais opções de resolução.

Schaller também criou um aplicativo próprio chamado Negative Vibes, escrito em Rust com auxílio do Claude. O programa mantém os dados de scan de 16 bits intactos, inclusive o canal infravermelho, permitindo remoção de poeira, correção de cores com ArgyllCMS e exportação em TIFF, JPEG, PNG ou DNG.

Além do scanner, Schaller enfrentou problemas com a câmera do Lenovo ThinkPad X1 Carbon Gen 14 Aura Edition. Sob Linux, as fotos saíam escuras, com cantos mais escuros e tonalidade amarelada-verde. O notebook utiliza o sensor Sony IMX471 e o sistema de imagem Intel IPU7, mas o driver MIPI da câmera não gerava tráfego USB para análise.

Ele contornou a limitação alimentando o Claude com arquivos de configuração do driver Windows, entradas de registro, tabelas ACPI e propriedades do dispositivo. Também conectou uma webcam USB como ponto de comparação. No fim do dia, obteve patches para o kernel Linux e para o libcamera.

Os ajustes no kernel corrigiram três falhas: um bug ao selecionar área de corte que usava a região de pixels errada, um registro de padrão de teste mal definido e um limite de ganho analógico que reduzia a sensibilidade em cerca de 1,8 paradas.

O Claude também identificou problemas no processamento de imagens do libcamera. A correção de sombreamento de lente deixou os cantos 2,7 paradas mais escuros que o centro, e houve discrepância na forma como os níveis de sensor e preto eram calculados, prejudicando o balanceamento de brancos.

Em testes de baixa luminosidade, o brilho do frame subiu de 31,1 para 90,9, e as razões de cor aproximaram-se do padrão da webcam de referência. Ainda resta trabalho: o canal azul permanece 17% abaixo do esperado, e as patches ainda não foram mescladas. A engenheira de tecnologia de IA da Nvidia, Kate Hsuan, está revisando as alterações do kernel, enquanto o engenheiro-chefe de software da Red Hat, Wim Taymans, cuida do libcamera. Um ajuste de cache de página gerado pelo Claude recentemente encounterou condição de corrida durante a revisão.
