Wine é uma camada de compatibilidade do Windows que permite aos usuários executar aplicativos do Windows em outros sistemas operacionais. O Wine para Android atingiu a versão 5.0 – confira!
O ecossistema de aplicativos Android evoluiu constantemente ao longo dos anos de existência do Android, impulsionado pela adoção constante do celular como a principal interação com o computador para a maioria das pessoas. Muitos usuários optaram por um estilo de vida exclusivamente móvel, e isso ocorre porque os aplicativos e o ecossistema de aplicativos móveis conseguiram atender às suas necessidades específicas. Mas se você precisasse de um aplicativo de desktop sem ter acesso a um desktop, o que faria? É aqui que entra o Wine, uma camada de compatibilidade do Windows que permite aos usuários executar aplicativos completos do Windows em diferentes sistemas operacionais. Wine para Android tem agora chegou à versão 5.0, reunindo os esforços de desenvolvimento de um ano da equipe.
Wine é uma camada de compatibilidade gratuita e de código aberto para Windows, com o objetivo de permitir que programas de computador desenvolvidos para Windows sejam executados em outros sistemas operacionais.
Wine para Android traz Wine para Android, obviamente. Wine não é um emulador (que na verdade é um acrônimo recursivo para o nome), então ele só pode rodar versões de aplicativos específicas da arquitetura - a versão ARM do Wine para Android executará apenas aplicativos ARM, e não x86.Os destaques da versão estável do Wine 5.0 incluem suporte para vários monitores e suporte para Vulkan 1.1. O changelog completo da atualização é o seguinte:
Registro de alterações do Wine 5.0:
- Módulos PE:
- A maioria dos módulos são construídos no formato PE (Portable Executable, o formato binário do Windows) em vez de ELF quando o compilador MinGW está disponível. Isso ajuda vários esquemas de proteção contra cópia que verificam se o conteúdo do disco e da memória dos módulos do sistema são idênticos.
- Os binários PE reais são copiados para o prefixo Wine em vez dos arquivos DLL falsos. Isso faz com que o prefixo pareça mais uma instalação real do Windows, ao custo de algum espaço extra em disco.
- Os módulos que foram convertidos para PE podem usar funções C padrão de caracteres largos, bem como constantes de caracteres largos como L"abc". Isso torna o código mais fácil de ler.
- Nem todos os módulos foram convertidos para PE ainda; este é um processo contínuo que continuará durante a série de desenvolvimento do Wine 5.x.
- O tempo de execução do Wine C foi atualizado para oferecer suporte à vinculação a binários compilados pelo MinGW; ele é usado por padrão em vez do tempo de execução MinGW ao construir DLLs.
- Gráficos:
- Vários adaptadores de vídeo e monitores são suportados adequadamente, incluindo alterações dinâmicas de configuração.
- O driver Vulkan suporta até a versão 1.1.126 da especificação Vulkan.
- A biblioteca WindowsCodecs é capaz de converter mais formatos de bitmap, incluindo formatos indexados por paleta.
- Direto3D:
- Aplicativos Direct3D em tela cheia inibem o protetor de tela.
- Os presentes DXGI swapchain informam ao aplicativo quando a janela correspondente é minimizada. Isso normalmente permite que os aplicativos reduzam o uso da CPU enquanto estão minimizados e, em alguns casos, é necessário para permitir que a janela do aplicativo seja restaurada novamente.
- A alternância entre os modos de tela cheia e janela usando a combinação padrão Alt+Enter é implementada para aplicativos DXGI.
- Os seguintes recursos são implementados para aplicativos Direct3D 12:
- Alternando entre tela cheia e janela.
- Alterando os modos de exibição.
- Presentes em escala.
- Trocar intervalos. Esses recursos já foram implementados para versões anteriores da API Direct3D.
- O tratamento de vários casos extremos foi aprimorado. Entre outros:
- Valores de referência fora do intervalo para os testes alfa e estêncil.
- Amostragem de recursos 2D com amostradores 3D e vice-versa.
- Desenho com texturas e buffers mapeados.
- Uso de objetos de corte do DirectDraw inválidos.
- Criação de dispositivos Direct3D em Windows inválidos, como a janela da área de trabalho.
- Viewports com Z mínimo maior ou igual ao Z máximo.
- Recursos vinculados por meio de visualizações de recursos de sombreador e visualizações de destino de renderização ou estêncil de profundidade ao mesmo tempo.
- Blits entre formatos com e sem componentes alfa. Como os aplicativos bem comportados não dependem desses casos extremos, eles normalmente afetam apenas um ou dois aplicativos cada. No entanto, existem vários deles.
- Regiões de textura suja são rastreadas com mais precisão para uploads de textura Direct3D 8 e 9.
- Carregamentos de texturas 3D compactadas por S3TC requerem menos espaço de endereço. Como as texturas 3D podem ser potencialmente grandes e o esgotamento do espaço de endereço é uma preocupação para aplicativos de 32 bits, as texturas 3D compactadas com S3TC são carregadas por fatia, em vez de em um único upload.
- A interface ID3D11Multithread é implementada.
- Várias correções e melhorias no cálculo de iluminação para aplicativos DirectDraw mais antigos foram feitas.
- Foi implementado suporte limitado para blits em swapchains.
- Mais APIs de reflexão de shader são implementadas.
- O blitter CPU wined3d pode lidar com recursos de origem compactados. O suporte para recursos de destino compactados já foi implementado em uma versão anterior.
- O banco de dados da placa gráfica Direct3D reconhece mais placas gráficas.
- Novas chaves de registro HKEY_CURRENT_USER\Software\Wine\Direct3D:
- "shader_backend" (REG_SZ)O backend do shader a ser usado. Os valores possíveis são "glsl" (padrão) para GLSL, "arb" para programas de vértices/fragmentos ARB e "none" para desabilitar o suporte a shaders.
- "strict_shader_math" (REG_DWORD)Ativa (0x1) ou desativa (0x0, padrão) uma tradução mais rigorosa de sombreadores Direct3D, potencialmente com um custo de desempenho. Atualmente, isso só faz diferença com o back-end do shader GLSL padrão em combinação com os drivers proprietários da NVIDIA.
- Chave de registro HKEY_CURRENT_USER\Software\Wine\Direct3D obsoleta:
- "UseGLSL"Isso foi substituído pela configuração "shader_backend" acima.
- D3DX:
- Foi implementado suporte para compactação de texturas usando compactação S3TC.
- Várias operações, como por ex. preenchimentos de textura em superfícies não mapeáveis são implementados de forma mais correta. Anteriormente, sua implementação dependia da implementação subjacente do Direct3D, que não impunha restrições de mapeamento.
- Várias melhorias e correções foram feitas na estrutura de efeitos.
- Núcleo:
- A maioria das funções que estavam no Kernel32 foram movidas para o KernelBase, para seguir a arquitetura das versões recentes do Windows.
- Bibliotecas com 32/64 bits incorretos são ignoradas quando encontradas no caminho de pesquisa, para permitir o carregamento da correta se for encontrada mais adiante no caminho.
- Os objetos do kernel são melhor emulados para drivers de dispositivos que esperam manipular objetos do lado do kernel.
- Os objetos de sincronização em nível de kernel, como spin locks, mutexes rápidos, remoção de bloqueios e variáveis de recurso, são implementados.
- O estado da bateria do sistema é informado adequadamente aos aplicativos.
- Interface de usuário:
- As janelas minimizadas são exibidas usando sua barra de título em vez dos antigos ícones do estilo Windows 3.1.
- Os novos estilos de botão Split Buttons e Command Links são implementados.
- O controle Editar define as margens corretamente também para fontes CJK.
- Integração de área de trabalho:
- Links simbólicos para os diretórios Unix correspondentes são criados para as pastas ‘Downloads’ e ‘Templates’.
- Dispositivos de entrada:
- Drivers de dispositivos Plug & Play podem ser instalados e carregados na inicialização.
- Os controladores de jogo são melhor suportados, incluindo suporte adequado para controles de interruptor de chapéu, roda, acelerador e freio.
- A antiga API de joystick de versões do Linux anteriores à 2.2 não é mais suportada.
- .LÍQUIDO:
- O mecanismo Mono foi atualizado para a versão 4.9.4, incluindo partes da estrutura Windows Presentation Foundation (WPF).
- Os complementos Gecko e Mono suportam instalação compartilhada, onde os arquivos são usados diretamente de um local global em /usr/share/wine em vez de serem copiados para cada novo prefixo.
- Internet e redes:
- O mecanismo Gecko foi atualizado para suportar conjuntos de ferramentas recentes.
- Uma série de novas APIs HTML são implementadas.
- MSHTML oferece suporte a alguns elementos SVG.
- Objeto de erro e propagação de exceção são suportados em VBScript.
- Várias funções internas do VBScript são implementadas.
- O modo compatível com JScript EcmaScript foi estendido para oferecer suporte a mais recursos.
- Os objetos de script JScript e VBScript expõem interfaces de informações de tipo.
- A configuração do proxy HTTP pode ser recuperada através do DHCP.
- Redirecionamentos HTTP de passaporte são suportados.
- O serviço HTTP e a biblioteca correspondente do lado do cliente (HTTPAPI) estão parcialmente implementados.
- Criptografia:
- Chaves ECC (curva elíptica) são suportadas ao usar GnuTLS.
- A importação de chaves e certificados de blobs PFX está implementada.
- O algoritmo de derivação de chave PBKDF2 é suportado.
- Texto e fontes:
- Os recursos de posicionamento OpenType são suportados no DirectWrite e habilitados para script latino por padrão, incluindo kerning.
- O acesso aos dados das fontes fica mais seguro ao validar as diversas tabelas de dados antes de usá-las.
- As interfaces DirectWrite são atualizadas para um SDK recente, implementando algumas das adições de API mais recentes.
- Áudio vídeo:
- As bibliotecas XAudio2 são reimplementadas para utilizar a biblioteca FAudio externa, para melhor compatibilidade.
- As bibliotecas da Media Foundation são desenvolvidas, incluindo:
- Suporte para filas de trabalho assíncronas integradas e de usuário.
- Capacidade de enviar retornos de chamada periódicos, itens de trabalho em espera, agendados e regulares, com suporte para prioridade de item.
- Suporte para filas de eventos de mídia.
- Várias APIs principais para lidar com objetos de tipo de mídia, descritores de fluxo e apresentação, atributos de objetos, objetos de fluxo de bytes, amostras e buffers.
- Implementação inicial do Source Resolver.
- Implementação inicial da API Source Reader.
- Implementação do objeto Sample Grabber.
- Suporte principal para construção de objetos de topologia.
- Implementação de relógio de apresentação integrado, começou a implementar a funcionalidade de Sessão de Mídia.
- O filtro de captura de vídeo foi portado para usar v4l2 em vez da API obsoleta v4l1, permitindo o uso de algumas câmeras que não suportam v4l1.
- O suporte para tradução e leitura de YUV para RGB de dispositivos v4l2 usando mmap() foi removido; agora dependemos da libv4l2 para ambas as coisas.
- Os decodificadores AVI, MPEG-I e WAVE integrados foram removidos; agora dependemos do GStreamer ou do Mac QuickTime Toolkit para decodificar esses arquivos de mídia.
- Mais algumas APIs de configuração VMR7 são implementadas.
- Os drivers de som suportam ajustes de volume por canal.
- Internacionalização:
- As tabelas de caracteres Unicode são baseadas na versão 12.1.0 do padrão Unicode.
- A normalização Unicode é implementada.
- O ID da região geográfica é definido automaticamente no registro com base na localidade atual. Ele pode ser modificado se necessário em HKEY_CURRENT_USER\Control Panel\International\Geo.
- As localidades cingalesas e asturianas são suportadas.
- A página de códigos 28601 (latim/tailandês) é suportada.
- RPC/COM:
- O empacotador typelib oferece suporte a estruturas e matrizes complexas.
- Há uma implementação inicial da biblioteca de tempo de execução do Windows Script.
- Há uma implementação inicial da biblioteca Microsoft ActiveX Data Objects (ADO).
- Instaladores:
- Arquivos de patch do Microsoft Installer (MSI) são suportados.
- A ferramenta WUSA (Windows Update Standalone Installer) oferece suporte à instalação de arquivos de atualização .MSU.
- Plataformas ARM:
- O desenrolamento de exceção é implementado para ARM64, usando a biblioteca libunwind.
- Os proxies sem stub OLE são suportados no ARM64.
- Ferramentas de desenvolvimento/Winelib:
- O depurador remoto do Visual Studio pode ser usado para depurar aplicativos em execução no Wine.
- A biblioteca Debug Engine (DBGENG) está parcialmente implementada.
- Os binários criados para um destino Windows não dependem mais da biblioteca libwine, para permitir que sejam executados no Windows sem quaisquer dependências extras. A biblioteca libwine não foi mais desenvolvida para Windows.
- O Resource Compiler e o IDL Compiler suportam uma opção '--sysroot' para permitir a localização de arquivos de cabeçalho em ambientes de compilação cruzada.
- Winegcc suporta as opções '--target', '--wine-objdir', '--winebuild' e '-fuse-ld' que facilitam o uso como um compilador cruzado ou com conjuntos de ferramentas personalizados.
- O cabeçalho wine/unicode.h não está mais disponível para aplicativos, uma vez que as funções serão finalmente removidas e substituídas pelas funções de caracteres padrão do tempo de execução C padrão.
- Construir infraestrutura:
- Os binários de teste são construídos no formato PE se o MinGW estiver disponível, portanto, o mesmo binário de teste pode ser executado no Wine e no Windows. O alvo make 'crosstest' não é mais necessário ou suportado.
- A convenção de chamada 'fastcall' é suportada em arquivos de especificações. Ele usa o nome correto para compilações do Windows.
- Um sinalizador de ponto de entrada '-import' é suportado em arquivos de especificação, para marcar funções que precisam de um prefixo de código de hotpatch a ser gerado para suas conversões de importação.
- Winebuild suporta uma opção '--builtin' para adicionar uma assinatura especial aos binários PE para marcá-los como integrados do Wine.
- Aplicativos integrados:
- A ferramenta CHCP é implementada. Permite definir a página de códigos do console.
- A ferramenta MSIDB é implementada. Permite manipular bancos de dados MSI.
- Melhorias de desempenho:
- As diversas funções de tempo usam relógios de sistema de maior desempenho, se disponíveis, para reduzir a sobrecarga no loop de renderização de muitos jogos.
- As pesquisas de arquivos aproveitam o suporte à dobragem de maiúsculas e minúsculas do sistema de arquivos ext4 se estiver ativado no diretório que está sendo pesquisado.
- As caixas de listagem de estilo sem dados (LBS_NODATA) têm melhor desempenho para um grande número de itens.
- Bloqueios Slim Reader/Writer, eventos com chave e variáveis de condição usam futexes no Linux para evitar viagens de ida e volta do wineserver.
- Novas dependências externas:
- O compilador cruzado MinGW-w64 é usado para construir módulos no formato PE.
- A biblioteca FAudio é usada para implementar o XAudio2.
- A biblioteca Inotify é usada para notificações de alteração de arquivos em plataformas BSD.
- A biblioteca Unwind é usada para tratamento de exceções no ARM64.
- A biblioteca Video4Linux versão 2 é usada em vez da versão 1.
consulte Mais informação
Fonte: Sede do vinho
História via: Polícia Android