Por que certas empresas de jogos preferem lançar um jogo de forma oficial para Mac ao invés de Linux?

Não é necessário “ter hardware do ano” para o Proton funcionar bem. É necessário, contudo, ter hardware que suporte a API Vulkan adequadamente para o DXVK funcionar. E isso hardware de 2014 já é capaz de fazer.

É claro que seria ótimo se o suporte fosse universal, mas isso não depende de empresas como a Valve, já que se trata de uma limitação de hardware. :wink:

2 curtidas

E complementando, da mesma forma que para rodar no sistema nativo, é necessário que a máquina suporte rodar o jogo sem competir recurso com o sistema operacional, mas isso é requisito de qualquer forma, independente de onde esteja sendo executado.

Em relação ao DXVK, será que não é possível criar uma camada de compatibilidade extra nessa história para que hardwares que não suportam nativamente passarem a suportar ? Queria muito saber a opinião do pessoal que trabalha com desenvolvimento de baixo nível para saber as reais dificuldades nisso.

1 curtida

O jeito como se dá o pipeline da GPU é significativamente diferente. Algumas coisas não seriam possíveis e teriam que ser “trocadas” para versões mais antigas do processo de renderização. Ficaria diferente do jogo original provavelmente. O pipeline antigo é mais “engessado” mesmo.

Talvez (um talvez bem hipotético) algumas coisas poderiam ser feitas reescrevendo o driver dessas GPUs, mas eu acredito que muita coisa o hardware da GPU não disponibiliza. Essa evolução da indústria, teve como objetivo colocar mais controle de baixo nível na mão dos desenvolvedores.

Até é meio que por isso que essas traduções entre DX e Vulkan, metal são mais fáceis hoje, a “linguagem que essas bibliotecas falam” meio que não é tão diferente entre sí.

1 curtida

Aqui eu mostro como fazer tecnicamente sua placa não suporta DirectX, sua placa suporta OpenGL basta forçar, porém isso tem um tradeoff: o jogo perde muito desempenho

1 curtida

Faz sentido, se esse recurso depende justamente de uma padronização que não existia antes, o que imagino ser complicado mesmo de implementar, já que cada GPU seria um caso particular, isso se não tiver recurso travado nelas… Ou seja, se for possível, o trabalho provavelmente não compensa e nada garante que seja possível em todas as GPUs.

Assim a solução em jogar o render para o CPU faz sentido… assim como o que você falou, sacrificando o desempenho.

Sim, na prática, para ser algo que preste, precisaria realmente substituir ou desativar comportamentos do jogo, como ray tracing. No fim o jogo ficaria diferente. Você até poderia tentar reproduzir estas coisas, mas, a penalidade não faria sentido, exceto se o objetivo fosse ver um slide show.

Já outros poderiam ser feitos mais facilmente, como tiled rendering, mas ficaria meio datado, pois hoje você consegue controlar melhor essa técnica de renderização, tem um controle mais fino do alocamento de memória e tal.

1 curtida

Mas se eu quiser tonar “para jogos” vou ser obrigado a comprar um novo hardware no fim das contas…
A Valve ja vem dando cabo nos proprios jogos nativos pra Linux, e sinceramente não vou me submeter a usar gambiarras na minha maquina de forma alguma, no fim das contas era o minimo vindo da Valve, virou mais uma empresa que “cag* e anda” pro consumidor(ja que estimula os devs ao mal da gambiarra exclusivamente para o Linux)

Calma, a coisa “não é bem assim”. Entendo a sua frustração e existem três pontos chave na sua reclamação, então vamos analisá-los com calma:

  • A Valve “abandonar” o linux.
  • A Valve incentivando devs a desenvolver para windows e “ignorar” o linux.
  • “Eficiência” em executar jogos via proton.

Falando do primeiro ponto, a Valve não abandonou o linux. Se você ler o post do blog do factorio que coloquei lá em cima do dev especializado em linux falando dos desafios, verá que, para uma empresa manter um jogo rodando em múltiplas plataformas, ela deve possuir múltiplas equipes de desenvolvimento, múltiplas equipes de QA e múltiplas equipes de atendimento (particularmente se falarmos de jogos online, que possuem “suporte vitalício”, ou seja, que duram enquanto a empresa conseguir manter) o que multiplica os custos em se manter o jogo.

