2 pontos por GN⁺ 2023-09-23 | 1 comentários | Compartilhar no WhatsApp
  • Steam Deck e SteamOS são exemplos de como o investimento da Valve em Linux não ficou restrito a um dispositivo de jogos, mas se espalhou por todo o ecossistema open source
  • O SteamOS é construído sobre Arch Linux, espaço de usuário GNU, systemd e KDE Plasma, e a Valve também financia melhorias no KDE Plasma
  • Steam Play / Proton, baseado no Wine, ampliou a compatibilidade de jogos no Linux, e projetos como DXVK e VKD3D-Proton também criaram valor junto com ele
  • O escopo das contribuições é amplo, incluindo drivers Mesa OpenGL/Vulkan, drivers gráficos do kernel, gerenciamento de cores/HDR da AMD, Zink, Gamescope, Flatpak e outros
  • Segundo a Igalia, a política da Valve é enviar tudo upstream do que está em desenvolvimento, e esse efeito chega até o ecossistema de desktop Linux

O efeito upstream que começou no Steam Deck

  • O trabalho da Valve no Steam Deck e no SteamOS é tratado como um exemplo de elevação de todo o ecossistema open source
  • No Open-Source Summit da Linux Foundation Europe, Alberto Garcia, da Igalia, resumiu como o SteamOS contribui para o ecossistema Linux
  • A Igalia continua colaborando com a Valve em parte do trabalho para melhorar o ecossistema Linux

A base do SteamOS e a composição do desktop

  • O SteamOS é construído sobre o Arch Linux e usa o espaço de usuário GNU e systemd
  • O modo desktop oferece KDE Plasma, e a Valve financia parte do trabalho de melhoria do KDE Plasma
  • Steam Play / Proton vem usando o Wine para oferecer grande valor a jogadores de Linux e entusiastas de Linux
    • DXVK e VKD3D-Proton são mencionados junto com ele como projetos open source relacionados

Stack gráfica e contribuições ao kernel

  • Engenheiros da Valve forneceram muitas melhorias aos drivers Mesa OpenGL/Vulkan e a componentes de drivers gráficos do kernel
  • As contribuições não se limitam aos drivers gráficos da AMD que beneficiam o hardware do Steam Deck
  • Zink OpenGL-on-Vulkan

    • O trabalho em Zink OpenGL-on-Vulkan está ligado a melhorias na infraestrutura gráfica comum
    • Na área de suporte a drivers gráficos no Linux, as contribuições da Valve e de seus parceiros também beneficiam o ecossistema de desktop Linux fora dos jogos

Do gerenciamento de cores da AMD ao Flatpak

  • Engenheiros da Igalia participaram, junto com a Valve, do trabalho em gerenciamento de cores da AMD e HDR
  • A Igalia também se envolveu em áreas como a habilitação de novos recursos do kernel Linux para melhorar o suporte ao Steam Play
  • Outros trabalhos nos quais a Valve se envolveu também se desdobram em várias frentes
    • Expansão do suporte a sistemas de arquivos case-insensitive no Linux
    • Diversos recursos do kernel
    • O compositor Wayland Gamescope
    • Atualizações de software imutáveis
    • Flatpak

Política de “Upstream everything”

  • Segundo a Igalia, parte da política da Valve é enviar tudo upstream do que está em desenvolvimento
  • Para uma visão mais abrangente das contribuições da Valve para Linux e software open source, é possível consultar a apresentação de Alberto Garcia na OSS EU 2023

