Wine
De Wikipedia, a enciclopédia encyclopedia
Wine (acrónimo recursivo para WINE Is Not an Emulator, isto é, WINE Não é um Emulador, em tradução livre) é uma camada de compatibilidade para sistemas operativos UNIX que tem como objetivo a implementação da API da Microsoft Windows, sendo liderada por Alexandre Julliard. Desta forma, em teoria, o Wine permite a execução de aplicações desenvolvidas para ambientes Windows nativamente em outros sistemas operacionais. Wine, traduzido literalmente do inglês para o português, significa vinho, o que levou à escolha de uma taça de vinho como logotipo do Wine.
Wine | |
---|---|
Captura de ecrã de uma versão do winegecko, uma reimplementação do interior do Internet Explorer feita para o Wine, rodando no Ubuntu | |
Desenvolvedor | Autores do Wine (1,516) |
Plataforma | x86-32, x86-64, ARM |
Versão estável | 9.0[1] (16 de janeiro de 2024; há 2 meses) |
Versão em teste | 5.1[2] (2 de fevereiro de 2020; há 4 anos) |
Idioma(s) | Multilingua |
Escrito em | C |
Sistema operativo | |
Gênero(s) | Camada de Compatibilidade |
Licença | GNU LGPL v2.1+ |
Estado do desenvolvimento | Contínuo |
Tamanho | 115 MB (variável, depende da instalação) |
Página oficial | www.winehq.org |
Por reimplementar as bibliotecas do Windows, o Wine não é um emulador, não fazendo qualquer emulação para executar software para Windows. A implementação da API do Windows faz-se através da utilização de APIs e funções específicas de ambientes UNIX, sendo apenas necessária a implementação adicional de um carregador de aplicativos no formato PE, capaz de os converter para o formato ELF em tempo de execução.
O WINE atua, então, algo como um "tradutor": toda vez que ocorre uma chamada para a função desenha Cubo que estava implementada na DirectX.dll por exemplo, o Wine traduz esta chamada para uma de suas próprias bibliotecas em que alguém escreveu uma função similar para realizar exactamente o mesmo, desenhar um cubo na tela. Por isto às vezes os jogos que rodam em cima do Wine geram erros, pois executam chamadas a funções que o Wine não sabe como interpretar, isto é, chamam bibliotecas ou funções muito novas que os desenvolvedores do Wine ainda não implementaram. No entanto, o Wine permite a utilização de bibliotecas nativas, apesar de, dado o fato de ser uma aplicação em user-mode num sistema operativo UNIX, nem todas funcionarem. Por exemplo, a utilização do DirectX da Microsoft é uma impossibilidade técnica (e legal).
O Wine ainda disponibiliza a sua própria biblioteca (Winelib) por forma a que o código-fonte dos programas concebidos para Windows possa ser compilado no ambiente UNIX. Assim, programas desenvolvidos para Windows podem ser portados para plataformas UNIX e, inclusivamente, para outras arquitecturas, desde que exista o código fonte. No entanto, os programas compilados com Winelib precisam de ser executados sempre no Wine e, em particular, sempre na mesma versão.