Nessa situação é bem compreensível que as empresas (incluindo a valve) se foque no sistema operacional com maior potencial de púbico, então é natural que eles se foquem no windows. Agora, falando dos jogos deles mesmos existe um detalhe muito grande nisso: a Valve é a “dona” do proton (eu sei que é código aberto e tudo mais, mas é muita hipocrisia achar que alguém vai desenvolver o projeto com a mesma velocidade e qualidade da Valve se ela sair dele, afinal, ela é a maior interessada no sucesso do proton), assim, não posso afirmar com certeza, mas posso conjecturar que eles desenvolvam seus jogos focados em rodar no proton e, por consequência, os jogos acabam rodando no windows também.

Então, eles não estão “C#&#@* e andando” para o usuário, afinal, o usuário final não está ficando sem seus jogos, ainda mais que é de interesse extremo deles que a maior quantidade possível de jogos rode o melhor possível no steam deck!

O segundo ponto, sobre a Valve incentivar os devs a ignorar o linux, também não é bem assim. Lembre-se que no passado eles tentaram emplacar a Steam Machine que justamente tinha o foco de executar tudo em linux, por meio do SteamOS e isso incentivaria os devs a manter versões linux também. Porém, essa experiência foi um fracasso retumbante!

Para que as empresas de jogos tenham interesse em manter toda a estrutura e custo necessário para manter uma plataforma em seu suporte, essas empresas devem ter uma base instalada que justifique isso e a Valve sozinha não conseguiu tal feito. Qual foi a solução? Pegar um projeto que, na época, era pobre e com um suporte sofrível (lembra que o wine, antes do proton era uma solução terrível para jogar praticamente qualquer coisa?) e desenvolver ao ponto de se tornar indistinguével de rodar no windows.

E chuta: eles estão conseguindo! O que leva ao terceiro ponto. Lembra na discussão acima que tive com o @KairanD sobre o protonDB? Então, lá ficou bem claro que a esmagadora maioria dos jogos novos rodam no proton sem dificuldades, sem perda de desempenho e com a experiência total do jogo! A maior parte dos jogos terá que fazer alguma coisinha? Normalmente sim, mas nada de extraordinário, usualmente é só alguma configuraçãozinha de gráfico ou coisa assim que o jogo falhou em “setar automaticamente”. Raros os jogos onde, rodando pelo proton diretamente na steam, exista a necessidade de alguma configuração mais profunda (os casos existem, mas são bem raros hoje em dia).

Porém, os benchmarks que vi até hoje em jogos grandes como Red Dead Redemption 2 (exemplo, mas já vi de outros também) mostram que o frame rate e o frame time ficam dentro da margem de erro comparando-se wine com windows, ou seja, não existe diferença de desempenho entre rodar em um ou no outro (isso utilizando o mesmo hardware)!

Inclusive, caso o gargalo de execução do jogo seja o sistema operacional (o caso que tanto citei) do OS competir recursos com o jogo, utilizando o wine, o jogo acabe com desempenho melhor por conta da maior eficiência do linux como sistema operacional, reduzindo assim o gargalo que existia anteriormente.

Portanto, indiferente de rodar em wine ou em windows, o hardware necessário é o mesmo! É o hardware necessário para que o jogo rode (e isso vai independer do sistema operacional)!

Eu entendo a sua frustração em não ter os jogos nativos no linux, afinal, como falei lá em cima, o linux acaba ficando às sombras do windows já que mudanças nesses jogos no windows afetam diretamente eles no linux também, assim como o suporte acaba ficando normalmente por conta da comunidade! (são raros os jogos onde alguém do desenvolvimento ajuda nos foruns da valve um usuário rodando em proton, acontece, mas é muito mais raro). Porém, do ponto de vista comercial e também do ponto de vista dos usuários de linux, essa atitude da Valve é o que tornou o Linux uma plataforma viável de jogo no PC. Portanto, eles não abandonaram o Linux, mas sim o salvou de permanecer como uma plataforma de trabalho apenas.

2 curtidas

