Desenvolvimento do Wine e dicas do Win4Lin, Bochs e VMWare

Por:
Desenvolvimento do Wine e dicas do Win4Lin, Bochs e VMWare

Até agora, já publiquei 5 ou 6 artigos relacionados com o Wine. Toda esta atenção que estou dedicando às derivações do projeto ocorre justamente por que acredito bastante no futuro do projeto. Este artigo é um folow-up do que escrevi anteriormente, trazendo um resumo das novidades que tivemos nos últimos meses.

Acabei acrescentando informações também sobre o uso do Win4Lin, VMWare e Bochs, três sistemas que estão se tornando cada vez mais populares por permitir rodar dois ou mais sistemas operacionais, ao mesmo tempo e no mesmo PC. Você está no Linux e pode rodar o Windows com vários programas numa janela, ou vice-versa, realmente muito legal. Mas, vamos começar falando um pouco sobre o Wine:

Três sabores de Wine

Existem atualmente três sabores do Wine. O original, encontrado no http://www.winehq.com é um projeto cooperativo, patrocinado por algumas empresas interessadas nas possibilidades abertas pelo software, como a Transgaming.

Originalmente, o Wine era disponibilizado com uma licença própria, semelhante à do Free BSD, que permitia que outras empresas utilizassem o código para portar seus aplicativos para o Linux, como foi o caso do Corel Draw e do Corel Photopaint, mas sem que estas tivessem a obrigação legal de compartilhar os avanços feitos com os desenvolvedores.

Mas, depois de alguns problemas com a Corel, decidiram disponibilizar todos os novos avanços sob a licença LGPL, que possui termos muito semelhantes à da licença do Kernel do Linux. Ou seja, quem utilizar o código do Wine para desenvolver algum novo produto, terá de devolver os avanços feitos à árvore de desenvolvimento.

Os outros dois projetos, o Codewevers e o Wine-X são mantidos por empresas, que naturalmente pretendem ganhar algum dinheiro vendendo os produtos ou licenciando tecnologia.

A Codeweavers desenvolve uma versão aperfeiçoada do wine, que possui uma instalação mais fácil e oferece compatibilidade com um número um pouco maior de aplicativos. Esta versão é gratuíta e pode ser baixada no http://www.codeweavers.com

Temos ainda dois produtos comerciais, o CrossOver Plug-in, que permite instalar o Windows Media Player, Shockwave, Real Video e outros plug-ins, tornando-os compatíveis com o Mozilla, Netscape e outros navegadores for Linux.

O CrossOver Office, cuja versão 1.1 foi lançada recentemente é o segundo filho, que permite rodar o Microsoft Office, Lotus Notes e mais alguns aplicativos. Na versão atual foi adicionado o suporte a Internacionalização, o que permite rodar o Office 2000 em português e foi melhorado o recurso de antialising das fontes, graças à tecnologia clear type licenciada da Apple, tornando-as tão legíveis quanto no Windows.

O CrossOver Office custa US$ 54,95 e o CrossOver Plug-in (que possui uma versão demo gratuíta, que pode ser usada por tempo ilimitado, mas que exibe uma janela casa vez que um dos plug-ins é inicializado) sai por US$ 24,95.

A equipe do Codeweavers contribui com uma grande quantidade de código para a árvore de desenvolvimento do Wine, apesar de não disponibilizar o código tanto do CrossOver Office quanto do CrossOver Plug-in. Todo o trabalho feito nestes produtos será disponibilizado quando conseguirem vender 20.000 unidades dos softwares, caso mantenham a promessa.

O Wine-X, desenvolvido pelo Transgaming é uma outra história. O software permite rodar um grande número de jogos for Windows no Linux. O trabalho segue a mesma idéia do Cross-Over da Codeweavers: implementar uma a uma as chamadas e recursos utilizados pelos títulos a serem suportados. No caso do Wine-X o trabalho se concentra em adicionar suporte às chamadas Direct-X, convertendo-as em chamadas Open-GL, que são finalmente executadas pela placa de vídeo e no suporte às proteções anti-cópia usadas nos CDs dos jogos.

é justamente este último recurso o responsável por um grande problema do Wine-X. A maioria destes sistemas de segurança utiliza algum tipo de área protegida, ou algum sistema de autenticação incluído no CD original e verificado pelo executável do game ao ser executado. Sem suporte à verificação o executável pensa tratar-se de um CD pirata e não roda. Porém, para suportar estas chamadas é necessário incluir alguns módulos proprietários, que não podem ter seu código aberto devido ao DCMA, uma lei em vigor nos Estados Unidos que impede a distribuição de qualquer código que permita quebrar as proteções usadas pela indústria nos CDs e DVDs e em outros formatos de distribuição de conteúdo digital.

