Fala pessoal!
Estou há alguns dias fazendo um projeto experimental para entender até onde é possível chegar com o Riot Vanguard no Linux usando Wine/Proton.
Antes de tudo: o VALORANT ainda não está funcionando. Não quero criar a impressão de que encontrei uma solução ou tutorial. Estou postando porque consegui avançar bastante na investigação e cheguei em um ponto onde pessoas com mais experiência em Wine, drivers Windows ou kernel provavelmente podem ajudar muito.
Estou fazendo os testes no Fedora e documentando tudo no GitHub:
Atualmente o Riot Client abre normalmente pelo Proton. O mais interessante é que consegui chegar ao ponto em que o Wine carrega o vgk.sys e começa a executar o DriverEntry do driver.
Durante os testes encontrei um problema no próprio ntoskrnl.exe do Wine. O Vanguard fazia leituras de KUSER_SHARED_DATA e duas instruções usadas nesses acessos (cmp e test) não estavam sendo tratadas pelo emulador de instruções do Wine.
Fiz um patch experimental no Wine para implementar os casos que consegui reproduzir e, para não depender exclusivamente do Vanguard nos testes, também criei pequenos drivers de teste independentes.
Depois do patch, os dois acessos que anteriormente interrompiam a execução passaram a funcionar e o vgk.sys consegue continuar o DriverEntry.
Máximo respeito meu amigo, Fazer o Wine carregar o vgk.sys e chegar no DriverEntry é um avanço absurdo.
Imagino que o maior gargalo agora vai ser a própria natureza do Vanguard. Como ele roda no Ring 0 (kernel), ele não apenas faz chamadas de sistema, mas ativamente tenta detectar ambientes emulados ou virtualizados.
Uma dica é pesquisar as issues mais antigas no repositório oficial do Proton (Valve) sobre implementação de anti-cheats de kernel. Eles já mapearam muitos comportamentos do ntoskrnl.exe que faltam no Wine.
Vou deixar a estrela no seu repositório no GitHub para acompanhar. Boa sorte nos testes!
Cara, tava aqui tentando baixar o LoL pra rodar, e simplesmente não vai. O mais próximo que cheguei foi quando instalei manualmente pelo Lutris. Consegui chegar na tela onde você está, com o botão Jogar ativo, porém, quando clicava, vinha mais um problema: o próximo cliente não abria, provavelmente por causa do Vanguard. Aí parei esse teste e fui tentar algum instalador que já existia dentro do Lutris, mas nem na parte de fazer login eu consegui.
Agora eu já tinha excluído tudo pra tentar pelo Lutris, mas já apaguei também. Vou tentar manualmente aqui pra ver se consigo voltar aonde parei e trago algumas prints que talvez ajudem.
O League of Legends em si é completamente funcional no Linux, eu mesmo cheguei a jogar algumas vezes no passado. O maior e único problema é o Vanguard ser um anticheat de nível kernel.