Jogos de Windows no Linux, via Cedega

EM CONSTRUÇÃO

Neste artigo irei tratar do mais importante wrapper para executar jogos em Linux, o Cedega. Desvendar todos os seus recursos e aprender a configurar o wrapper de forma que ele possa trabalhar da melhor maneira possível de início parece penoso, onde
muitas vezes o processo passa a ser por tentativa e erro, com o passar do tempo você irá ganhar experiência e perceberá que muitos dos problemas podem ser resolvidos de forma prática desativando ou habilitando recursos necessários para a aplicação. Se
após tentar de tudo para executar o jogo o resultado ainda não foi satisfatório, existem inúmeras fontes de informações sobre como tentar rodar jogos via Cedega na internet, é só dar uma busca pelo Google e cruzar os dedos, mas às vezes a informação que
você precisa pode estar nos sites e fórums mais obscuros e mal organizados, é exatamente por esse motivo que aqui estou fazendo o possível para organizar as informações e facilitar parte deste trabalho pra você 😉

O Cedega é um projeto baseado no Wine, mas antes, do que se trata tudo isso? Lá vamos nós.

Wine, o começo de tudo.

O Wine é um projeto open source para tentar implementar as chamadas das APIs do Windows no Linux, resumindo, é um programa feito para rodar aplicações Windows no Linux. Ele não pode ser considerado um emulador, a origem do nome já especifica bem isso,
pois Wine além de significar vinho em inglês na verdade não passa de uma sigla que significa Wine Is Not a Emulator (Wine não é um emulador).

O Wine não emula componentes reais ou cria máquinas virtuais protegidas como o VMWare ou Qemu, ele simplesmente repassa os comandos de Windows para chamadas correspondentes em Linux, logicamente que existem uma série de adaptações que são feitas até
mesmo em tempo de execução para que isso ocorra da maneira mais correta possível, e é exatamente aí que projetos como o Wine e derivados dele podem perder performance. Para burlar certos problemas de correções existe a possibilidade de se usar bibliotecas
reais de Windows, para isso basta copiar as DLLs necessárias ou apontar diretamente para uma instalação do Windows, porém, isso vai totalmente contra meus princípios. Pode parecer puritanismo, mas o problema é que copiar DLLs ou usar uma cópia do Windows
instalada quebra o objetivo de se usar o Linux, que é a liberdade de escolha sem problemas legais, e para usar estes recursos citados é indispensável ter a licenças dos softwares ao qual as bibliotecas são usadas.

O próprio projeto do Wine inclui diversas bibliotecas que substituem as DLLs reais, que foram feitas realmente “na raça”, isto é, não tem como base o código fonte original ou o uso de engenharia reversa, tudo é feito na técnica da tentativa e erro.
Parece absurdo mas é a única maneira do projeto Wine continuar a existir e não se tornar ilegal, pois não dá para usar o código fonte do Windows pois não é aberto e o uso da engenharia reversa poderia trazer grandes problemas legais para a equipe
responsável e para quem o utiliza.

O grande problema não é apenas acertar o funcionamento dos programas e criar DLLs e camadas de interpretação, a maior dificuldade é esbarrar no conceito dos recursos não documentados do Windows, que podem ser desde bugs do sistema que são explorados
por programas até chamadas que não constam em nenhum manual da Microsoft, por exemplo. Existem inúmeros programas comerciais e jogos que fazem uso de chamadas não documentadas, o que justifica algumas vezes casos em que o mesmo programa não roda em
versões diferentes do Windows, como jogos que rodam no Windows 98 mas não rodam no Windows XP, não foi só a mudança de arquitetura, é que os “bugs” que o jogo usava foram corrigidos e deixaram de existir em novas versões do sistema. Para contornar o
problema a Microsoft abre mão de recursos como um banco de dados incluído no Windows para avisar problemas de incompatibilidade de programas, afinal, você pode já ter dado de cara com uma mensagem do tipo ” Este programa não é compatível com esta versão
do Windows”.

Imaginou englobar todos esses aparatos e reuni-los na forma de tentativas e erros até chegar em algoritmos que se assemelhem ao funcionamento original do sistema? É por isso que devemos respeitar os limites do Wine e compreender que as coisas não são
tão rápidas, mas tudo é uma questão de esperar, eu mesmo já percebi que neste caso as coisas funcionam assim.

Cedega, o Wine para jogos

Existem outros projetos que são pagos e são baseados no código do Wine, os mais conhecidos são o Crossover Office, que é voltado para executar aplicativos proprietários conhecidos como a suíte Office e programas gráficos como o Adobe Photoshop. Inúmeras
modificações foram aplicadas mas o desenvolvedor resolveu tornar o projeto pago, seja pelo motivo de se usar algum sistema proprietário avulso anexado ou pelo simples motivo de continuar o projeto com a compra das licenças.

Para os jogos existem algo similar, o Cedega, antigamente chamado de Wine X. Seu nome também não é nenhuma inspiração divina, parte do princípio que se o Wine é ao pé da letra vinho em inglês, Cedega é uma classe mais sofisticada de vinho… E olha que
na mudança de nome muitos não gostaram e alguns o ridicularizam até hoje, mas o jeito é conviver com essa falta de criatividade 🙂

Transgaming, desenvolvedora do Cedega, diz cobrar pelo projeto pois ele utiliza códigos de quebra de detecção do sistema anti pirataria em CDs, o que é ilegal nos Estados Unidos, assim com o pagamento de uma taxa mensal eles podem pagar o uso desta
tecnologia e continuar o projeto. Antes havia uma menção no site a respeito de que se obtivessem um número grande de associados a Transgaming iria liberar todo o código e passaria a não cobrar mais, mas não se falou mais nisso e essa informação
desapareceu, vai ver que eles estão ganhando dinheiro com isso e não querem que isso mude, se bem que não vejo nada de errado, afinal, a taxa por mês é praticamente simbólica perto dos benefícios do programa, e não estabelece quantidade de downloads ou de
uso pelo usuário, é um pagamento apenas para contribuir com o projeto.

Segundo sei, as leis que limitam o Cedega só se aplicam nos Estados Unidos, portanto, nós brasileiros não precisamos nos preocupar com isso, podemos baixar o Cedega e usá-lo à vontade. Eu pago a mensalidade apenas como prova de solidariedade, mas já o
usei muitos meses através de downloads fora do site oficial.