O DCMA é uma lei estúpida que está atrapalhando o desenvolvimento da informática em várias áreas e já foi responsável pela prisão de várias pessoas, como por exemplo do Russo Dimitri Sklyarov, que havia desenvolvido um software que quebrava a proteção dos e-books gerados usando o software da Adobe. O “Advanced E-Book Processor” era perfeitamente legal na Rússia, onde pela lei os usuários podem fazer cópias de segurança de qualquer conteúdo legalmente adquirido, mas não nos EUA. Ele acabou preso ao aceitar o convite para uma palestra em solo Americano.

Vários softwares popularmente usados, como por exemplo o libdvdread, que permite assistir DVDs protegidos no Linux são considerados ilegais nos EUA e só puderam ser desenvolvidos por que seus autores residem em outros países.

é preocupante ler comentários nas listas de desenvolvimentos de vários programas que usam chaves de encriptação forte, ou qualquer outra tecnologia que possa contrariar os interesses do governo Americano ou de qualquer grande empresa, discutirem a possibilidade de hospedarem seus sites na China, Rússia, ou em qualquer local remoto, onde não possam ser facilmente tirados do ar devido à processos ou outras ações desencadeadas pela parte mais forte.

Como a Transgaming é uma empresa Americana, eles não têm escolha a não ser manter proprietários os módulos que permitem ler os CDs protegidos. Isto impede que eles possam respeitar a licença LGPL do Wine, e consequentemente que utilizem todos os recentes avanços, disponibilizados na nova licença.

Como uma solução parcial, foi feito um acordo com os desenvolvedores do ReWind, uma “dissidência” do projeto Wine que mantém a licença antiga. Com a ajuda destes desenvolvedores a Transgaming pretende conseguir adicionar todos os recursos necessários para continuar o desenvolvimento do software, oferecendo em troca partes do código, que serão incorporados ao ReWind e através dele finalmente chegarão ao Wine.

De qualquer forma, a perspectivas são bastante animadoras. Um a um os principais jogos estão passando a ser suportados, numa lista que já inclui quase 80 títulos, encabeçados pelo Max Paine, Diablo II, The Sims, Mith, Caesar III e outros.

O Wine-X também não é gratuíto. Como o software está em desenvolvimento contínuo, optaram por usar um sistema de assinaturas por US$ 5 por mês, com um pagamento mínimo de US$ 15 por três meses. Enquanto assinante você pode baixar todas as novas versões do software, o que é importante, já que novos títulos passam a ser suportados freqüentemente. Para as próximas semanas está prometido o suporte ao Civilization III por exemplo.

A longo termo a idéia é tornar os jogos compatíveis com outros sistemas operacionais, como o MacOS e outras plataformas de hardware, como handhelds e video-games que eventualmente tenham poder de processamento suficiente para rodar o software, criando uma espécie de plataforma universal para games.

A idéia do Cross-Over Plug-in e do Wine-X é justamente combinar o suporte a mais aplicativos com uma maior facilidade de uso. Afinal, por melhor que seja, um software difícil de usar dificilmente consegue uma grande penetração no mercado. Não é à toa que apesar de todos os problemas, os editores HTML WYSIWYG como o Dreanweaver e o Front Page fazem tanto sucesso.

O que já roda e o que não roda

Tanto no Wine original, quanto no Codeweavers e no Wine-X, existe a possibilidade de criar uma partição Windows virtual (por default o diretório .wine/fake_windows, dentro do seu diretório de usuário no Linux) quanto usar uma instalação do Windows presente numa partição do HD. Em qualquer um dos casos, os executáveis do Windows aparecem com um ícone de taça de vinho no gerenciador de arquivos e basta clicar sobre eles, ou executar o comando “wine arquivo.exe” num terminal para tentar rodar o aplicativo.

Os graus de sucesso são bem diferentes ao rodar aplicativos já instalados a partir de uma partição Windows e tentar instala-los e executa-los sem o Windows. Mantendo o Windows numa partição do HD é possível rodar vários programas mesmo usando a versão padrão do Wine, incluindo o IE 5, Office (variados níveis de sucesso) e em segundo alguns usuários até mesmo o Dreanweaver. Aliás, o programa de declaração da receita também roda desta forma.

Sem o Windows, o número de programas compatíveis cai muito e na maioria dos casos é necessário fazer algum tipo de alteração manual, editando arquivos, copiando manualmente DLLs, chaves de registro ou outros componentes usados pelo aplicativo. Numa pesquisa rápida no google você encontrará várias destas receitas de bolo.

Pensando nisso, os desenvolvedores do Codeweavers wine incluíram um aviso, que aparece sempre que você chamar qualquer programa, avisando que o Wine está “tentando” abrir o aplicativo e em seguida exibindo uma mensagem de erro detalhada caso o carregamento não seja bem sucedido.

