Driver Linux para Elgato 4k60 Pro Mk.2
Este é um projeto de engenharia reversa. O objetivo é trazer suporte à placa Elgato 4k60 para a plataforma Linux.
A principal plataforma de desenvolvimento do projeto é Centos 7.5.1804 (Core), embora se espere que o driver funcione em múltiplas distribuições.
Driver para placa de captura HDMI Elgato 4k60 Pro mk.2.
Copyright (c) 2021 Steven Toth [email protected]
Este programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; a versão 2 da Licença ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; mesmo sem a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja o
Licença Pública Geral GNU para mais detalhes.
Você deverá ter recebido uma cópia da Licença Pública Geral GNU junto com este programa; caso contrário, escreva para Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, EUA.
A maior parte do trabalho de investigação está sendo feita no Windows 10. Estou instrumentando o hardware com fiação de depuração, identificando barramentos comuns, esboçando um diagrama básico de hardware, entendendo os componentes individuais, monitorando o comportamento do hardware e delineando um plano para a implementação do Linux.
O projeto começou no início de janeiro de 2021. Um mês depois, início de fevereiro, eu entendo o suficiente do design básico, layout de hardware e pontos de depuração da placa para começar a fazer um driver Linux inicial - o suficiente para realizar a detecção de sinal da porta HDMI e fazer alguns hardwares básicos manutenção.
Todas as minhas notas de trabalho, rastros de analisadores e notas diárias serão armazenadas neste repositório - como uma fonte única para qualquer visualizador interessado.
Estou mantendo um 'diário do desenvolvedor' básico para que os leitores interessados possam acompanhar. Não é minha intenção fazer um guia de introdução "como fazer engenharia reversa passo a passo", é realmente descrever o processo, mostrar algumas das ferramentas, destacar coisas que funcionaram e coisas que não funcionaram. Não estou escrevendo um ensaio, são declarações aleatórias que podem ajudar outro desenvolvedor em um projeto semelhante.
Nesta fase, tudo está contido no master. Não temos filiais. À medida que o projeto avança e o driver se torna utilizável, quase certamente, um novo repositório 'mais limpo' surgirá e não será esperado que os usuários baixem todo esse repositório, com imagens enormes, traços de analisador, notas aleatórias - apenas para usar o driver.
26 de junho de 2022 – No Ubuntu, /usr/bin/pulseaudio mantém o driver aberto e evita make unload durante o desenvolvimento.
26 de junho de 2022 – Encaminhar driver de porta, corrigir APIs quebradas para uso no Ubuntu 22.04. O vídeo básico funciona no Ubuntu agora.
26 de junho de 2022 – Use a tag e2908371f4c2b28ea613622815dcf2b4739d3bb7 para kernels Centos 3.10. Depois disso, estamos migrando para os kernels do Ubuntu 5.x.
15 de fevereiro de 2021 – Colorimetria detectada e suporte HDMI colospace.
15 de fevereiro de 2021 - Adicionado suporte básico de tempo de DV para expor material de resolução/taxa por meio da API v4l.
14 de fevereiro de 2021 – Adicionado suporte de áudio, PCM 16 bits 48KHz.
14 de fevereiro de 2021 – O driver pode ser usado para determinadas resoluções para captura de vídeo e áudio via ffmpeg.
13 de fevereiro de 2021 – Revisado o subsistema de coleta de dispersão para suportar vídeo 4k.
11 de fevereiro de 2021 - Primeiramente, todas as imagens estáticas da barra de cores são capturadas por meio do driver.
1º de agosto de 2021 – O driver se ajusta para detectar automaticamente 1280x720p vs 1920x1080p e funcionar de acordo.
1º de agosto de 2021 – 4k não foi testado com as alterações mais recentes, mas deve ter suporte total.
Teste/suporte HDR 10 bits.
Problema intermitente durante a captura, possível quadro de vídeo curto, causa erro e travamento do ffmpeg.
E-mail: [email protected]
Raiz do projeto – Código fonte do driver.
Documentos - Diário diário, notas aleatórias.
Traces - Vários arquivos de despejo retirados de analisadores.
Fotos - Fotos interessantes ou curiosas que tirei durante o processo.