Enquanto tem gnt discutindo se roda nativo ou não, vários usuários que nem sabem o que é um kernel, proton, wine e etc estão simplesmente comprando o Steam Deck e sem dar a mínima qual OS ta rodando baixando seus games e jogando no conforto dos seus sofás.

Como a sua postura é de me provocar e me ofender (me chamando de mentiroso sem nem ao menos saber o que fala, já que fez isso “refutando” uma análise estatística com base em uma evidência anedótica, o que mostra o seu completo desconhecimento acerca de análises estatísticas), estou te colocando na lista de ignorados. Não vou mais receber nem suas postagens nem notificação das mesmas, então, nem precisa se dar ao trabalho de responde mais.

Boa noite

2 curtidas

Não precisa responder. Minhas respostas não são direcionadas aos autores e sim ao conteúdo a fim de mitigar algumas informações que considero incorretas/imprecisas. Contra argumentos são importantes a fim de manter um bom nível de debate num ambiente como um fórum.

A verdade é que com o proton funcionando relativamente bem para títulos Single Player, nenhuma empresa vai querer gastar recursos lançando a tal “versão nativa” sendo que além de consumir recursos financeiros e tempo dos devs, a mesma não iria ter ganhos expressivos em praticamente nada em relação à versão rodando via proton. A solução no seu caso que valoriza tanto uma execução “nativa” seria simplesmente usar Windows. Reforço! As empresas simplesmente não se darão ao trabalho de fazer um port nativo (pelo menos não a curto prazo) com a Valve dando uma ferramenta prática como o proton que simplesmente já iria rodar o game deles a fullspeed.
Quem um exemplo de como essa brincadeira de proton é “magica” atualmente? Ghost of Tsushima foi lançado há uns dias para PC e já tem gente jogando no SteamDeck (e consequentemente em qualquer Linux). Porq qualquer empresa gastaria recursos para portar algo que já está funcionando bem?

Espero que não use Intel, porque é tecnicamente mais gambiarra que o Proton

Inclusive aqui vai uma dica, 100% das pessoas que prestam atenção em benchmarks (e no caso do Linux, se roda sobre Proton com DXVK ou se é nativo diretamente com Vulkan) sofrem ou vão sofrer da “síndrome do PC Gamer”, minha dica:

  • Desativem os HUDs e ignorem benchmarks

Se ficar abaixo de 60 FPS seu cérebro vai saber, se ficar acima não vai perceber, então basta se divertir como era no NES/SNES

4 curtidas

Algumas pessoas com PC gamers deveria colocar essa dica como Wallpaper.

Concordo plenamente. Inclusive tenho uma dica também:

Seu cérebro dificilmente percebe um frame rate baixo ou alto. Particularmente em jogos single, onde você não compete tempo de reação com outras pessoas, como você mesmo disse, não faz diferença. Porém, você percebe mudanças drásticas (tipo quando aparece aquele monte de partículas e o jogo fica mais lento). Então, se você puder, limite o frame rate para a taxa do seu monitor (usualmente 60Hz, mas depende do monitor de cada um).

Assim a placa não ficará “engasgada” renderizando frames não vistos e, quando for necessário processar mais coisas, a tendência é que essas quedas bruscas não ocorram!

N entendi. Ta falando da iGPU ou da CPU? Meu combo é um Xeon + Placa Gráfica AMD. Acredito que vc se referiu a GPU’s intel. Acho uma iGPU Intel seriam bem fracos pra dxvk.

Qual foi a solução que você preferiu? Tem dual boot, streaming, outra máquina?

Só usar nativo
88% da minha biblioteca steam só tem nativos, evito comprar jogo only windows
O resto parei de jogar
Mas se algum dia voltar a mexer com o restante vai ser no windows mesmo e olhe lá
Oq eu tenho de nativo funciona muito bem comparado as gambiarras da Valve, mas pelos pequenos reports da protondb em cima dos nativos tá desanimando o uso da steam no Linux, meio chato ter q ficar fazendo remendos mas comparado com o proton tudo roda bem melhor no hardware que tá no meu perfil

Nossa, você está sendo paciente viu :joy: eu parei com essa de ficar me adaptando ao meio.

1 curtida

E sobre um microSO que roda até hj nos processadores Intel pra gerênciar funções básicas
O Minix no caso