Claro que este não é um cenário satisfatório. Queremos que o Wine seja capaz de rodar a maior parte dos aplicativos de uma forma prática e sem o Windows. é isso que já conseguiram fazer em escala limitada no Cross-Over Office e no Wine-X e que cada vez mais parece questão de tempo para ser conseguido na versão gratuíta do Wine.

Lendo algumas edições do informativo do projeto, disponíveis no http://www.winehq.com/news/?view=back dá para perceber que andam se esforçando por lá.

A possibilidade de rodar todos os principais aplicativos independentemente do sistema operacional escolhido, trará uma liberdade de escolha maior para muitos usuários. Afinal, existem excelentes programas dos dois lados do barco e poucos exemplos de programas compatíveis com as duas plataformas, basicamente apenas o Gimp, Star Office e Netscape. Misturar representantes dos dois mundos seria sem dúvida a melhor opção para todos os usuários.

Mais um detalhe importante que não poderia deixar de comentar é sobre a performance dos aplicativos emulados. O Microsoft Office roda rápido no Cross-Over Office, com um desempenho visualmente semelhante ao da versão Linux do Star Office 6. Mas, o desempenho do Windows Media Player e o Real Player executados através do Cross-Over Plug-in é bastante inferior à dos mesmos no Windows. Para muitos não chega a ser um grande problema, já que os vídeos de baixa resolução encontrados na Web não demandam muito poder de processamento, mas mantendo a proporção atual seria muito complicado emular um programa de edição de vídeo como o Adobe Premiere ou mesmo um DVD player qualquer.

No Wine-X temos novamente uma perda considerável de performance além de algumas limitações. Devido à tradução das chamadas Direct-X para chamadas OpenGL é necessária uma placa de vídeo com um bom suporte à esta API. Atualmente, apenas nas placas da nVidia (tanto as GeForce quanto as antigas TnT) possuem drivers Open GL for Linux que oferecem o mesmo desempenho que as versões for Windows. Nas ATI Radeon e Matrox 450 o desempenho dos drivers é bastante inferior e em placas como as SiS 6136 e i752 o suporte é feito unicamente via software, resultando em um desempenho sofrível.

Mesmo usando uma GeForce, você notará uma perda de desempenho de 30 a 50% devido à emulação. A perda é maior em jogos 3D, como o Half Life que em títulos 2D como o Diablo II e o StarCraft. Recentemente foram publicados alguns benchmarks no TomsHardware, que você pode conferir no: http://www4.tomshardware.com/howto/02q2/020531/windows_gaming-04.html

Outro inconveniente é o fato do Wine-X não ser capaz de alterar o modo de vídeo ao iniciar o jogo. Como comentei no meu artigo sobre o Diablo II, se o sistema usar uma resolução de 1024×768 e o jogo utilizar 640×480 você terá que jogar dentro de uma janela que ocupa menos da metade da área da tela. Para jogar em tela cheia é preciso ou configurar o jogo para rodar na mesma resolução do sistema ou alterar a resolução manualmente sempre que for jogar.

A partir da versão 2.0, o Wine-X já é capaz de rodar em full-screen em placas nVidia instaladas utilizando os drivers oficiais (da nVidia), mas o problema persiste em outras placas de vídeo.

Muitos jogos, como o Diablo II e o StarCraft rodam na versão padrão do Wine ou na versão gratuíta do Codeweavers mas, devido à falta de suporte à CDs protegidos, você terá que quase sempre recorrer a um crack, o mesmo que usaria para rodar o mesmo jogo no Windows sem o CD na bandeja para conseguir rodar seu jogo legalmente comprado. Embora inconveniente, não deixa de ser interessante que o Wine seja capaz de emular a ação do crack junto com o game 😉

Algo semelhante pode ser notado se você rodar o MS Outlook junto com o CrossOver Office. Vários vírus recebidos via e-mail serão emulados também, o que pode danificar seus arquivos pessoais ou mesmo comprometer o sistema, caso você esteja utilizando o Linux como root. Para minimizar isto, incluíram um sistema de proteção, que impede que qualquer script seja executado automaticamente apenas com a abertura do e-mail. Talvez a Microsoft possa “emular” esta alteração na versão original do outlook; receber 20 ou 30 mails infectados pelo Klez todo dia da turma que usa o outlook é soda… 😉

Fora o Cross-Over Office, não tivemos muitos avanços espetaculares nestes últimos meses, mas o desenvolvimento do Wine continua forte, atraindo a atenção de várias grandes empresas. No ritmo atual, ainda demorará pelo menos mais dois ou três anos para termos uma versão realmente eficiente, mas nunca é demais dar um voto de confiança para quem está desenvolvendo um trabalho tão importante. Sempre que tivermos novidades interessantes, vou publicar algo aqui no Guia do Hardware.


Win4Lin

Além dos derivados do Wine, você pode tentar também o Win4Lin, que permite rodar uma cópia completa do Windows numa janela do Linux.