1 comentários

 
GN⁺ 2023-09-23
Comentários do Hacker News
  • A Valve é querida não apenas por causa do Steam, mas porque, desde Half-Life 1, ela tenta fazer bons jogos e oferecer uma boa plataforma para os jogadores, e também porque lidou, em favor deles, com questões fora de seu domínio principal, como Linux e VR.
    Mesmo havendo pontos criticáveis, como as políticas da loja Steam, vejo a Valve como uma empresa que sempre se importou com os jogadores. Virei fã não por causa de um jogo específico, mas pelo apoio constante à ideia de tornar “jogos” algo que todos possam aproveitar.

    • Quando o Steam surgiu, foi muito criticado por causa do DRM, do declínio das mídias físicas e de uma experiência de uso grosseira e cheia de bugs, mas, olhando para trás, foi uma escolha pela qual sou grato.
      Gabe estava preocupado com o crescente interesse da Microsoft por jogos e, se a transição para a distribuição digital era inevitável, parece que ele quis criar uma plataforma favorável aos jogadores antes da Microsoft. Mesmo olhando para alternativas como Microsoft, Epic e GOG, ninguém conduziu a transição para a distribuição online melhor do que a Valve, e também foi impressionante oferecer, para jogos digitais, uma política próxima de “reembolso sem perguntas”. Mesmo em casos que não se encaixavam bem na política, como jogos quebrados fora do prazo de reembolso, a empresa criou exceções e tratou as coisas do jeito certo.
    • Alguns anos atrás, para montar uma biblioteca de jogos na conta do meu filho, presenteei-o com Conan e Elite Dangerous, que estavam em promoção, mas os presentes expiraram, foram reembolsados e a promoção acabou.
      O primeiro atendimento ao cliente não ajudou, então enviei uma reclamação ao Gabe, e um dos desenvolvedores do Steam respondeu reconhecendo que a resposta inicial não tinha sido a experiência desejada. Eles reenviaram as cópias reembolsadas dos jogos e ainda mandaram códigos para “todos os títulos atuais e futuros da Valve”, para que eu e meu filho pudéssemos jogar juntos. No fim, minha simpatia pela empresa e pela plataforma só aumentou.
    • Outro motivo para gostar da Valve é que seus jogos não estão cheios de microtransações pay-to-win nem de DLC no dia do lançamento. Se for só comprar alguns chapéus no TF2, acho aceitável.
    • O motivo pelo qual os desenvolvedores não recebem tanta simpatia dos usuários quando criticam as políticas da loja da Valve é que a Valve trata os usuários muito bem.
      A Epic enfatiza que uma loja digital pode ser lucrativa mesmo cobrando apenas 12% de comissão, mas não se vê nela, tanto quanto na Valve, o reinvestimento desse dinheiro em coisas que tornam a plataforma melhor para todos, como Steam Input, Proton e Workshop.
    • Seria bom se a afirmação de que ela “torna os jogos algo que todos podem aproveitar” fosse verdadeira, mas a acessibilidade do Steam é indesculpavelmente ruim.
      Usar o Steam com leitor de tela continua sendo difícil a ponto de as pessoas terem de escrever guias de uso, e, embora recentemente tenha melhorado um pouco no Windows, no Mac ainda é ruim. Há uma boa quantidade de jogos no Steam que pessoas com deficiência visual conseguem jogar, seja com suporte nativo ou modo de acessibilidade, mas o Steam Deck não tem nenhum suporte de acessibilidade, ao contrário do que acontece com leitores de tela existentes no Linux e com o PS5 e o Xbox, que também têm seus próprios recursos. É difícil dizer que a Valve realmente se importa.
      [1] (desatualizado) https://www.mail-archive.com/audiogames-reflector@sabahattin...
      [2] https://blind.shadows1428.com/
      [3] https://mortalkombatgamessupport.wbgames.com/hc/en-us/articl...
      [4] https://github.com/bradjrenshaw/say-the-spire
      [5] https://www.nexusmods.com/stardewvalley/mods/16205
      [6] https://www.youtube.com/watch?v=yQC6TJkBElY
      [7] https://www.a11yproject.com/posts/getting-started-with-orca/
      [8] https://support.xbox.com/en-US/help/account-profile/accessib...
      [9] https://www.playstation.com/en-us/support/hardware/ps5-acces...
  • Não tenho Steam Deck e nunca usei o SteamOS, mas, nos últimos anos, o suporte a jogos antigos e novos no Linux melhorou de forma impressionante; agora parece mais provável que quase tudo rode
    Também é excelente que a Valve não tenha guardado as melhorias só para si e as tenha enviado upstream; espero que isso continue

    • A equipe de Linux da Valve entende muito bem como os incentivos do open source se alinham aos próprios interesses
      Como eles e seus contratados enviam quase todo o trabalho para upstream, não precisam manter diferenças separadas, e também não precisam compilar diretamente a maior parte do software que distribuem. Ao contrário de muitas empresas proprietárias que tentam manter tudo o mais fechado possível internamente, a Valve sabe que cooperar de perto com projetos upstream, mesmo exigindo mais coordenação inicial, resulta em software melhor com muito menos esforço no geral. Como criador e desenvolvedor líder dos primeiros 5 anos do Proton (2016–2021), vi que a Valve, desde o primeiro dia, tratava como natural que a maior parte do trabalho fosse para upstream, e isso aparece em bons resultados e boas relações com a comunidade também em outros projetos open source
      [1] E.g. https://www.codeweavers.com/blog/aeikum/2019/3/27/how-proton...
    • Alguns dias atrás, comprei todo animado no Steam um jogo indie que parecia ótimo e fiquei chocado ao descobrir que não poderia instalá-lo porque ele não tinha suporte a Linux
      Só então percebi como era impressionante a própria mudança de eu ter presumido que o jogo rodaria no Linux como algo óbvio
    • Hoje a situação ficou tão boa que eu acabo escolhendo por padrão a versão via Proton em vez do porte nativo para Linux de um jogo
    • Fui gamer a vida toda e, há uns 3 anos, virei nômade digital em tempo integral; pedi o Steam Deck assim que as reservas abriram, recebi um dos primeiros lotes, e ele foi realmente excelente
      Não é perfeito e nem tudo roda bem, mas quase todos os jogos que quero executar funcionam, e quase todos os que jogo rodam bem o bastante. Estou jogando BG3 também no Steam Deck. Quando eu me fixar em algum lugar e montar um novo PC gamer, pretendo instalar Linux nele
    • Também quero elogiar o protondb.com. A combinação em que o Proton leva a maioria dos jogos até mais de 90% do caminho, e os relatos do protondb.com indicam os ajustes para acertar o restante, é enorme
  • Acho que uma grande razão pela qual a Valve é boa é ser uma empresa de capital fechado, o que permite uma forma de gestão não tradicional
    É diferente de uma empresa aberta que traz executivos capazes de tomar decisões absurdamente ruins. Vem à mente um caso como o da Unity

    • O fato de não haver investidores é parte da equação, então parece que a enshittification ainda não bateu à porta
      Ao mesmo tempo, a Valve também tem uma visão que pôde cultivar por muito tempo. Outras empresas fariam apenas um produto mínimo viável e iriam embora se ele não desse dinheiro suficiente, mas a Valve parece ter folga e direção para continuar colocando recursos em pesquisa, desenvolvimento e planejamento de longo prazo. Em meio a empresas abertas cada vez mais gananciosas, a Valve está tornando o mundo open source, e talvez o mundo em geral, melhor
    • Tenho muito medo do dia em que a liderança da Valve mudar. Ela é um dos poucos grandes players da indústria de jogos que não é arrastado pela ganância corporativa
    • Além de ser de capital fechado, ela também não cresceu sem critério até virar uma organização gigante e ingovernável só em nome do valor de mercado, ou simplesmente “porque podia”
    • Concordo totalmente. Para uma empresa aberta, a enshittification acaba virando quase uma obrigação, porque a lei a leva a buscar que “a linha suba”
      Já uma empresa de capital fechado pode fazer seu trabalho como um vinhedo de 500 anos na Toscana e ficar satisfeita se gerar lucro — ou às vezes menos lucro — desde que ganhe o suficiente, no longo prazo, para empregar pessoas e maximizar o artesanato. Produtos excelentes são uma consequência natural desse tipo de cultivo, e a receita geralmente acompanha bons produtos
    • Penso da mesma forma, mas isso não explica por que a CD Projekt, que é uma empresa aberta, consegue possuir e operar o GOG.com, que é mais amigável ao consumidor do que o Steam
  • Proton é um projeto realmente incrível e um ótimo exemplo de por que o Steam é uma plataforma querida pela comunidade. Não há um incentivo direto de lucro em ampliar opções e aumentar compatibilidade
    Agora, se as empresas de anti-cheat simplesmente derem suporte a Linux, as pontuações no protonDB vão disparar da noite para o dia

    • O incentivo de lucro claramente existe. É principalmente para não ficar à mercê dos caprichos da Microsoft, e a estrutura também é mutuamente benéfica para usuários de Linux
  • Nunca houve um kernel com tanto reconhecimento e adaptabilidade quanto o Linux. E poucas cargas de trabalho exigem tanto de várias áreas de um sistema operacional ao mesmo tempo quanto jogos
    Quando desenvolvedores de jogos, especialmente os que otimizam profundamente engines, começarem a contribuir para o Linux e a ajustá-lo para extrair o máximo de desempenho, vazão e baixa latência, os jogos vão avançar de maneiras que as opções atuais não conseguem acompanhar nem oferecer de forma semelhante. Se algum grande fornecedor AAA estiver lendo, considere que existe uma comunidade enorme e muito negligenciada, pronta para cooperar, ajudar e melhorar tudo o que for necessário para fazer seu produto rodar melhor. Deixem-nos fazer pelos jogos o que já fizemos em servidores, mobile e computação de alto desempenho

  • Seria bom se a Valve criasse algo como um Prêmio de Jogos Nativos para Linux
    Algo como dar um prêmio, destaque na loja e 50% de desconto na comissão para o melhor jogo nativo para Linux; e um prêmio, destaque na loja e 100% de desconto na comissão para o melhor jogo nativo exclusivo de plataforma Linux. O Proton ajuda, como o WINE, mas é um recurso auxiliar que exige muito trabalho, também pesa bastante para a Valve e atrapalha ports nativos de alta qualidade. Precisamos de mais jogos nativos como HL2 e CSGO, e a Valve não deveria fazer o trabalho dos desenvolvedores de aplicativos por eles. No longo prazo, os recursos da Valve são necessários em utilitários como Linux, Mesa, SDL etc. Acho que o objetivo do Proton deveria ser tornar a si mesmo desnecessário. O outro lado também usa APIs incompatíveis, como Mantel e Direct3D; todos os consoles obrigam o usuário a mudar de plataforma; e Apple, Microsoft, Sony e Nintendo vêm usando exclusivos de plataforma há décadas, então é difícil chamar isso de injusto. Bons jogos nativos incluem HL1, HL2, CS1, CSGO, Civilization, Tomb Raider e OpenRA, e ports no dia do lançamento são especialmente importantes

    • Não esperava encontrar outro defensor de ports nativos em 2023
      Ainda assim, é engraçado falar em a Valve dar recompensas e citar quatro jogos da própria Valve como exemplos. Na prática isso não aconteceria, mas imaginar é divertido. Quase nenhum desenvolvedor faria um jogo para economizar 15% na divisão de receita, e ninguém apostaria em exclusividade para Linux ao ver a oportunidade de economizar 30%, então não acho que seja uma proposta tão ruim assim. O problema é que estúdios AAA, que são os que menos precisam de dinheiro, poderiam acabar levando as recompensas. Mesmo assim, no fim das contas é esse tipo de port que queremos incentivar, então é ambíguo. Dá para separar em uma categoria geral e uma categoria de “equipes pequenas”, mas definir o que é uma equipe pequena seria bem complicado
    • Eu pensava assim antes, mas mudei de ideia ao ver que ports nativos para Linux como S.H.O.G.O:MAD, Terminus e The Bard's Tale hoje são quase impossíveis de jogar
      Com o Proton, dá para rodar até jogos antigos problemáticos como Dark Messiah of Might and Magic, que nem rodam mais no Windows. Insistir em ports nativos para Linux parece deixar uma boa solução escapar enquanto se persegue a perfeição, e um port nativo também não garante necessariamente nada. Claro que sou grato a desenvolvedores que oferecem ports nativos, mas no fim das contas eu só quero relaxar atirando na cara de nazistas espaciais alienígenas, não ficar pensando em como fazer esses nazistas espaciais alienígenas rodarem no meu computador
    • O motivo de ports de alta qualidade serem limitados é a forma como as dependências das distribuições Linux funcionam. Você acaba preso a versões específicas de bibliotecas
      Se desse para recompilar o código toda vez que a versão mudasse, tudo bem, mas isso não é bom quando você precisa distribuir um binário imutável. No Windows, em geral funciona bem linkar tudo estaticamente e só usar as DLLs do sistema; no Linux, mesmo que você queira, não dá para fazer isso
  • Fazendo uma divulgação meio sem graça do Steam Remote Play: https://partner.steamgames.com/doc/features/remoteplay
    Era um caso em que não havia uma boa alternativa para jogar remotamente no Linux sem latência, e agora há gente que prefere esse método ao VNC até para uso como desktop remoto

    • Vale ver https://github.com/LizardByte/Sunshine
    • Se você tem um PlayStation, também dá para usar o Playstation Remote Play com o Chiaki. Ele roda no Steam OS como os outros
    • Sunshine e Moonlight também não são ótimos?
  • Na verdade, comprei o Steam Deck porque queria apoiar o espírito do Steam Deck. Achei que poderia ser um computador realmente divertido e interessante, e fico satisfeito em ver a Valve contribuindo de novo
    Acho que as vendas claramente reforçam essa postura. Não é que eles não fizessem isso antes, mas um produto bem-sucedido ajuda a impulsionar o trabalho. Desde que recebi o meu, comprei uns 24 jogos e voltei a me envolver com games. Em viagens ele é uma salvação e, em casa, uso encaixado no dock, com um controle antigo do Stadia como dispositivo principal de entrada. O Steam Deck é um aparelho especial

    • Algo parecido: eu tinha parado de jogar no computador porque era chato e eu não tinha tempo de ir até o PC desktop com Windows
      Paguei o depósito logo depois do anúncio do Steam Deck, mas estava no fim da fila; quando chegou a minha vez eu estava de férias, perdi a notificação e só percebi três dias depois, ao ver o reembolso do depósito. Fiquei irritado, paguei o depósito de novo e fui para o fim da fila, mas a produção aumentou e não precisei esperar muito. O fator de sucesso é a conveniência esmagadora. Dá para simplesmente suspender e retomar, e até jogar um pouco durante os comerciais da TV. Também é ótimo para explorar jogos antigos ainda não jogados da biblioteca do Steam. Agora só preciso encontrar um código de trapaça para passar daquele trecho em Ravenholm, no save de Half-Life 2, em que não consigo sobreviver por falta de vida ou habilidade
    • Quase igual. Comprei o Deck principalmente para apoiar a empresa que o lançou e porque queria mexer nele pessoalmente
      Não sou um gamer hardcore e joguei um pouco alguns jogos, mas quando tenho tempo costumo jogar no Switch ou em um notebook gamer com uma placa NVIDIA topo de linha. Roda muito bem no Pop_OS!. Ainda assim, gostaria que a parte de desktop fosse um pouco mais polida. Sinceramente, acho que muita gente poderia usar o Deck não só como console, mas também como dispositivo principal de computação
    • Obrigado por me dar uma justificativa para comprar um Steam Deck. Hoje, para jogar na TV, preciso mover o desktop; com o Deck, não vou precisar ficar carregando isso de um lado para o outro. Eu estava procurando uma boa desculpa. Fico curioso se você usa só o dock básico
    • Minha maior reclamação sobre o Steam Deck é que, quando ele fica em modo de economia de energia, muitas vezes não acorda sozinho e preciso ligá-lo manualmente
      Há outras partes meio grosseiras, mas estou satisfeito
  • O ponto central são as inúmeras melhorias que engenheiros da Valve fizeram nos drivers Mesa OpenGL/Vulkan e nos componentes de drivers gráficos do kernel
    Eles contribuíram não só para os drivers gráficos da AMD que ajudam o hardware do Steam Deck, mas também para o Zink OpenGL-on-Vulkan e para a infraestrutura comum; essas contribuições nessa área foram muito benéficas também para o ecossistema de desktops Linux fora dos jogos. Olhando para Vulkan nos gráficos, Proton para compatibilidade de baixo nível com Windows, suporte a drivers, customização e opções de controles, e até a forma como tudo é enviado upstream, há algo a dizer sobre a capacidade de uma empresa de capital fechado de executar uma visão de longo prazo. De Canonical a Nintendo e Activision/Blizzard, todos deveriam se preocupar com a possibilidade de a Valve oferecer uma experiência melhor ao cliente no longo prazo e roubar seu almoço

    • Gabe já tem dinheiro demais para se importar com um cheque da Microsoft
    • A Valve faz a parte técnica funcionar direito, mas não o trabalho criativo. A Nintendo ficará bem
    • A Canonical até pode ser, mas não acho que as empresas AAA vão ficar tremendo
      É uma relação simbiótica, a menos que elas decidam que operar suas próprias lojas é melhor do que a divisão de receita de 30%. A Valve também oferece uma divisão menor acima de certo volume de vendas, então já cedeu nesse ponto
  • Quando a Valve disse pela primeira vez que levaria jogos para o Linux, eu sinceramente fiquei muito cético
    Parecia uma pose para conter as políticas predatórias da Microsoft e, mesmo que houvesse boas intenções, soava como uma promessa vazia que no fim não seria cumprida. A ideia de rodar jogos de Windows no Linux de verdade, sem hacks, gambiarras ou mágica, e não naquele nível de “às vezes roda mais ou menos se você ignorar os bugs”, parecia pura insanidade. Mas eles conseguiram. Aqueles malucos conseguiram em poucos anos, e isso é realmente impressionante. Parabéns ao Gabe, aos desenvolvedores do Steam e aos desenvolvedores do Proton

    • Dizer assim parece subestimar injustamente o trabalho árduo e o sucesso do Wine
      Nada disso teria sido possível sem o Wine, que permitiu rodar no Linux muitos jogos que não têm port nativo. Proton e SteamOS estão fechando a última milha, especialmente em termos de acabamento e facilidade de uso, e isso é importante por causa do princípio de Pareto, mas não dá para dar todo o crédito à Valve
    • Acho que o Proton certamente entra na categoria de “hacks, gambiarras e mágica”
      Só que ele é tão bem polido e empacotado que não parece um hack. Continuo me surpreendendo toda vez que vejo algo rodar tão naturalmente assim