Kernel Fsync no Fedora
Contextualizando:
Em 2018, o Steam, da proprietária Valve lançou a nova versão do Steam Play, de codinome Proton, que nada mais é que uma versão empacotada e customizada do Wine, somadada a outras ferramentas. A nota de lançamento pode ser conferida neste post e proporcionou aos gamers Linuxers uma nova alternativa de rodar jogos que as empresas desenvolvedoras não publicavam um port, argumentando a falta de interessados e o market share baixo do Linux em desktops. A Valve, juntamente com a Codeweavers e a comunidade de usuários interessados em adicionar melhorias ao código, vêm desenvolvendo desde então uma maneira de executar os games nos mais variados tipos de hardwares, apoiando-se em APIs como Vulkan, sendo utilizados através do DXVK e D9VK, onde este ultimo já encontra-se incorporado ao primeiro. Ainda assim, todo o esforço ainda não foi suficiente, e outros recursos extras foram sendo criados, como o Esync, prometendo reduzir o overhead e aumentar a performance dos jogos. Ainda assim, os experimentos foram além e é neste ponto que chegamos ao patch Fsync, que é implementado a nível de kernel.
Afinal, o que é o Fsync?
É um recurso que tem como objetivo reduzir o uso de CPU e a Valve tem trabalhado para que seja compatível em todos os games em sua biblioteca.
Veja algumas informações aqui: https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305
Mais informações podem ser encontradas também aqui nesta thread
https://steamcommunity.com/app/221410/discussions/0/3158631000006906163/
Instalando o Kernel Fsync no Fedora:
a) Adicionando o repositório:
$ sudo dnf copr enable gloriouseggroll/kernel
b) Para que você não receba o kernel mainline, adicione ao repositório o parâmetro priority=1
assim:
# echo Priority=1 >> /etc/yum.repos.d/_copr\:copr.fedorainfracloud.org\:gloriouseggroll\:kernel.repo
c) Instalando o kernel
$ sudo dnf update --refresh
$ sudo dnf distro-sync
Reinicie o computador, abra o steam via terminal e acompanhe as mensagens no prompt. Ao abrir um game, você deve ver a mensagem fsync up and running
o que significa que ocorreu tudo bem.
Comente se esta dica ajudou e se o desempenho em algum game específico foi melhorado.
Referências:
https://copr.fedorainfracloud.org/coprs/gloriouseggroll/kernel/
https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305
https://steamcommunity.com/app/221410/discussions/0/3158631000006906163/
Favor corrigir o texto. Esse patch não tem nada a ver com disco, mas sim com sincronização entre threads. Fonte: https://lkml.org/lkml/2019/7/30/1399