A principal limitação é o suporte exclusiva às versões baseadas no DOS, o que inclui apenas o Windows 95/98/SE/ME. Existe ainda uma certa perda de desempenho, de 20 a 50% de acordo com o teste divulgado no Toms Hardware e a falta de suporte ao DirectX, o que impede a execução da maioria dos jogos.

A instalação do Win4Lin é bastante simples. A principal alteração feita pelo pacote é instalação de uma versão personalizada do Kernel do Linux. Este Kernel funciona perfeitamente na maioria das distribuições, mas por precaução o Kernel antigo continua disponível através do menu de inicialização do Lilo.

Ao reiniciar o sistema, o programa pedirá o CD de instalação do Windows. A instalação é bastante rápida e uma vez terminada, o Linux voltará a inicializar normalmente. Você terá duas opções para carregar o Windows. Digitando “win” num terminal, o Windows será aberto numa janela e digitando “fwin” será aberta uma nova seção do X, com o Windows rodando em tela cheia. Você ficará com as duas seções abertas simultâneamente e poderá alternar entre as duas teclando Ctrl+Alt+F7 e Ctrl+Alt+F8.

gdh1
Por Default, o Windows é instalado dentro do diretório “/win”, na sua pasta de usuário. Você também pode mapear outras pastas do sistema como letras de drivers acessíveis através do Windows. A pasta /home/maria/arquivos pode aparecer como a letra D: no Windows Explorer. Isto torna muita fácil compartilhar arquivos entre os dois sistemas.

O Win4Lin custa US$ 90. Você pode encontra-lo no: http://www.netraverse.com/

VMWare

Se você quiser um pouco mais de recursos, pode testar o famoso WMWare, que permite rodar vários sistemas operacionais como convidados, incluindo o Windows 2000 e XP, FreeBSD, Linux e outros. Você pode inclusive rodar mais de um ao mesmo tempo.

O WMWare custa a bolada de US$ 299 na versão eletrônica. Por este preço provavelmente seria mais inteligente comprar logo um segundo micro, ligá-lo em rede com o primeiro e acessa-lo via VNC, mas você pode baixar uma versão de testes que funciona por 30 dias no: http://www.vmware.com/download/workstation.html

Neste endereço estão disponíveis as versões for Windows e for Linux. Ambas oferecem os mesmos recursos.

Depois de instalado, basta rodar o assistente de configuração do programa e criar uma máquina virtual. Os arquivos deste “segundo micro” podem ser armazenados tanto num arquivo dentro de uma partição de disco já existente, ou usar uma partição ou HD separado. Basta escolher o sistema operacional que será instalado na máquina virtual, dar um nome, checar as configurações do CD-ROM, disquete e placa de rede. Terminado, basta inicializar a máquina virtual e instalar o sistema operacional e programas. Como disse, você pode criar mais de uma máquina virtual, cada uma com um sistema operacional independente e usar mais de uma ao mesmo tempo, com a opção de rodar o sistema convidado numa janela ou em tela cheia.

gdh2
O VMWare oferece um desempenho um pouco superior ao do Win4Lin, mas consome muita memória RAM. Para rodar o Linux e o Windows XP ao mesmo tempo é recomendável pelo menos 384 MB de RAM. Com menos que isto o sistema terá de recorrer à memória virtual e o desempenho irá por água a baixo.


Bochs

Finalmente, temos como último recurso o Bochs, um emulador que assim como o VMWare cria uma máquina virtual, que permite rodar um sistema operacional convidado, que pode ser desde uma cópia do Windows 95 até uma segunda instância do Linux, do FreeBSD, ou de outro sistema operacional.

O uso do bochs não é tão simples quanto o do Win4Lin ou do VMWare e os recursos são mais limitados. O sistema operacional convidado rodará sempre numa janela de 640×480 e o desempenho fica muito longe do normal. Mas, em compensação o programa é gratuíto.

A página oficial do bochs é a http://bochs.sourceforge.net/

Estão disponíveis tanto um pacote RPM quanto um pacote .tar.gz. Depois de instalar o programa, você pode rodar uma demonstração chamando o comando “bochs-dlx” num terminal. Você verá a janela do Bochs rodando uma versão compacta do Linux.

gdh3
Para instalar outro sistema o operacional, você deverá criar primeiro uma imagem de disco usando o comando “bximage”. Esta imagem será o seu disco rígido dentro do bochs. é possível tanto criar uma imagem em branco e depois instalar o sistema usando o próprio bochs, ou fazer uma cópia do conteúdo de um HD com tudo já instalado.

Até o próximo artigo 🙂
Não deixe de baixar a sua cópia do meu E-book Entendendo e Dominando o Linux que agora é gratuíto:
https://www.hardware.com.br/e-books/linux.asp

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X