Olha pessoal tudo bem? Salvei mais um PC, que poderia ser considerado antigo, com sistema Linux. No caso usei o Big Linux em modo Xorg e ficou perfeito. Melhor que o desempenho do Windows. A configuração é a seguinte:
Intel Core i3 4370 - quarta geração
8Gb de RAM DDR3 - 2x4Gb
IGPU Intel HD Graphics 4600 (compatível com DX11.1 e 12)
SSD 250Gb
A máquina será para uma criança jogar Minecraft e um jogo da Steam. Acho que o nome dele é stumble guys. Ele tem gratuíto na steam.
Configurei tudo, steam, proton 9 e tal. Mas ao executar o jogo pede o DX11. Alguém pode me dizer o que eu faço?
Tem que ver se o seu hardware tem suporte ao Vulkan, pois o padrão do Proton é rodar em Vulkan (DXVK).
Caso contrário, tem a opção menos eficiente que é o OpenGL, e aí tem que usar esse parâmetro que foi sugerido:
O seu hardware ser compatível com DirectX não quer dizer nada nesse caso porque você está jogando no Linux o que o Wine/Proton faz é uma “tradução”, então ele transforma o jogo que é em DirectX e de Windows para Vulkan ou OpenGL e que o Linux entenda e rode.
Em teoria é muito bonitinho, mas infelismente a equipe do Wine tem feito implementação livre do DirectX no mesmo esquema do suportado pela GPU, eu não sei porque é assim, deve ter explicação tecnica.
Tipo a minha placa de video GTX750 não suporta directx12 nem no windows e nem no wine, a implementação do directx livre do wine só vai ate a 11 para a minha placa de video.
A implementação direcx no wine tem o nome de WINED3D.
O wine usa implementação livre e própria das API do windows para através destas APIs poder traduzir para a APIs do linux, sem as implementações das APIs do Windows o wine não entenderiaas chamadas do directx a ser traduzidas pelas APIs vkd3d do Vulkan, se o jogo usa chamadas directx então vai passar pela implementação livre WINED3D. Sem a implementação livre do direcx não tem como traduzir para opengl e nem vulkan.
Agora se o jogo não usa implementação directx então não precisa de tradução, nesse caso as chamadas são tratadas diretamente.
Vc pode trocar a implementação livre do directx do wined3d pela implementação proprietária do directx da Microsoft usando o winetricks ou protontricks de forma automatizada se o seu jogo apresentar problemas graficos ou o caso deste usuário, se o programa fizer chamada directx que não está implementada no wined3d o programa pode apresentar diversos problemas gráficos.
Lembre-se que para usar a API proprietária vc deve respeitar os termos da licença da Microsoft(licença MS Windows).
Prefira abrir o programa diretamente em Vulkan ou OpenGL ao invés de usar a API gráfica WINED3D caso esteja disponível no programa, evitando usar directx ou wined3d, mas se o programa não tem opção de seleção de API gráfica então o único jeito é usar implementação wined3d ou directx.
Lembre-se a implementação wined3d pode dar problema no Vulkan e não em OpenGL ou dar problema no OpenGL e não dar no Vulkan ou não dar problema em nenhum dos 2 ou dar problema nos 2 ou dar problemas em vários outros fatores e não em outros vários fatores como dar problema em versão especifica do Wine ou em versões especificas do vkd3d em fim, tem que ir testando.
A equipe da Valve e do Wine e do CrossOver e outros Wines nesse mundo veio(poder da liberdade do software livre) para melhorar as suas APIs de compatibilidade.
Logo, logo vai sair a versão estável do Wine 10.0 e Proton 10.x.
Corrigindo, a versão estável do Wine 10.0 já saiu, logo, logo sai a versão do Proton 10.x.
A forma mais pratica de descobrir como rodar um programa sem ter que ficar fazendo testes aleatórios é verificar no WineApp e ProtonDB como os usuários do mesmo conseguiram fazer o programa desejado funcionar, outra opção é usar scripts de automação para que eles criem prefixos personalizados para a aplicação desejada, programa que disponibiliza estes scripts é o Lutris.
O scripts são feitos pela comunidade para a comunidade.
O CrossOver também deve ter script mas ele é um software pago, eu nunca usei ele mas penso em comprar no futuro, dar uma ajudinha para essas ferramentas Wines que nos ajuda muito no dia a dia.
Então, ambos, WineD3D (DX9-11) e DX12 (VKD3D), são, como você diz, implementações livres do DX, mas o VKD3D não depende que a GPU suporte DX12 nativo de Windows para os jogos funcionarem.
Ou seja, só quem se lasca é quem tem GPU sem suporte a Vulkan, ou GPU sem suporte até o DX11 (o que deve ser raro de achar).
Eis a “solução”. Não tem suporte a Vulkan, então deu ruim.
Nenhum dos directx livre do Wine depende da implementação da Microsoft, eles são implementações próprias do projeto Wine, é como eu escreve em teoria não era para precisar, mas deve ter uma explicação técnica para ser assim.
É mesma coisa do Mesa3D, o mesa não é desenvolvido pelas fabricantes de GPU, ele é desenvolvido pela comunidade, mas ainda assim na pratica desenvolvedores tem abandonado GPUs antigas.
O Nouveau é mesma coisa, também não depende da Nvidia, mas mesmo assim ate hoje não tem Vulkan.
Parece que quando o hardware é velho, os desenvolvedores apenas abandona e pronto.
Já ouviu dizer em obsolescência programada? Eu não acredito em obsolescência programada, mas quando o hardware é velho ele vira lixo e pronto, sempre foi assim.
Talvez quando atingirmos o limite da placa de silício vai acontecer 2 coisas, ou substitui os computadores clássicos por uma inovação ou vamos ficar usando hardware velho o resto da vida, mas ainda não estamos lá.
Eu ouvi dizer em um canal do youtube que se atingirmos o limite da placa de silício, os softwares vão passar a ter otimizações incríveis, bom é o que vai sobrar. Já penso o sistema operacional full rodando na GPU o desempenho absurdo disso. Mas teria que reescrever um monte de código, da um trampo legal para otimizar tudo na GPU.
Eu não sei se sabem mais placa de vídeo é um computador completo. E tem uma capacidade computacional muito superior que o computador sem placa de vídeo.
Moral da historia, um computador poderoso que não é usado na sua melhor capacidade a maior parte do tempo.
Na verdade tem sim gente da AMD e Intel que ajudam com codigos no mesa mais frequentemente, inclusive a Nvidia teve uma contribuição ano passado, mas nao é frequente suas contribuições…
acho que outro motivo, para este abandono, seja a carga de trabalho necessária para que todas as placas tenham suporte e a equipe disponível para fazê-lo.
Não é upgrade não, é um serviço de nuvem, vou alugar uma maquina em um supercomputador em algum lugar do mundo que vai rodar o jogo nele e transmitir um vídeo como se fosse do youtube do jogo para mim apertar os botões.