Uma actualização extremamente importante: O patchset do CSMT foi integrado no fork do Wine usado pelo Pipelight e rebaptizado de Wine Staging
http://www.wine-staging.com/Com esta "reviravolta", já podemos trocar o Wine padrão para o fork do Wine Staging, embora seja necessário algumas configurações adicionais para aproveitar os recursos adicionais...
O Wine Staging adiciona ao Wine padrão as seguintes funcionalidades:
1. Suporte DRM aos plug-ins Silverlight, Flash, Unity3D. (Usando preferencialmente o utilitário pipelight-multi para poder usar o Firefox nativo com os plug-ins do Windows)
2. Para quem utiliza placas gráficas da NVidia: suporte ao CUDA, NVAPI, PhysX por hardware.
3. Driver proxy nativo para o sistema de áudio PulseAudio
4. Suporte nativo ao multi-threading gráfico pela GPU e CPU (CSMT)
5. Melhorias nos algoritmos de optimização em aplicações com elevado nível de acesso em recursos Input/Output.
6. Suporte às extensões DXTn
7. Suporte ao som multi-canal via DirectSound.
8. Correcções de bugs.
Actualização:Uso do PPA x-edgers.
Para instalar no Ubuntu, basta abrir o Terminal e aplicar os seguintes comandos
$ sudo add-apt-repository ppa:pipelight/stable
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install --install-recommends wine-staging pipelight-multi
Depois disso é altamente recomendando criar uma série de links simbólicos para o Ubuntu reconfigurar as associações dos executáveis:
$ sudo ln -s /opt/wine-staging/bin/wine /usr/bin/wine
$ sudo ln -s /opt/wine-staging/bin/wineserver /usr/bin/wineserver
$ sudo ln -s /opt/wine-staging/bin/winecfg /usr/bin/winecfg
$ sudo ln -s /opt/wine-staging/bin/winepath /usr/bin/winepath
$ sudo ln -s /opt/wine-staging/bin/wineboot /usr/bin/wineboot
$ sudo ln -s /opt/wine-staging/bin/wineconsole /usr/bin/wineconsole
$ sudo ln -s /opt/wine-staging/bin/regedit /usr/bin/regedit
$ sudo ln -s /opt/wine-staging/bin/regsrv32 /usr/bin/regsvr32
Na prática, os três primeiros são os mais importantes, pois caso o link simbólico não exista, basta prefixar o comando wine para iniciar o programa como habitualmente.
Recomenda-se que corra o winecfg primeiro para actualizar a Wineprefix (o padrão continuará a ser ~./wine) e prosseguir. Ou então apague a pasta para eliminar erros de configuração de vez.
Se tiver uma placa gráfica NVidia e quiser usar os recursos adicionais, então deverá instalar uma PPA de terceiros como o Xorg-Edgers:
$ sudo apt-add-repository ppa:xorg-edgers
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install nvidia-346
$ sudo apt-get install nvidia-modprobe
Deve instalar as últimas versões dos drivers da Nvidia e ter uma GPU Kepler/Maxwell para funcionar correctamente. Infelizmente é necessário instalar o pacote modprobe da Nvidia para carregar correctamente o driver CUDA, pois não instala automaticamente como devia.
Quando terminar a instalação verifique se na descrição da placa gráfica (Painel de Controlo da NVidia) indica a referência a CUDA cores, pois as placas mais baratas regra geral não suportam CUDA.
- Se tudo correr bem, tente aceder ao site
http://cuda-z.sourceforge.net/ e transfira as versões Linux e Windows do programa.
Corra primeiro a versão Linux e aguarde pelo resultado da análise (se der erro, então as extensões CUDA não estão correctamente instaladas ou a placa não é suportada
), depois corra a versão Windows para confirmar.
- Suba um pouco a parada e instale o runtime do PhysX para Windows e o seguinte programa de benchmark:
http://www.ozone3d.net/benchmarks/physx-fluidmark/.
A não ser que a sua CPU suporte AVX2 como é o caso da 4ª geração Core, verificará uma grande diferença na velocidade de processamento usando a CPU e a GPU, pois nos últimos processadores da Intel já estreitaram significativamente essas diferenças de poder numérico.
O NVAPI é uma API low-level complementar ao DirectX e OpenGL que habilita o acesso a funções internas das placas de vídeo NVidia. Certos jogos de última geração utilizam funções de optimização NVAPI para ganhar um rácio significativo no cálculo de física, renderização e processamento gráfico em relação ao uso exclusivo das API high-level (Direct3D e OpenGL). Por agora, o suporte ao NVAPI pelo Wine Staging é restrito e serve maioritariamente para o runtime do PhysX carregar o wrapper do CUDA e efectuar os cálculo via GPU.
Na próxima versão (1.7.35) pretende-se a correcção de bugs para usar o OpenCL para este fim, se bem que os jogos via Wine Staging tendem a usar a GPU interna da Intel para este fim (pois o suporte OpenCL da Intel é tecnologia aberta).
O suporte CUDA é um wrapper via nvcuda.dll que carrega as bibliotecas CUDA nativas dos drivers da NVidia, correspondendo a uma transcrição directa das funções, excepto as funções de exportação via Direct3D que são implementadas via OpenGL.
O suporte ao CSMT é universal para todas as placas gráficas
e agora basta abrir o winecfg, abrir o tabulador staging e clicar na opção para activar o CSMT. Com isso, o desempenho nos jogos irá aumentar significativamente, se bem que com uma melhor gráfica e processador também ajuda (e muito)!
Entretanto outros patches em cursos incluem o multi-sampling das faixas de som via DirectSound (parcialmente implementado), que permitirão acabar com alguns slow-dows de certos jogos devido à ausência do suporte por partes dos drivers Linux dos streams sonoros via hardware. Outro patchset ainda no adro é a correcção e implementação das funções de inicialização do Direct3D 10 e 11.
Mas por agora, aproveitem a novidade.