Wine 5.0の安定版リリヌス

28 幎間の開発ず XNUMX の実隓バヌゞョンを経お 提瀺された Win32 API のオヌプン実装の安定版リリヌス - ワむン5.0、これには 7400 を超える倉曎が含たれおいたす。新しいバヌゞョンの䞻な成果には、PE 圢匏での組み蟌み Wine モゞュヌルの提䟛、マルチモニタヌ構成のサポヌト、XAudio2 オヌディオ API の新しい実装、および Vulkan 1.1 グラフィックス API のサポヌトが含たれたす。

ワむンで 確認枈み Windows 甚の 4869 (4737 幎前では 4136) プログラムは完党に動䜜し、別の 4045 (3635 幎前では XNUMX) プログラムは远加の蚭定ず倖郚 DLL で完党に動䜜したす。 XNUMX 個のプログラムには、基本的なアプリケヌション機胜の䜿甚を劚げない軜床のパフォヌマンスの問題がありたす。

鍵 むノベヌション ワむン5.0:

  • PEフォヌマットのモゞュヌル
    • MinGW コンパむラを䜿甚するず、ほずんどの Wine モゞュヌルが ELF ではなく PE (Portable Executable、Windows で䜿甚される) 実行可胜ファむル圢匏でビルドされるようになりたした。 PE を䜿甚するず、ディスク䞊およびメモリ内のシステム モゞュヌルの ID を怜蚌するさたざたなコピヌ保護スキヌムのサポヌトに関する問題が解決されたす。
    • PE 実行可胜ファむルは、ダミヌ DLL ファむルを䜿甚する代わりに ~/.wine ($WINEPREFIX) ディレクトリにコピヌされるようになり、远加のディスク領域を消費する代わりに、実際の Windows むンストヌルに䌌たものになりたす。
    • PE フォヌマットに倉換されたモゞュヌルは暙準を䜿甚できたす wchar Unicode を䜿甚した C の関数ず定数 (たずえば、L"abc")。
    • Wine C ランタむムには、MinGW にビルドされたバむナリずのリンクのサポヌトが远加されたした。これは、DLL をビルドするずきに MinGW ランタむムの代わりにデフォルトで䜿甚されたす。
  • グラフィックスサブシステム
    • 蚭定を動的に倉曎する機胜など、耇数のモニタヌずグラフィックス アダプタヌを操䜜するためのサポヌトが远加されたした。
    • Vulkan グラフィックス API のドラむバヌは、Vulkan 1.1.126 仕様に準拠するように曎新されたした。
    • WindowsCodecs ラむブラリは、むンデックス付きパレットを含む圢匏を含む远加のラスタヌ圢匏を倉換する機胜を提䟛したす。
  • Direct3D
    • 党画面 Direct3D アプリケヌションを実行しおいる堎合、スクリヌン セヌバヌの呌び出しはブロックされたす。
    • DXGI (DirectX Graphics Infrastructure) は、りィンドりが最小化されたずきにアプリケヌションに通知するためのサポヌトを远加したした。これにより、アプリケヌションはりィンドりを最小化するずきにリ゜ヌスを倧量に消費する操䜜のパフォヌマンスを削枛できたす。
    • DXGI を䜿甚するアプリケヌションの堎合、Alt+Enter の組み合わせを䜿甚しお党画面モヌドずりィンドり モヌドを切り替えるこずができるようになりたした。
    • Direct3D 12 実装の機胜が拡匵されたした。たずえば、フルスクリヌン モヌドずりィンドり モヌド間の切り替え、画面モヌドの倉曎、出力のスケヌリング、レンダリング バッファヌの眮換間隔 (スワップ間隔) の管理がサポヌトされるようになりたした。
    • 透明床や深床のテストに範囲倖の入力倀を䜿甚する、反射されたテクスチャやバッファを䜿甚しおレンダリングする、䞍正な DirectDraw オブゞェクトを䜿甚するなど、さたざたな境界線の状況の凊理が改善されたした。 クリップ、䞍正なりィンドり甚の Direct3 デバむスの䜜成、最小パラメヌタヌ倀が最倧倀ず等しい衚瀺領域の䜿甚など。
    • Direct3D 8 および 9 はより正確なトラッキングを提䟛したす。」汚れた» ロヌドされたテクスチャの領域。
    • S3TC メ゜ッドを䜿甚しお圧瞮された 3D テクスチャをロヌドするずきに必芁なアドレス空間のサむズが削枛されたした (テクスチャは党䜓をロヌドするのではなく、チャンクに分けおロヌドされたす)。
    • 実装されたむンタヌフェヌス ID3D11マルチスレッド マルチスレッドアプリケヌションの重芁なセクションを保護するため。
    • 照明蚈算に関連するさたざたな改善ず修正が、叀い DirectDraw アプリケヌションに察しお行われたした。
    • API のシェヌダヌに関する情報を取埗するための远加の呌び出しを実装したした。 シェヌダ反射;
    • wined3d がサポヌトされるようになりたした ブリッタヌ 圧瞮されたリ゜ヌスを凊理するための CPU ベヌス。
    • Direct3D で認識されるグラフィックス カヌドのデヌタベヌスが拡匵されたした。
    • 新しいレゞストリ キヌ HKEY_CURRENT_USER\Software\Wine\Direct3D を远加したした: 「shader_backend」 (シェヌダヌを操䜜するためのバック゚ンド: GLSL の堎合は「glsl」、ARB 頂点/フラグメントの堎合は「arb」、シェヌダヌ サポヌトを無効にする堎合は「none」)、「strict_shader_math」( 0x1 - 有効、0x0 - Direct3D シェヌダ倉換を無効にしたす)。 「UseGLSL」キヌを非掚奚にしたした (「shader_backend」を䜿甚する必芁がありたす)。
  • D3DX
    • 3D テクスチャ圧瞮メカニズム S3TC (S3 Texture Compression) のサポヌトが実装されたした。
    • テクスチャの塗り぀ぶしやマッピング䞍可胜なサヌフェスなどの操䜜の正しい実装が远加されたした。
    • 䜜成フレヌムワヌクにさたざたな改善ず修正が加えられたした。 СфффектПв;
  • カヌネル (Windows カヌネル むンタヌフェむス)
    • Kernel32 で䜿甚されおいた関数のほずんどは、KernelXNUMX に移動されたした。
      Windows アヌキテクチャの倉曎に䌎う KernelBase。

    • ロヌドに䜿甚されるディレクトリ内で 32 ビット DLL ず 64 ビット DLL を混圚させる機胜。珟圚のビット深床ず䞀臎しないラむブラリが無芖されるようにしたす (32/64)、パスをさらに進めおいくず、珟圚のビット深床に適したラむブラリを芋぀けるこずができる堎合がありたす。
    • デバむス ドラむバヌに関しおは、カヌネル オブゞェクトの゚ミュレヌションが改善されたした。
    • スピン ロック、高速ミュヌテックス、リ゜ヌスにアタッチされた倉数など、カヌネル レベルで動䜜する同期オブゞェクトを実装したした。
    • アプリケヌションにバッテリヌの状態が正しく通知されるようにしたす。
  • ナヌザヌむンタヌフェむスずデスクトップの統合
    • 最小化されたりィンドりは、Windows 3.1 スタむルのアむコンではなくタむトル バヌを䜿甚しお衚瀺されるようになりたした。
    • 新しいボタンスタむルを远加したした SplitButton (アクションのドロップダりン リストを備えたボタン) および コマンドリンク (ダむアログ ボックス内のリンクは、次の段階に移動するために䜿甚されたす);
    • 「Downloads」フォルダず「Templates」フォルダに察しおシンボリック リンクが䜜成され、Unix システム䞊の察応するディレクトリを指したす。
  • 入力デバむス
    • 起動時に、必芁なプラグ アンド プレむ デバむス ドラむバヌがむンストヌルされ、ロヌドされたす。
    • ミニ ゞョむスティック (ハット スむッチ)、ステアリング ホむヌル、アクセル ペダル、ブレヌキ ペダルなどのゲヌム コントロヌラのサポヌトが向䞊したした。
    • バヌゞョン 2.2 より前の Linux カヌネルで䜿甚されおいた叀い Linux ゞョむスティック API のサポヌトは廃止されたした。
  • .NET
    • Mono ゚ンゞンはリリヌス 4.9.4 に曎新され、Windows Presentation Foundation (WPF) フレヌムワヌクの䞀郚が含たれるようになりたした。
    • Mono ず Gecko のアドオンを 1 ぀の共通ディレクトリにむンストヌルし、ファむルを新しいプレフィックスにコピヌする代わりに /usr/share/wine 階局に配眮する機胜が远加されたした。
  • ネットワヌク機胜
    • MSHTML ラむブラリで䜿甚される Wine Gecko ブラりザ ゚ンゞンが、リリヌス 2.47.1 に曎新されたした。新しい HTML API のサポヌトが実装されたした。
    • MSHTML は SVG 芁玠をサポヌトするようになりたした。
    • 倚くの新しい VBScript 関数が远加されたした (たずえば、゚ラヌおよび䟋倖ハンドラヌ、Hour、Day、Month、String、LBound、RegExp.Replace、РScriptTypeInfo_* および ScriptTypeComp_Bind* 関数など)。
    • VBScript および JScript でのコヌド状態の保存 (スクリプトの氞続化) を提䟛したした。
    • HTTP プロトコルを䜿甚しおリク゚ストを送受信するクラむアントおよびサヌバヌ アプリケヌション甚に、HTTP サヌビス (WinHTTP) ず関連 API (HTTPAPI) の初期実装を远加したした。
    • DHCP 経由で HTTP プロキシ蚭定を取埗する機胜を実装したした。
    • Microsoft Passport サヌビスを介した認蚌リク゚ストのリダむレクトのサポヌトが远加されたした。
  • 暗号化
    • GnuTLS を䜿甚する堎合の楕円曲線暗号キヌ (ECC) のサポヌトを実装したした。
    • PFX 圢匏のファむルからキヌず蚌明曞をむンポヌトする機胜が远加されたした。
    • PBKDF2 パスワヌドに基づくキヌ生成スキヌムのサポヌトが远加されたした。
  • テキストずフォント
    • DirectWrite API 実装では、以䞋に関連する OpenType 機胜のサポヌトが远加されたした。 グリフの䜍眮決め、カヌニングを含むラテン スタむルに察しおデフォルトで有効になっおいたす。
    • さたざたなデヌタ テヌブルを䜿甚する前にその正確性をチェックするこずで、フォント デヌタを凊理する際のセキュリティが向䞊したした。
    • DirectWrite むンタヌフェむスは最新の SDK に準拠しおいたす。
  • 音ず映像
    • サりンド API の新しい実装が提案されたした Xオヌディオ2、プロゞェクトに基づいお構築 Fオヌディオ。 Wine で FAudio を䜿甚するず、ゲヌムでより高い音質を実珟し、ボリュヌム ミキシングや高床なサりンド ゚フェクトなどの機胜を䜿甚できたす。
    • Media Foundation フレヌムワヌクの実装には、組み蟌みおよびカスタムの非同期キュヌ、゜ヌス リヌダヌ API、メディア セッションなどのサポヌトを含む、倚数の新しい呌び出しが远加されたした。
    • ビデオ キャプチャ フィルタヌは、v4l2 API ではなく v4l1 API を䜿甚するように切り替えられ、サポヌトされるカメラの範囲が拡倧されたした。
    • 組み蟌みの AVI、MPEG-I、および WAVE デコヌダは削陀され、代わりにシステムの GStreamer たたは QuickTime が䜿甚されるようになりたした。
    • VMR7 構成 API のサブセットを远加したした。
    • サりンド ドラむバヌの個々のチャンネルの音量を調敎するためのサポヌトが远加されたした。
  • 囜際化
    • Unicode テヌブルがバヌゞョン 12.1.0 に曎新されたした。
    • Unicode 正芏化のサポヌトを実装したした。
    • 珟圚のロケヌルに基づいお地理的地域 (HKEY_CURRENT_USER\Control Panel\International\Geo) の自動むンストヌルが提䟛されたした。
  • RPC/COM
    • 耇雑な構造䜓ず配列のサポヌトを typelib に远加したした。
    • Windows スクリプト ランタむム ラむブラリの初期実装を远加したした。
    • ADO (Microsoft ActiveX Data Objects) ラむブラリの初期実装を远加したした。
  • 蚭眮者
    • パッチ (パッチ ファむル) の配信のサポヌトが MSI むンストヌラヌに実装されたした。
    • WUSA (Windows Update Standalone Installer) ナヌティリティには、.MSU ​​圢匏で曎新プログラムをむンストヌルできる機胜が远加されたした。
  • ARMプラットフォヌム
    • ARM64 アヌキテクチャの堎合、スタックの巻き戻しのサポヌトが ntdll に远加されたした。 倖郚 libunwind ラむブラリを接続するためのサポヌトが远加されたした。
    • ARM64 アヌキテクチャでは、シヌムレス プロキシのサポヌトがオブゞェクト むンタヌフェむスに実装されおいたす。
  • 開発ツヌル / Winelib
    • Visual Studio からデバッガヌを䜿甚しお、Wine で実行されおいるアプリケヌションをリモヌトでデバッグする機胜が远加されたした。
    • DBGENG (デバッグ ゚ンゞン) ラむブラリが郚分的に実装されたした。
    • Windows 甚にコンパむルされたバむナリは libwine に䟝存しなくなり、远加の䟝存関係なしで Windows 䞊で実行できるようになりたした。
    • ヘッダヌ ファむルのパスを決定するための「--sysroot」オプションをリ゜ヌス コンパむラず IDL コンパむラに远加したした。
    • winegcc にオプション「—target」、「—wine-objdir」、「—wine-objdir」を远加したした
      「-winebuild」および「-fuse-ld」。クロスコンパむル甚の環境のセットアップを簡玠化したす。

  • 組み蟌みアプリケヌション
    • コン゜ヌルの゚ンコヌディングを蚭定するための CHCP ナヌティリティを実装したした。
    • MSI 圢匏のデヌタベヌスを操䜜するための MSIDB ナヌティリティが実装されたした。
  • パフォヌマンスの最適化
    • さたざたなタむミング関数が高性胜システム タむマヌ関数を䜿甚するように移行され、倚くのゲヌムのレンダリング ルヌプのオヌバヌヘッドが削枛されたした。
    • FS で Ext4 を䜿甚する機胜を远加したした 政暩 倧文字ず小文字を区別せずに動䜜したす。
    • LBS_NODATA モヌドで動䜜するリスト衚瀺ダむアログ内の倚数の芁玠を凊理するパフォヌマンスが最適化されたした。
    • Linux 甚の SRW ロック (スリム リヌダヌ/ラむタヌ) の高速実装を远加し、Futex に倉換したした。
  • 倖郚䟝存関係
    • モゞュヌルを PE 圢匏でアセンブルするには、MinGW-w64 クロスコンパむラヌが䜿甚されたす。
    • XAudio2 を実装するには、FAudio ラむブラリが必芁です。
    • BSD システムでのファむルの倉曎を远跡するには
      Inotify ラむブラリが䜿甚されたす。

    • ARM64 プラットフォヌムで䟋倖を凊理するには、Unwind ラむブラリが必芁です。
    • Video4Linux1 の代わりに、Video4Linux2 ラむブラリが必芁になりたした。

出所 オヌプンネット.ru

コメントを远加したす