Sobre o projeto

OpenRGB é um aplicativo de código aberto para controle de iluminação RGB que visa substituir o ecossistema fragmentado de softwares RGB específicos de fabricantes por uma ferramenta única e multiplataforma. Ele roda em Windows, Linux e MacOS e não requer software oficial ou do fabricante para operar. Capacidades principais descritas no README: - Definir cores e selecionar modos de efeito para uma ampla variedade de hardware RGB. - Salvar e carregar perfis de iluminação. - Controlar a iluminação a partir de softwares de terceiros por meio do SDK do OpenRGB. - Usar uma interface de linha de comando. - Conectar várias instâncias do OpenRGB para sincronizar a iluminação entre vários PCs. - Operar de forma autônoma ou em configuração cliente/servidor headless. - Visualizar informações do dispositivo. - Visualização gráfica dos LEDs do dispositivo para facilitar a criação de padrões personalizados. O projeto interage diretamente com o hardware usando protocolos de engenharia reversa. O README inclui um aviso explícito de que enviar dados para hardware cujo comportamento não é totalmente compreendido apresenta riscos, e que houve casos passados de hardware danificado ou inutilizado, com o código ofensor desabilitado ou corrigido. Os usuários aceitam esse risco ao instalar e usar o OpenRGB. Distribuição e configuração: - Binários pré-compilados são oferecidos para Windows, Linux (AppImage, .deb, .rpm) e MacOS. - Versões lançadas estão disponíveis em OpenRGB.org e nos lançamentos do GitLab; builds experimentais do pipeline também são publicados. - O Windows requer o runtime C++ do Microsoft Visual 2019. - Um lançamento oficial Flatpak está disponível no Flathub; usuários de AppImage e Flatpak são aconselhados a instalar as regras udev mais recentes. - Versões lançadas são empacotadas para distribuições como Alpine, Fedora e Arch; usuários de Arch podem instalar do repositório Extra ou AUR para a versão do pipeline. - Instruções de compilação e páginas de configuração de acesso a dispositivos (acesso SMBus e USB) são fornecidas na documentação. Ecossistema e extensibilidade: - O SDK do OpenRGB fornece uma interface de rede para controlar dispositivos suportados a partir de outros softwares. O README lista implementações de clientes em Python, Node.js, C#, Java, C++ e Rust, além de um conector D-Bus. - Aplicativos que suportam o SDK incluem Keyboard Visualizer, OpenRGB E1.31 Receiver, Aurora, Artemis, RemoteLight, OpenRGB-python-FX, AllMyLights, OpenRGBRemote e PiLED. - Uma interface de plugins permite adicionar recursos; os plugins listados incluem Effects, Visual Map, E1.31 Receiver, Scheduler, Skin, Hardware Sync, Http Hook, Razer Extras, Fan Hardware Sync e Ambient. - O projeto depende de componentes como PawnIO, libusb, hidapi, libe131, NVFC, Qt-Plus, bibliotecas AMD ADL, hueplusplus, httplib, mdns e macUSPCIO. - A pesquisa de protocolos baseou-se em projetos como OpenRazer, ckb-next, liquidctl, OpenCorsairLink, rivalcfg, g810-led e outros. Comunidade e suporte: o README vincula um servidor Discord, uma conta Mastodon, uma comunidade Lemmy, documentação de como fazer e FAQ, e opções de doação. OpenRGB é descrito como uma continuação do OpenAuraSDK, que surgiu do trabalho de engenharia reversa no projeto Keyboard Visualizer. As orientações de contribuição cobrem a adição de suporte a dispositivos via API RGBController e a criação de clientes SDK via documentação do SDK do OpenRGB.