Existe a versão do Cedega via CVS, que ainda é chamada de Wine X por muitos. Este é realmente gratuito até mesmo nos Estados Unidos, pois não contém os códigos de quebra de sistemas anti pirataria. Se bem que este tão falado código não resolve boa
parte dos problemas, você terá ainda que recorrer quase sempre a cracks para rodar os jogos sem problemas em Lan Houses, um procedimento que não é ilegal a partir do momento que você tiver as licenças dos jogos para os utilizá-los como bem entender.

.: Requerimentos do sistema

A cada nova versão a compatibilidade aumenta permitindo a execução de novos jogos. O maior problema que jogos menos expressivos no mercado são praticamente esquecidos pela Transgaming, logo veremos como tentar contornar problemas e tentar nos tornar
“garimpeiros” de jogos compatíveis com o Cedega.

Os requisitos mínimos de software para executar o cedega são:

– Kernel 2.2;

– Xfree86 4.0 ou superior (recomenda-se 4.2 ou superior);

– glibc 2.2 ou superior;

– OpenGl acelerado via hardware;

.:Os requisitos mínimos de hardware são:

Processador Pentium III ou Athlon acima dos 500Mhz;

– 64Mb de memória; 128Mb altamente recomendados;

– Alguns gigabytes livres de disco para os jogos;

– Placa 3D suportada pelo Linux com 16Mb de memória. É recomendado o uso de chipsets Nvidia GeForce. Placas ATI Radeon 8500 ou superiores com os drivers instalados corretamente podem funcionam em boa parte dos jogos, mas pode haver perdas de
performance e compatibilidade;

Neste caso posso dizer que os requerimentos mínimos que a Transgaming passa me lembra um pouco a época do Windows 95 ao qual a Microsoft escreveu no manual que um 386 com 4 Mb de memória era o requerimento mínimo para o sistema… Vou dar dar uma
modificada no que a Transgaming escreveu, veja a minha recomendação geral:

`Kernel 2.6, apesar da Transgaming acusar anomalias nunca tive problemas, e mais, o ganho de desempenho em jogos é assustador;

Processador com no mínimo 1Ghz e 256Kb de cache, esqueça Celeron, Duron ou coisa parecida, recomendo apenas a série Athlon, Pentium 3, P4 ou superiores. Processadores econômicos mostrarão suas fraquezas ao executar aplicações via Cedega;

256Mb de memória, e se quiser menos dores de cabeça, 512Mb de memória também são bem vindos, afinal, estamos falando de jogos aqui;

Placas de vídeo só se forem GeForce em diante, se puder desembolsar um pouquinho mais recomendo os GPUs GeForce FX 5700 ou superiores, caso contrário os modelos GeForce 4 MX ou GeForce FX 5200 fazem o serviço até o limite da placa. 64Mb de vídeo vai
bem, a fórmula aplicada é, quanto mais memória melhorar para você mesmo, os jogos estão ficando bem exigentes. Posso dizer que 128Mb a 128 bits de barramento estão mais do que suficientes, só fique esperto para não comprar placas com 64 bits de barramento
de memória, que estrangulam a performance e tem uma diferença de preço irrisória.

.: Configurando o seu micro para o Cedega

Verifique se a sua placa de vídeo está com a aceleração 3D ativada.

Verifique se os últimos drivers para a sua placa de vídeo estão instalados no sistema e se o OpenGL está executando corretamente. No caso de usuários com placas Nvidia, basta entrar no site http://www.nvidia.com e procurar pelos drivers de acordo com a
sua distribuição, e para os usuários de placas ATI visitem o site http://www.ati.com procurando pelos drivers de Linux para a sua distribuição.

Para testar se a sua placa de vídeo está renderizando via hardware o suporte a OpenGL, execute o seguinte comando:

$ glxinfo | grep #direct rendering#

A saída de texto irá retornar “direct rendering:”, se aparecer em seguida “Yes” ou “Enabled” significa que está configurado corretamente. Caso apareça “No” ou “Disabled” então verifique novamente a sua configuração 3D.

Se desejar executar um teste de performance é só executar o conhecido comando glxgears. Irão aparecer os FPS (Frames Per Second ” Quadros Por Segundo) na linha de comando, se a aceleração 3D estiver corretamente habilitada deverão aparecer acima de 500
FPS, se o resultado for inferior a este você deve checar novamente a configuração 3D.

Em alguns casos é possível ter várias bibliotecas OpenGL instaladas no sistema, se estiver tendo problemas com o Cedega você deve verificar se este é o seu caso, que pode ser observado executando o comando:

$ locate libGL

O comando irá exibir qualquer biblioteca OpenGL que estiver no seu sistema, em particular você deve observar nos diretíros /usr/lib e /usr/X11R6/lib. Algumas vezes as bibliotecas via software do Mesa OpenGL podem estar instaladas em /usr/X11R6/lib e os
drivers de aceleração via hardware ficaram em outro lugar. Não recomendo remover as bibliotecas Mesa que estiverem em /usr/X11R6/lib, com exceção se a renderização 3D insistir em ficar lenta no Cedega.

Verifique as permissões dos dispositivos de CD e pontos de montagens

Muitos jogos de Windows usam um sistema de proteção contra cópias que exigem que o Cedega possa ter permissões de leitura no CD-ROM, bem como executar arquivos diretamente no ponto de montagem do CD-ROM. Verifique se os seus dispositivos de CD e os
pontos de montagem estão com as permissões apropriadas para permitir o funcionamento do Cedega.

Se você não souber quais os dispositivos e pontos de montagens que estão sendo usados pelo seu sistema, você pode ler no arquivo /etc/fstab ou pedir mais informações usando o comando:

$ less /etc/fstab

Para mudar as permissões para o seu CD-ROM e ponto de montagem, execute os seguintes comandos em root:

# chmod a+r [Dispositivo CD-ROM]

# chmod a+rx [Ponto de montagem do CD-ROM]

No Kurumin posso dar o seguinte exemplo:

# chmod a+r /dev/cdrom

# chmod a+rx /mnt/cdrom

Algumas distribuições Linux usam dispositivos com links simbólicos, você deverá também mudar as permissões dos links dos dispositivos, para ver se um dispositivo está “linkado” digite o seguinte comando:

$ ls -la [Dispositivo CD-ROM]

Este comando irá retornar a informação que irá se assemelhar com esta, por exemplo:

lr-xr-xr-x 1 root root 13 Aug 21 14:45 /dev/cdrom -> cdroms/cdrom0

Se a saida mostrar um “->” então o dispositivo possui um link. No exemplo o dispositivo /dev/cdrom está simbolicamente “linkado” ao dispositvo /dev/cdrom/cdroms/cdrom0. Verifique e mude as permissões para todos os dispositivos “linkados”.

Em algumas circunstâncias você pode editar o arquivo /etc/fstab para ter certeza que alguns usuários terão acesso ao ponto de montagem do CD-ROM.

Verifique o arquivo XF86Config-4

Os jogos poderão tentar mudar a resolução da tela para se enquadrar em suas necessidades, verifique se a sessão “Screen” no seu arquivo de configuração XF86Config-4 possui o número de resoluções necessárias. As mais comuns são: 1600×1200, 1280×1024,
1024×768, 800×600 e 640×480. Se o jogo não estiver sendo executado em tela cheia verifique as configurações do jogo para ter certeza da resolução usada e veja no arquivo XF86Config-4 se consta esta mesma resolução.

Dica: Você pode ter uma performance melhor com alguns jogos se executar o servidor X em 16 bits de cor, mas também outros jogos podem apresentar grades de cores visíveis ou talvez nem executem (caso do Doom 3 nativo).

Desabilite os servidores de som

Alguns sistemas de desktop Linux como o KDE e Gnome rodam servidores de som como o Arts e o esd. Estes servidores de som podem causar problemas de som no Cedega por usarem acesso exclusivo aos dispositivos de som. Se você estiver com problemas
desabilite qualquer servidor de som ou outra aplicação que possa estar usando o dispositivo, como o Xmms.

Verifique as limitações de espaço

Alguns sistemas podem ter cotas de espaço restritivas no diretório /home. Estas limitações podem causar informações incorretas de espaço livre informadas pelo Cedega. Você poderá ter problemas instalando jogos com essas informações incorretas ou ser
avisado que não há espaço suficiente no seu sistema. Se perceber qualquer mensagem de erro relativo a isso, disabilite as cotas de disco ou faça um link simbólico para um dispositivo com mais espaço livre disponível.

.: Memória AGP

É importante ter certeza que seu sistema esteja configurado com uma memória AGP suficiente, para isso verifique na BIOS a quantidade de memória que o barramento AGP poderá requisitar, geralmente o nome encontrado na BIOS é “AGP Aperture Size”. É
recomendado que você modifique este valor para pelo menos 128Mb. A quantidade de memória através do AGP que será utilizada pelo sistema é controlada pela opção AGPVertexRam na sessão [x11drv] do seu arquivo de configuração (no Point2Play esta opção é
chamada AGP Memory Available). Uma boa dica é deixar o valor aproximadamente metade do valor colocado na BIOS, é importante ser menor do que o valor da BIOS pois o sistema também usa o barramento AGP para a transferência de texturas. Por exemplo, se o seu
“AGP Aperture Size” na BIOS estiver com 128Mb você deverá configurar para o Cedega utilizar 64Mb de memória AGP para os dados de vértices.

Nas versões anteriores o valor do AGPVertexRam era de 16Mb, mas ele foi aumentado para 32Mb a partir da versão 4.1. É recomendado que você verifique na BIOS para deixar o valor da memória AGP em 64Mb ou mais, dependendo da quantidade total de memória
do seu sistema.

Recomendo o uso dos últimos drivers da Nvidia, pois a versão 66.29 tinha algumas problemas com a transferência de dados em larga escala via AGP, ocasionando algumas anomalias em jogos mais exigentes com Half-Life 2.

Atenção: Placas da ATI podem apresentar um desempenho inferior ou problemas de instabilidade e falta de suporte a alguns efeitos, portanto, não recomendo o uso destes chipsets até o momento, salvo se o usuário já tiver a placa e desejar fazer alguns
testes. Em Lan Houses os chipsets ATI são apenas recomendados para uso em Windows, enquanto a ATI não trabalhar em drivers de melhor qualidade não posso recomendar a aquisição de placas com esses chipsets para esses estabelecimentos.

.: Instalação do Cedega

O Cedega está disponível em vários pacotes designados para diversas distribuições Linux, porém a Transgaming não dá suporte oficial para pacotes compilados da fonte.

Primeiramente verifique o pacote indicado para a sua distribuição:

– rpm – RedHat Package Management (RedHat Linux, Mandrake Linux, etc)

Para instalar o pacote rpm do Cedega entre em um terminal e execute o seguinte comando como root:

# rpm -ivh cedega-[version].rpm

-deb – Debian Package (Debian GNU/Linux e derivados)

Em nosso caso este é o pacote indicado, pois o Kurumin é baseado em uma distribuição Debian. Para instalar o pacote deb do Cedega entre em um terminal e execute o seguinte comando como root:

# dpkg -i cedega_[version].deb

– tgz – Tar GZipped Package (Slackware Linux, etc)

Para instalar o Cedega de um pacote tgz abra o console em um terminal e execute o seguinte comando como root:

# cd /

# tar -xvzf cedega-[version].tgz

Algumas distribuições usam suas próprias ferramentas para gerenciar pacotes, como o Gentoo e Slackware, no caso o pacote tgz do Cedega pode ser usado pela maioria destas ferramentas.

Exibição de conteúdos em HTML e fontes especiais

A partir do Cedega 4.2 foi incluído o componente de controle ActiveX para o Mozilla, que se tornou responsável pela exibição correta do conteúdo HTML em alguns jogos online. Verifique se este componente está instalado corretamente e ativado para
visualizar corretamente os conteúdos HTML nas aplicações. Contudo, existem casos em que mesmo com o componente instalado corretamente os conteúdos em HTML podem não ser apresentados ou mostrar anomalias.

Para instalar o “Mozilla ActiveX Control”, você deve baixar um arquivo semelhante a esse no site da Transgaming:

transgaming-mozctlinstaller_1.0-1_i386.deb

Logicamente a versão poderá ser diferente e o nome de arquivo também, tudo irá depender da distribuição Linux utilizada. Como este livro está enfocando o Kurumin / Debian, você deve usar o dpkg para instalar o pacote, para isso deve entrar em um
terminal em root no diretório que estiver o arquivo e digitar:

# dpkg -i transgaming-mozctlinstaller_1.0-1_i386.deb

Agora para instalar o componente você deverá possuir ativada uma conexão com a internet, para isso no terminal você deverá digitar:

$ tg-mozctl-install

O instalador irá verificar a versão do Mozilla Control e irá baixar a mais atual. Os componentes estarão dentro do diretório do usuário em:

/home/USUÁRIO/.transgaming_global/mozcontrol

Para complementar a instalação você deve também ter as fontes necessárias para uma boa exibição de texto em alguns jogos. O nome do arquivo a ser baixado se assemelha com este:

transgaming-fontinstaller_1.0_i386.deb

Para instalar use o dpkg novamente em root:

# dpkg -i transgaming-fontinstaller_1.0_i386.deb

Agora você deverá digitar o seguinte comando:

$ tg-font-install

Leia a licença e caso concorde o instalador irá baixar as fontes necessárias pelo Cedega. As fontes estarão instaladas em

home/USUÁRIO/.transgaming_global/mozcontrol.

Recomendo também a instalação de outras fontes, no kurumin elas podem ser instaladas também em root com o comando:

# update-ms-fonts

Que irá baixar fontes da Microsoft cuja licença foi liberada de forma limitada, mas podem ser usadas pelos usuários sem dores de cabeça… Vindas da Microsoft? É um milagre!

Com os componentes instalados corretamente boa parte da incompatibilidade na exibição de textos em alguns jogos, principalmente os que usam a plataforma steam, estarão resolvidos.

: Instalando um jogo pelo Cedega

Para instalar um jogo usando o cedega abra um terminar e siga os seguintes procedimentos:

Insira e monte o seu drive de CD

Para o seguinte exemplo vamos assumir que o ponto de montagem do CD-ROM é o /mnt/cdrom; a sua configuração pode se diferente dependendo da sua distribuição Linux. O ponto de montagem do seu CD-ROM pode ser encontrado no arquivo /etc/fstab.

Com o CD montado verifique o conteúdo do disco.

$ ls /mnt/cdrom

A maioria dos instaladores terão o nome de “setup.exe” ou “install.exe”, se este não for o caso você deverá localizar o executável do instalador, que poderá estar listado na documentação do jogo, ou poderá dar uma olhada na página de informações dos
jogos no site da Transgaming.

Ao localizar o executável correto, instale o jogo com o comando:

$ cedega /mnt/cdrom/setup.exe

Agora é só seguir as instruções do instalador do jogo. Você poderá perceber alguns erros gráficos durante o processo de cópia, geralmente isso não afetará a instalação.

Alguns jogos precisam de instruções ou métodos especiais para serem instalados, se estiver tendo problemas com a instalação do jogo verifique o banco de dados e fóruns encontrados no site da Transgaming.

.: Instaladores com vários discos

Alguns jogos possuem vários discos para serem instalados e não irão permitir que o CD-ROM seja desmontado e irão acusar que o dispositivo está ocupado, se este for o seu caso deverá usar a opção “-monitor-cdrom-eject”, assim ao pressionar o botão eject
no drive de CD-RW ou DVD o disco irá desmontar e ejetar automaticamente. Se o seu drive não for CD-RW ou DVD você terá que executar o comando:

$ killall -USR2 wineserver

Este comando irá desmontar e ejetar todos os CD-ROMs. Note que este comando pode causar problemas se houver vários processos do wineserver sendo executados.

Esta funcionalidade está desabilitada por padrão devido ao fato de que os drivers de alguns hardwares podem causar problemas com cartões flash ou degradar a performance.

Para maiores informações veja o tópico “Sistema de ejeção de CD/DVD” abaixo.

.: Executando um jogo pelo Cedega

Existem três métodos para iniciar um jogo quando ele estiver instalado:

Usando o ícone do desktop

Alguns (não todos) os jogos irão criar um ícone na área de trabalho durante o processo de instalação, para iniciar o jogo simplesmente execute o ícone com um ou dois cliques no mouse, dependendo da configuração do seu gerenciador de janelas.

Se você desejar passar opções especiais ao Cedega ou ao jogo edite o atalho no desktop e adicione as propriedades das opções manualmente.

Usando o menu iniciar

Alguns jogos, em algumas distribuições Linux, irão adicionar o atalho no menu iniciar do seu desktop. Abra o menu iniciar, vá para Transgaming -> Programs e então procure o nome do jogo ou distribuidor e selecione o ícone desejado.

Novamente, se desejar passar opções especiais ao Cedega ou ao jogo edite o atalho no desktop e adicione as propriedades das opções manualmente.

Usando a linha de comando

Abra um terminal e vá para o diretório do jogo usando os comandos:

$ cd ~/TransGaming_Drive/Program Files/[Diretório do Jogo]

$ cedega [Opções do Cedega] game.exe [Opções do jogo]

As opções podem ser passadas tanto para o Cedega quanto para o jogo usando a linha de comando.

As opções para o Cedega são:

bigexe

Alguns instaladores compactados assumem algumas questões sobre a estrutura e memória disponíveis em um processo, porém isto pode conflitar com a estrutura de memória do Linux. Para prover um ambiente melhor de memória para estes instaladores o script
de instalação do Cedega pode usar esta opção “-bigexe”.

Esta opção é necessária para executáveis com uma tamanho maior do que o normal, tipicamente isto ocorre apenas com instaladores de demos que vem empacotados em um único e imenso executável. Esta opções não será necessária para a maioria dos
instaladores, excessões podem ser encontradas como o caso do download do instalador do jogo Everquest.

use-pthreads

Esta opção sobrescreve o uso de pthreads, porém ela deverá ser manipulada automaticamente pelo Cedega, mas se houver problemas esta opção será necessária para modificar os pthreads. Os valores aceitas são “yes” ou “no”.

-winver

Especifica a versão do Windows que o Cedega irá reportar: win95, win98, winme, nt351, nt40, win2k, winxp, win20, win30 e win31. O padrão é win98.

-debugmsg

Mostra as informações e saídas de erro:

+all, -all, +relay, +dsound, +err são as opções mais comuns, -all é a opção padrão que não irá exibir nenhum erro.

-use-dos-cwd

Especifica o diretório de trabalho do Cedega. O padrão é o diretório corrente. Os diretório precisam ser especificados usando o padrão DOS ou Linux de nomes de arquivos.

-monitor-cdrom-eject

Habilita a funcionalidade da ejeção do CD pelo botão do periférico. Esta opção está desabilitada por padrão e tipicamente é apenas necessária em alguns instaladores que possuem vários discos. Quando habilitada, os drives de CD-ROM irão periodicamente
ser verificados para ver se o botão eject foi pressionado. Mesmo quando desabilitada, a ejeção pode ser forçada enviando um sinal USR2 para o processo wineserver. Deve-se tomar cuidado ao habilitar esta opcão em sistemas que possuem drives de cartão flash
compactos.

-version

Exibe a versão do Cedega que você está usando.

As opções individuais para os jogos podem normalmente ser encontradas nos arquivos “Readme” que acompanham os jogos.

.: Configurando o Cedega

Vamos agora dar uma olhada em algumas sessões importantes do arquivo de configuração do Cedega, que normalmente se encontra no diretório:

/home/USUÁRIO/.transgaming/config

Note que o diretório transgaming está oculto pois possue um ponto inicial.

O arquivo segue o padrão texto em ASCII, então pode ser usado qualquer editor de textos simples para editá-lo. Ao iniciar o Cedega pela primeira vez o diretório “.transgaming” será criado automaticamente para você com um estado pré-configurado. Este
estado inicial é copiado do diretório:

/usr/lib/transgaming_cedega/.transgaming

Agora vamos ao que interessa 😉

Sessão [Drive X]

Esta sessão define quais unidades dos drives o Cedega irá usar, novos drives podem ser especificados nesta sessão se necessários. Qualquer CD-ROM ou DVD conectados ao sistema podem ser automaticamente detectados pelo Cedega em plena execução, e novas
letras para os drives irão ser dinamicamente criadas para eles. Você não precisa adicionar o seu CD-ROM ou DVD manualmente a não ser que esteja tendo problemas com a configuração.

O formato desta sessão vem a seguir:

[Drive LETRA]

O nome do drive, onde a LETRA é a letra do DOS/Windows.

Path = LOCAL

Dá a localização da raíz do drive.

Type = TYPE

Especifica o tipo do drive, os tipos suportados são: floppy, hd, cdrom e network.

Label = XXXX

Rótulo do drive, máximo de 11 caracteres.

Serial = XXXX

Número serial do drive, máximo de 8 caracteres em hexadecimal.

Filesystem = TIPO

Sistema de arquivos suportado, os tipos são: dos, fat, win95, vfat e unix.

Device=/dev/DISPOSITIVO

Permite especificar um dispositivo se o acesso em formato raw for requerido. É recomendável que este dispositivo seja linkado simbolicamente ao invés de usar o dispositivo direto.

Sessão [wine]

Esta sessão é para opções gerais:

“MozillaControl” = “Y”

Esta opção define se o Cedega irá usar o controle do Mozilla ActiveX se estiver disponível. O padrão é “Y”.

Sessão [DLLOverrides]

Esta sessão define quais DLLs serão usadas pelo Cedega, A sintaxe é:

“dllname” = “builtin, native”

ou

“dllname” = “native, builtin”

A ordem define qual será usada primeiro. Se o “builtin” vier primeiro então serão usadas as DLLs internas do Cedega, se o “native” vier primeiro então o Cedega irá usar a DLL nativa do Windows se estiver presente no diretório de configuração do
sistema. Ocasionalmente, usar DLLs nativas do Windows pode aumentar a compatibilidade em alguns programas.

Sessão [Version]

Esta sessão mostra a versão que o Cedega deverá “imitar”, reportando a versão aos programas executados.

“Windows” = “win98”

Define a versão do Windows a ser reportada, os valores válidos são:

win20, win30, win31, win95, win98, winme, nt351, nt40, win2000 e winxp.

O padrão é win98.

“DOS” = “6.22”

Define a versão do DOS a ser reportada.

Sessão [x11drv]

Esta sessão contém as configurações para a interação entre o Cedega e o servidor X. Algumas opções usadas normalmente são:

“Managed” = “Y”

Esta opção avisa se a janela poderá ser controlada pelo Cedega ou pelo gerenciador de janelas. O padrão é “Y”, que impõe que o controle deve ser feito pelo gerenciador de janelas ao invés do Cedega.

“Desktop” = “800X600”

Esta opção permite executar o Cedega em uma janela de tamanho especificado, esta linha está comentada por padrão, permitindo aos jogos criar uma janela no topo do nível do X para cada janela criada.

“DXGrab” = “Y”

Esta opção habilita a possibilidade de se requisitar o mouse pelo DirectX simulado. O padrão é “Y”, que fará com que a aplicação bloqueie o cursor do mouse dentro da janela, tipicamente usado quando uma aplicação precisa ser usada em tela cheia no
sistema.

“XVidMode” = “Y”

Esta opção permite que as aplicações redimensionem a resolução da tela. Por padrão esta opção fica habilitada, permitindo que as aplicações alternem entre as resoluções listadas dentro do arquivo de configuração XF86Config-4.

“UseXRandR” = “N”

Use a extensão XRandR, se presente, para redimensionar a resolução da tela.

Esta opção é semelhante ao XVidMode, mas pode prover funcionalidades adicionais em certos casos.

“ShowFPS” = “N”

Esta opção ativa as informações da Trasngaming que serão exibidas sob a imagem da aplicação. Neste caso será exibido os FPS. O padrão é desativado.

“ShowMEM” = “N”

Esta opção ativa a exibição de estatísticas de memória quando as informações da Transgaming estiverem habilitadas, portanto, você deve habilitar a monstragem dos FPS para que esta opção seja funcional. O padrão é desativado.

“VideoRam” = “32”

Aqui deve constar a quantidade de memória RAM em megabytes que sua placa de vídeo possue.

“AGPVertexRam” = “32”

Aqui fica a quantidade de memória em megabytes que deve ser alocada para usar com os buffers acelerados de vértices quando usar a extensão NV_VAR. Um bom valor para esta opção é a metade do valor da opção “AGP aperture size” da BIOS. Para melhores
resultados usando o Cedega você deve alocar 128Mb de “AGP aperture size” na BIOS e colocar o valor 64 na opção AGPVertexRam.

“NV_VAR” = “Y”

Habilita o uso da extensão Nvidia da faixa da matriz de vértices para os buffers de vértices acelerados via hardware. Esta extensão está apenas disponível em placas Nvidia. O padrão é “Y”. Esta opção precede sobre a opção ARB_VBO se ambas estiverem
disponíveis.

“ARB_VBO” = “Y”

Habilita o uso da extensão de buffer de vértices ARB no OpenGL para os buffers de vértices acelerados via hardware. Esta extensão está disponível em placas Nvidia e ATI, porém o suporte é ainda experimental e até o momento não é considerado maduro ou
totalmente funcional como a extensão NV_VAR. O uso da NV_VAR é recomendável se estiver disponível. O padrão é habilitado.

Sessão [d3dgl]

Esta sessão contém as configurações para a funcionalidade gráfica avançada.

“AnisotropicTextureFiltering” = “N”

Habilita os filtros de textura anisotrópicos, que são um método de melhorar a aparência de texturaas quando vistas em ângulos. Pode resultar em melhorias visuais perceptíveis em alguns casos, mas você deve considera a queda de performance que pode
chegar até a 50% em alguns chipsets mais antigos. O padrão é desabilitado.

“VertexShaders” = “Y”

Os Vertex Shaders são usados para adicionar rotinas gráficas complexas que são processadas via hardware pelo GPU, que são opcionais. O Cedega usa a implementação dos Vertex Shaders via hardware através de uma camada de suporte do OpenGL, mas pode ser
implementado via software em algumas placas. É possível para o Cedega determinar se os Vertex Shaders via software ou hardware estão disponíveis.

Quando habilitado, o Cedega reporta para a aplicação o suporte de Vertex Shaders via hardware para a aplicação, se as extensões ARB_vertex_program estiverem disponíveis. Quando desabilitado, algumas aplicações irão optar por usar suas rotinas
otimizadas via software. O padrão é habilitado.

“PixelShaders” = “Y”

Os Pixel Shaders são usados para adicionar rotinas gráficas por pixel de cores e iluminação. Em alguns jogos o uso de Pixel Shaders é opcional, e desabilitá-los pode resultar em uma jogabilidade mais rápida, sob pena de menor qualidade gráfica. Quando
habilitado o Cedega reporta o suporte de Pixel Shaders para as aplicações, se a extensão ARB_fragment_program estiver disponível. Quando desabilitado, algumas aplicações podem recorrer a suas rotinas otimizadas via software. O padrão é habilitado.

“PixelShadersLevel” = “1.3”

Decide qual versão do suporte a Pixel Shaders será reportada para as aplicações. As opções válidas são “1.0”, “1.1”, “1.2” e “1.3”. O padrão é “1.3”. Note que isto não causa efeitos se os Pixel Shaders estiverem desabilitados ou não forem suportados
pelo hardware.

“ClipSpaceFix” = “Y”

Esta opção permite ao Cedega emular melhor as diferenças entre os componentes gráficos de profundidade (coordenada Z) entre o Direct3D e OpenGL. A partir da versão 4.0 do Cedega, esta opção pode ser habilitada com segurança em todas as ocasiões, porém,
em versões anteriores a opção deve ser desligada quando as aplicações usarem Vertex Shaders que podem resultar em anomalias gráficas. O padrão é habilitado.

“FixedProgram” = “Auto”

Esta opção controla se as funções fixas usarão o caminho pelos Vertex Shaders ou se a o caminho convencional das funções fixas será usado. O uso dos programas fixos requerem a presença da extensão OpenGL ARB_vertex_program, e para uma performance maior
deve ser implementado via hardware. As opções válidas são Yes / No / Auto. O valor padrão é Auto, que autodetecta o tipo de placa de vídeo usada, e habilita os programas fixos se apropriados. Colocar “No” nesta opção para usar o caminho convencional para
as funções fixas, ou “Yes” para optar em usar as funções fixas através da tecnologia de Vertex Shaders.

“RectangleTextures” = “Auto”

As placas de vídeo mais recentes possuem o suporte as texturas “non-power of two” (NPOT), e isto pode ser usado pelo Open GL através das extensões XXX_rectangle_texture ou ARB_texture_non_power_of_two. Esta opção faz uma negociação com a placa, e é
usada para habilitar ou desabilitar o suporte sob o Direct3D. Placas de vídeo mais antigas não são capazes de usar estas texturas em conjunto com os Vertex Shaders devido a limitações do hardware responsável pelo recurso, portanto se você desejar usar
texturas NPOT, você deverá desabilitar os Vertex Shaders. Coloque esta opção em “Yes” para usar texturas NPOT ou coloque em “No” para desativar seu uso. O padrão é “Auto”, que autodetecta se o seu sistema possue capacidades no Vertex Shader para suprir as
limitações, caso contrário, desabilita o recurso.

Sessão [dinput]

Esta sessão contém as opções que controlam como os dispositivos via Direct Input serão reconhecidos.

“DefaultDeadZone” = “1000”

Esta opção permite a você definir o padrão da “zone morta” do seu joystick expressado por númeors entre 0 a 10000. O valor padrão é 1000 que abrange 10% da faixa do seu joystick.

Sessão [joystick]

Esta sessão contém a configuração de como os joystick serão tratados pelo Cedega.

“Logitech Inc. WingMan RumblePad” = “X,Y,slider,Z,RZ,hat,none”

Controla a configuração das funções dos eixos do joystick. O nome do joystick e as funções dos eixos podem ser determinados com o programa “jstest”. Os tipos de eixos válidos são:

“none”, “X”, “Y”, “Z”, “RX”, “RY”, “RZ”, “slider”, “hat”, “POV”, e “ball”.

O “hat” e “POV” são sinônimos, mas o “hat” use dois eixos.

O nome à esquerda corresponde ao exibido pelo joystick atualmente instalado.

Sessão [opengl]

Esta sessão contém as opções que controlam como o OpenGL do Windows simulado irá se comportar.

“FixedGLExtensionBuffer” = “N”

Esta opção apresenta uma lista truncada das extensões OpenGL para a aplicação ao invés da lista completa suporta pelos drivers, isto pode ser útil em casos onde a aplicação não pode trabalhar com opções extremamente grandes. Se você precisar oferecer
opções específicas, ao invés da lista fixa que esta opção oferece, então você irá precisar também usar a opção GLExtensionBuffer, porém, esta opção provavelmente só será necessária no jogo Medal of Honor.

“GLExtensionBuffer” = “”

Esta opção é uma lista separada por vírgulas prefixados com os sinas + ou ” que habilitam ou desabilitam respectivamente as extensões que serão reportadas para a aplicação. Esta opção dá ao usuário total controle sobre quais extensões serão usadas
podendo servir como um ajuste de otimização de performance e compatibilidade se necessário. Porém, ao habilitar uma extensão não significa que a placa passará a dar o suporte a ela. As opções para a lista seguem o padrão convencional de nomes do OpenGL
(exemplo: “+GL_ARB_imaging, -GL_ARB_depth_texture”). É recomendável usar esta opção apenas em casos extremamente raros.

Se a opção “FixedGLExtensionBuffer” estiver desabilitada a opção “GLExtensionBuffer” será ignorada.

Sessão [wineserver]

Esta sessão contém opções de como o processo WineServer irá ser executado.

“SHMWineserver” = “Y”

Esta opção indica se o Cedega deverá acelerar a comunicação de processos internos entre o cliente e servidor wine. Este recurso também é chamado de AIC ” Accelerated Interprocess Comunication. Recomendo manter esta opção habilitada, ao qual causará um
impacto muito positivo na maioria dos jogos.

Sessão [WinMM]

Esta sessão controla os sistemas que serão usadas para a reprodução de som.

“Drivers” = “wineoss.drv”

Especifica o tipo de driver usado, que pode ser o OSS (Open Sound System) ou o ALSA (Advanced Linux Sound Architecture). Especifique “wineoss.drv” para o OSS ou “winealsa.drv” para o sistema ALSA de som. O padrão é o “wineoss.drv”. Se nenhum driver for
especificado o Cedega não irá produzir sons.

Sessão [wineoss]

Esta sessão controla como o sistema de áudio OSS será usado para reproduzir o som, se habilitado corretamente na sessão WinMM.

“UseMMap” = “N”

Esta opção permite ao Cedega escrever diretamente na memória da placa de som ao invés de usar uma rotina mais lenta através do kernel. O padrão é “N”, desabilitando a opção. Se habilitada corretamente a performance poderá ser beneficiada, mas este
recurso não está disponível em todas as placas de som.

“FullDuplex” = “N”

Permite que o som seja gravado e reproduzido ao mesmo tempo, mas este recurso não está disponível em todas as placas de som. O padrão é desabilitado.

“dsp0” = “/dev/dsp0”

“mixer0” = “/dev/mixer0”

Especifica o mapeamento para cada dispositivo de áudio digital ao ser usado durante a reprodução de som via OSS. O padrão para é o descrito acima.

Sessão [winealsa]

Esta sessão controla como o sistema de áudio ALSA irá reproduzir o som, se habilitado corretamente na sessão WinMM.

“UseMMap” = “N”

Esta opção permite ao Cedega escrever diretamente na memória da placa de som ao invés de usar uma rotina mais lenta através do kernel. O padrão é “N”, desabilitando a opção. Se habilitada corretamente a performance poderá ser beneficiada, mas este
recurso não está disponível em todas as placas de som.

“pcm0” = “hw”

“ctl0” = “hw”

Estas opções permitem especificar quais os dispositivos ALSA o Cedega deverá usar. Os valores padrão são os descritos acima. A configuração apropriada destas opções podem permitir que sejam usadas uma placa de som secundária ou plugin. Note que a
maioria dos plugins ALSA são um pouco problemáticos e podem não funcionar com a opção “UseMMap” habilitada.

.: Criando opções específicas por aplicação

No arquivo de configuração de Cedega é fundamental saber criar opções específicas de acordo com a aplicação requisitada, isto é importante pois muitas vezes uma opção que pode ser crucial para um jogo ser executado corretamente como também pode ser
desastrosa para outra aplicação, desta forma de acordo com o nome do executável chamado o Cedega é possível modificar as opções e manter uma melhor compatibilidade de execução. Note que no próprio arquivo de configuração do Cedega existem diversas opções
avulsas para cada jogo, o que prova a importância deste recurso.

A sintaxe das configurações por aplicação são feitas da seguinte maneira:

;; Nome_do_jogo

[AppDefaults\Nome_do_executável.exe\Sessão_chamada]

“Opção”=”Valor”

Vejamos um exemplo de opções avulsas para o jogo Need For Speed Underground 2:

;; Need for Speed Underground 2

[AppDefaults\speed2.exe\x11drv]

“PerfectGraphics” = “Y”

“ScreenDepth” = “16”

“NV_VAR” = “Y”

“ARB_VBO” = “Y”

[AppDefaults\speed2.exe\d3dgl]

“PixelShaders” = “N”

“AnisotropicTextureFiltering” = “N”

“VertexShaders” = “Y”

No comentário iniciado por “;;” coloca-se o nome do jogo para manter as coisas organizadas e facilitar na hora de mudar algo. A seguir chama-se uma sessão AppDefaults, que será responsável por chamar uma outra sessão de acordo com o executável
speed2.exe, a sessão requisitada no exemplo foi a x11drv. As opções “PerfectGraphics” e “ScreenDepth” foram alteradas de acordo com o exemplo, não se esqueça que para usar estas opções foi especificado a qual sessão elas fazem parte, a x11drv. Se for
chamada uma opção que não faz parte da sessão pedida ela será ignorada.

Para chamar mais sessões de uma mesma aplicação basta repetir o procedimento, como no caso a sessão d3dgl foi chamada a seguir para mudar as opções dos shaders e filtragem de texturas.

Este modo de se escolher opções conforma a aplicação pode se estender de modo indeterminado, sem limites para modificações necessários para executar o jogo.

Algo curioso me chamou a atenção no arquivo padrão de configuração do Cedega, veja no caso do jogo City of Heroes, onde há uma opção chamada de “CursorAlphaAlwaysOn”, esta opção não está documentada, o que significa que existem diversas outras opções
deste tipo que a Transgaming não deixou a disposição dos usuários e não abriu uma documentação mais extensa. Um dos únicos motivos que encontro para isso é que a Transgaming prefere ficar com os méritos em se executar novos jogos, se houvesse uma
documentação total e abrangente de todas as opções a comunidade teria um maior poder para tentar executar outros jogos. É lógico que boa parte da compatibilidade realmente se deve a competência da Transgaming através da inclusão de rotinas extras ao Wine,
mas a falta de documentos melhor elaborados que expliquem detalhadamente o funcionamento e configurações do Cedega fazem deste wrapper uma verdadeira caixa preta principalmente para usuários menos insistentes.

Compreendendo os recursos do Cedega

Funções fixas através dos Vertex Shaders

As funções fixas através dos Vertex Shaders (também chamados de programas fixos) é uma implementação das funções fixas do canal de processamento de vértices usando os Vertex Shaders programáveis. Existem dois principais benefícios ao usar esta técnica.
Primeiro, podemos utilizar os dados dos vértices no formado provido pelo Direct3D sem precisar convertê-los em um formato compatível com o canal de funções fixas do OpenGL, isto nos permite eliminar a sobrecarga da cópia e conversão e armazena os dados
dos vértices diretamente na memória acelerada (AGP ou vídeo). Segundo, esta aproximação nos permite a flexibilidade da implementação das funcionalidades do Direct3D que não estão disponíveis ou possuem uma semântica diferente das APIs das funções fixas do
OpenGL.

Os programas fixos são atualmente autodetectados baseados no tipo de placa de vídeo que o seu sistema possui. É possível sobrescrever o processo de autodetecção com o uso da opção “FixedProgram” na sessão [d3dgl] do arquivo de configuração do Cedega.
Usuários avançados podem experimentar com esta opção qual é a configuração que permite maior performance para o seu sistema executar jogos. Para usar os programas fixos o driver da sua placa de vídeo deve suportar a extensão OpenGL ARB_vertex_program.

Atualmente os programas fixos estão habilitados por padrão nas placas baseadas nos chipsets GeForce FX ou superiores e desabilitados em versões anteriores. Os programas fixos não funcionam em placas ATI atualmente devido a problemas nos drivers.

Veja alguns detalhes a respeito das placas Nvidia:

GeForce, GeForce2, GeForce4 MX e a série GeForce4:

Enquanto os drivers para estas placas suportam a extensão ARB_vertex_program, elas não possuem o suporte via hardware aos programas de vértices e eles são emulados via software pelo driver, resultando em uma performance pobre. É altamente recomendável
que os programas fixos sejam desabilitados nessas placas.

A série GeForce3 e GeForce4 Ti:

Estas placas suportam os programas de vértices via hardware, mas o alto requerimento dos recursos em alguns jogos podem não permitir que os programas fixos sejam executados corretamente, contudo alguns jogos são totalmente funcionais e ganham um
significante aumento de performance usando os programas fixos. É recomendável que você habilite os programas fixos jogo a jogo em configurações particulares. Se perceber corrupções ou faltas geométricas em um jogo específico você deverá desligar os
programas fixos na configuração particular referente ao jogo.

GeForce FX e superiores:

Os programas fixos podem ser habilitados seguramente nestas placas.

Pixel Shaders

Os Pixel Shaders são recursos provenientes do DirectX 8 ou superior, que são usados em vários jogos para oferecer efeitos gráficos diferenciados. Os Pixel Shaders do Cedega são feitos baseados na extensão OpenGL ARB_fragment_program, que é mais
poderosa que os Pixel Shaders nas versões 1.0 até 1.3, mas são apenas suportadas em placas de vídeo mais poderosas.

Enquanto os Pixel Shaders estão disponíveis nos sistemas Windows a partir das GeForce 3 ou Radeon 8500, a extensão ARB_fragment_program só está disponível a partir das placas GeForce FX e Radeon 9500. Isto significa que os requerimentos do sistema para
alguns jogos com relação a placa de vídeo são diferentes nos jogos executados via Cedega, por exemplo, o jogo Battlefield Vietnam requer os Pixel Shaders para ser executado com níveis altos de detalhe, no Windows uma GeForce 3 é capaz de suprir estas
necessidades enquanto no Linux será necessário uma GeForce FX, pois são as únicas que suportam a extensão ARB_fragment_program no Linux.

Sistema de ejeção de CD / DVD

No passado os jogos que vinham em vários Cds eram um problema para os usuários do Cedega, pois o Linux travava o CD-ROM em alguns casos, impedindo que o usuário inserisse os próximos discos.

A partir do Cedega 4.0 foi incluído um recurso para eliminar este problema em vários casos, simplesmente pressionando o botão eject do drive de CD-ROM e esperando alguns segundos o disco irá automaticamente ser desmontado e ejetado, assim poderá ser
inserido o próximo disco, sendo necessário a montagem manual dependendo da distribuição Linux usada, assim a instalação prosseguirá normalmente.

A partir do Cedega 4.0.1 o monitoramento automático da ejeção do CD/DVD está desabilitado por padrão devido a alguns problemas reportados por usuários que possuem cartões flash compactos e algumas marcas de CD-ROM. O recurso pode ser habilitado
manualmente passando a opção “monitor-cd-rom-eject na linha de comando ou ao usar a interface Point2Play o recurso estará habilitado por padrão ao executar instaladores. O recurso poderá ser controlado no Point2Play indo em “Configure -> CDROM Eject
Monitoring” modificando a opção para Always On ou OFF.

Quando a opção de monitoramento estiver ativa, deverá funcionar com os modelo mais recentes de drives de CD-RW e DVD. Com drives antigos ou com com a opção desabilitada você deverá forçar a ejeção ou se estiver usando o Point2Play deverá usar o botão
“Unmount”. Outra solução é mandar um sinal USR2 para o processo do wineserver com o comando:

$ killall -USR2 wineserver

Note que com o comando executado pelo botão via Point2Play apenas o drive em questão irá ejetar, mas com o comando descrito acima todos os drives do sistema irão ejetar. Se estiver usando outra aplicação baseada no Wine como o CrossOver Office ou o
próprio Wine deverá então evitar o uso do botão via Point2Play ou o comando mencionado, que causará o travamento de qualquer aplicação baseada no Wine que não seja o Cedega. Em outras circunstâncias usar o botão do Point2Play terá o mesmo efeito de
pressionar o botão eject no drive.

Alguns instaladores podem requerer que você insira o primeiro CD novamente para completar a instalação. Dependendo do jogo isto pode não funcionar corretamente.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X