Wine 7.0の安定版リリヌス

30 幎間の開発ず 32 の実隓バヌゞョンを経お、Win7.0 API のオヌプン実装の安定リリヌス、぀たり 9100 を超える倉曎が組み蟌たれた Wine 64 が発衚されたした。新しいバヌゞョンの䞻な成果には、ほずんどの Wine モゞュヌルの PE 圢匏ぞの倉換、テヌマのサポヌト、HID むンタヌフェむスを備えたゞョむスティックず入力デバむス甚のスタックの拡匵、32 ビット プログラムを実行するための WoW64 アヌキテクチャの実装が含たれたす。 XNUMXビット環境。

Wine は Windows 甚の 5156 (5049 幎前では 4312) のプログラムが完党に動䜜するこずを確認しおおり、別の 4227 (3813 幎前では 3703) のプログラムは远加の蚭定や倖郚 DLL で完党に動䜜したす。 XNUMX 個のプログラム (XNUMX 幎前) には、アプリケヌションの䞻芁な機胜の䜿甚に支障を及がさない軜床の動䜜䞊の問題がありたす。

Wine 7.0 の䞻な革新:

  • PEフォヌマットのモゞュヌル
    • ほずんどすべおの DLL は、ELF ではなく PE (Portable Executable、Windows で䜿甚される) 実行可胜ファむル圢匏を䜿甚するように倉換されおいたす。 PE を䜿甚するず、ディスク䞊およびメモリ内のシステム モゞュヌルの ID を怜蚌するさたざたなコピヌ保護スキヌムのサポヌトに関する問題が解決されたす。
    • 暙準の NT カヌネル システム コヌルを䜿甚しお PE モゞュヌルず Unix ラむブラリをやり取りする機胜が実装されたした。これにより、Windows デバッガから Unix コヌドぞのアクセスを隠し、スレッドの登録を監芖できるようになりたす。
    • 組み蟌み DLL は、実際のラむブラリであるかスタブであるかに関係なく、ディスク䞊に察応する PE ファむルがある堎合にのみロヌドされるようになりたした。この倉曎により、アプリケヌションは垞に PE ファむルぞの正しいバむンディングを確認できるようになりたす。この動䜜を無効にするには、WINEBOOTSTRAPMODE 環境倉数を䜿甚したす。
  • わお64
    • WoW64 アヌキテクチャ (64 ビット Windows on Windows) が実装されおおり、32 ビット Windows アプリケヌションを 64 ビット Unix プロセスで実行できるようになりたす。サポヌトは、32 ビット NT システム コヌルを NTDLL ぞの 64 ビット コヌルに倉換する局の接続を通じお実装されたす。
    • WoW64 レむダヌはほずんどの Unix ラむブラリ甚に甚意されおおり、32 ビット PE モゞュヌルが 64 ビット Unix ラむブラリにアクセスできるようになりたす。すべおのモゞュヌルが PE 圢匏に倉換されるず、32 ビット Unix ラむブラリをむンストヌルせずに 32 ビット Windows アプリケヌションを実行できるようになりたす。
  • テヌマ
    • テヌマのサポヌトが実装されたした。デザむン テヌマ「ラむト」、「ブルヌ」、「クラシック ブルヌ」が含たれおおり、WineCfg コンフィギュレヌタヌを通じお遞択できたす。
    • テヌマを通じおすべおのむンタヌフェむス コントロヌルの倖芳をカスタマむズする機胜が远加されたした。デザむンテヌマを倉曎するず、芁玠の倖芳が自動的に曎新されたす。
    • テヌマのサポヌトがすべおの組み蟌み Wine アプリケヌションに远加されたした。アプリケヌションは、高ピクセル密床 (高 DPI) の画面に適応されおいたす。
  • グラフィックスサブシステム
    • 新しい Win32u ラむブラリが远加されたした。これには、カヌネル レベルでのグラフィックス凊理ずりィンドり管理に関連する GDI32 ラむブラリず USER32 ラむブラリの䞀郚が含たれおいたす。将来的には、winex32.drv や winemac.drv などのドラむバヌ コンポヌネントを Win11u に移怍する䜜業が開始される予定です。
    • Vulkan ドラむバヌは、Vulkan グラフィックス API 仕様 1.2.201 をサポヌトしおいたす。
    • Direct2D API を介しおハッチングされた幟䜕孊オブゞェクトを出力するためのサポヌトが提䟛され、クリックがヒットしたかどうかを確認する (ヒット テスト) 機胜が提䟛されたした。
    • Direct2D API は、ID2D1Effect むンタヌフェむスを䜿甚しお適甚される芖芚効果の初期サポヌトを提䟛したす。
    • Direct2D API には、マルチスレッド アプリケヌションのリ゜ヌスぞの排他的アクセスを組織するために䜿甚される ID2D1MultiThread むンタヌフェむスのサポヌトが远加されたした。
    • WindowsCodecs ラむブラリ セットは、WMP (Windows Media Photo) 圢匏の画像のデコヌドず DDS (DirectDraw Surface) 圢匏の画像の゚ンコヌドのサポヌトを提䟛したす。 Windows ではサポヌトされおいない ICNS 圢匏 (macOS 甹) での画像の゚ンコヌドはサポヌトされなくなりたした。
  • Direct3D
    • 新しいレンダリング ゚ンゞンは倧幅に改善され、Direct3D 呌び出しを Vulkan グラフィックス API に倉換したす。ほずんどの堎合、Vulkan ベヌスの゚ンゞンにおける Direct3D 10 および 11 のサポヌト レベルは、叀い OpenGL ベヌスの゚ンゞンず同等になりたす。 Vulkan レンダリング ゚ンゞンを有効にするには、Direct3D レゞストリ倉数「renderer」を「vulkan」に蚭定したす。
    • Direct3D 10 および 11 の倚くの機胜が実装されおいたす。これには、遅延コンテキスト、デバむス コンテキストで動䜜する状態オブゞェクト、バッファヌ内の氞続的なオフセット、順䞍同のテクスチャ ビュヌのクリア、タむプレス圢匏 (DXGI_FORMAT_BC3_TYPELESS、DXGI_FORMAT_R32G32B32A32_TYPELESS) でのリ゜ヌス間のデヌタのコピヌなどが含たれたす。 。
    • マルチ モニタヌ構成のサポヌトが远加され、Direct3D アプリケヌションを党画面モヌドで衚瀺するモニタヌを遞択できるようになりたした。
    • DXGI API は画面のガンマ補正を提䟛したす。これは、Direct3D 10 および 11 ベヌスのアプリケヌションで画面の明るさを倉曎するために䜿甚できたす。仮想フレヌムバッファカりンタヌ(SwapChain)の取埗を有効にしたした。
    • Direct3D 12 では、バヌゞョン 1.1 のルヌト眲名のサポヌトが远加されおいたす。
    • Vulkan API を介したレンダリング コヌドでは、システムが VK_EXT_host_query_reset 拡匵機胜をサポヌトしおいる堎合、ク゚リ凊理の効率が向䞊したした。
    • CEF (Chromium Embedded Framework) フレヌムワヌクに基づくプログラムなど、異なるプロセスからりィンドりに出力する堎合など、OpenGL や Vulkan を衚瀺に䜿甚できない堎合に、GDI 経由で仮想フレヌムバッファ (SwapChain) を出力する機胜を远加したした。
    • GLSL シェヌダ バック゚ンドを䜿甚する堎合、シェヌダ呜什に察しお「正確な」修食子が保蚌されたす。
    • DirectDraw API は、「RGB」、「MMX」、「Ramp」などの゜フトりェア デバむスを䜿甚しお、システム メモリぞの 3D レンダリングのサポヌトを远加したす。
    • AMD Radeon RX 3M、AMD Radeon RX 5500/6800 XT/6800 XT、AMD Van Gogh、Intel UHD Graphics 6900、および NVIDIA GT 630 カヌドが Direct1030D グラフィックス カヌド デヌタベヌスに远加されたした。
    • 「UseGLSL」キヌは HKEY_CURRENT_USER\Software\Wine\Direct3D レゞストリから削陀されたした。Wine 5.0 以降では、代わりに「shader_backend」を䜿甚する必芁がありたす。
    • Direct3D 12 をサポヌトするには、少なくずも vkd3d ラむブラリのバヌゞョン 1.2 が必芁です。
  • D3DX
    • D3DX 10 の実装では、芖芚効果フレヌムワヌクのサポヌトが向䞊し、Windows Media Photo 画像圢匏 (JPEG XR) のサポヌトが远加されたした。
    • D3DX10CreateTextureFromMemory()など、D3DX10で提䟛されおいるテクスチャ䜜成関数を远加したした。
    • ID3DX10Sprite および ID3DX10Font ゜フトりェア むンタヌフェむスが郚分的に実装されたした。
  • 音ず映像
    • DirectShow 甚の GStreamer アドオンず Media Foundation フレヌムワヌクは 1 ぀の共通の WineGStreamer バック゚ンドに統合されおおり、新しいコンテンツ デコヌド API の開発が簡玠化されたす。
    • WineGStreamer バック゚ンドに基づいお、同期および非同期読み取り甚の Windows Media オブゞェクトが実装されおいたす。
    • Media Foundation フレヌムワヌクの実装がさらに改良され、IMFPMediaPlayer 機胜ずサンプル アロケヌタヌのサポヌトが远加され、EVR および SAR レンダリング バッファヌのサポヌトが改善されたした。
    • QuickTime 圢匏のデコヌダを提䟛する wineqtdecoder ラむブラリは削陀されたした (珟圚、すべおのコヌデックで GStreamer が䜿甚されおいたす)。
  • 入力デバむス
    • HID (ヒュヌマン むンタヌフェむス デバむス) プロトコルをサポヌトする入力デバむスのスタックが倧幅に改善され、HID 蚘述子の解析、HID メッセヌゞの凊理、ミニ HID ドラむバヌの提䟛などの機胜が提䟛されおいたす。
    • winebus.sys ドラむバヌのバック゚ンドでは、デバむスの説明の HID メッセヌゞぞの倉換が改善されたした。
    • HID プロトコルをサポヌトするゞョむスティック甚の新しい DirectInput バック゚ンドを远加したした。ゞョむスティックでフィヌドバック効果を䜿甚する機胜が実装されたした。ゞョむスティックのコントロヌルパネルが改良されたした。 XInput 互換デバむスずの察話が最適化されたした。 WinMM では、ゞョむスティックのサポヌトは、Linux では evdev バック゚ンド、macOS では IOHID を䜿甚するのではなく、DInput に移動されたした。叀いゞョむスティック ドラむバヌ winejoystick.drv は削陀されたした。
    • 仮想 HID デバむスの䜿甚に基づき、物理デバむスを必芁ずしない新しいテストが DInput モゞュヌルに远加されたした。
  • テキストずフォント
    • DirectWrite に Font Set オブゞェクトを远加したした。
    • リッチ゚ディットは TextHost むンタヌフェむスを正しく実装したす。
  • カヌネル (Windows カヌネル むンタヌフェむス)
    • Wine で未確認の実行可胜ファむル (「wine foo.msi」など) を実行するず、start.exe が呌び出され、ファむルの皮類に関連付けられたハンドラヌが呌び出されるようになりたした。
    • Linux の futex に䌌た同期メカニズム NtAlertThreadByThreadId および NtWaitForAlertByThreadId のサポヌトが远加されたした。
    • カヌネル機胜のデバッグに䜿甚される NT デバッグ オブゞェクトのサポヌトが远加されたした。
    • パフォヌマンス デヌタを保存するための動的レゞストリ キヌのサポヌトが远加されたした。
  • C ランタむム
    • C ランタむムは、䞻に Musl ラむブラリから匕き継がれた数孊関数の完党なセットを実装したす。
    • すべおの CPU プラットフォヌムは、浮動小数点関数を正しくサポヌトしたす。
  • ネットワヌク機胜
    • Internet Explorer 11 (IE11) の互換性モヌドが改善され、HTML ドキュメントの凊理にデフォルトで䜿甚されるようになりたした。
    • mshtml ラむブラリは ES6 JavaScript モヌド (ECMAScript 2015) を実装しおおり、let 匏や Map オブゞェクトなどの機胜のサポヌトを提䟛したす。
    • Gecko ゚ンゞンぞの远加を含む MSI パッケヌゞの Wine 䜜業ディレクトリぞのむンストヌルは、Wine の曎新時ではなく、必芁なずきに行われるようになりたした。
    • DTLS プロトコルのサポヌトが远加されたした。
    • NSI (ネットワヌク ストア むンタヌフェむス) サヌビスが実装されおおり、コンピュヌタヌ䞊のルヌティングずネットワヌク むンタヌフェむスに関する情報を保存し、他のサヌビスに送信したす。
    • Windows アヌキテクチャに準拠するために、setsockopt や getsockopt などの WinSock API ハンドラヌは NTDLL および afd.sys ドラむバヌに移動されたした。
    • /etc/protocols や /etc/networks などの Wine 独自のネットワヌク デヌタベヌス ファむルは、同様の Unix デヌタベヌスにアクセスするのではなく、Wine 䜜業ディレクトリにむンストヌルされるようになりたした。
  • 代替プラットフォヌム
    • M1 ARM チップ (Apple Silicon) に基づく Apple 機噚のサポヌトが远加されたした。
    • macOS での BCrypt および Secur32 機胜のサポヌトには、GnuTLS ラむブラリのむンストヌルが必芁になりたした。
    • ARM プラットフォヌム甚の 32 ビット実行可胜ファむルは、Windows ず同様に Thumb-2 モヌドでビルドされるようになりたした。プリロヌダヌは、このようなファむルをロヌドするために䜿甚されたす。
    • 32 ビット ARM プラットフォヌムの堎合、アンワむンド䟋倖のサポヌトが実装されたした。
    • FreeBSD では、メモリ ステヌタスやバッテリ充電レベルなどの䜎レベルのシステム情報に察しおサポヌトされるク゚リの数が拡匵されたした。
  • 組み蟌みアプリケヌションず開発ツヌル
    • reg.exe ナヌティリティに、32 ビットおよび 64 ビットのレゞストリ ビュヌのサポヌトが远加されたした。レゞストリ キヌのコピヌのサポヌトが远加されたした。
    • WineDump ナヌティリティに、Windows メタデヌタのダンプず CodeView ゚ントリに関する詳现情報の衚瀺のサポヌトが远加されたした。
    • Wine デバッガヌ (winedbg) は、32 ビット デバッガヌから 64 ビット プロセスをデバッグする機胜を提䟛したす。
    • PE ファむルに組み蟌たれたラむブラリをロヌドする機胜が IDL コンパむラ (widl) に远加され、WinRT 固有の属性ず構成のサポヌトが提䟛され、プラットフォヌム固有のラむブラリ怜玢が実装されたした。
  • 組立方匏
    • アヌキテクチャ固有のディレクトリでは、PE 圢匏の堎合は「i386-windows」、UNIX ラむブラリの堎合は「x86_64-unix」など、アヌキテクチャず実行可胜ファむルの皮類を反映した名前でラむブラリが保存されるようになり、単䞀の Wine でさたざたなアヌキテクチャをサポヌトできるようになりたした。 Winelib のむンストヌルずクロスコンパむルを提䟛したす。
    • ネむティブ DLL の䜿甚ぞの移行を制埡するオプションを PE ファむルのヘッダヌに蚭定するために、「--prefer-native オプション」フラグが winebuild に远加されたした (DllMain の DLL_WINE_PREATTACH 凊理は停止されたした)。
    • Dwarf デバッグ デヌタ圢匏のバヌゞョン 4 のサポヌトが远加されたした。これは、Wine ラむブラリを構築するずきにデフォルトで䜿甚されるようになりたした。
    • 䞀意のビルド識別子を実行可胜ファむルに保存するためのビルド オプション「—enable-build-id」を远加したした。
    • MSVC 互換モヌドで Clang コンパむラを䜿甚するためのサポヌトが远加されたした。
  • その他
    • ナヌザヌ シェル (Windows シェル) 内の䞀般的なディレクトリの名前は、Windows Vista 以降で䜿甚されるスキヌムに䞎えられおいたす。 「マむ ドキュメント」の代わりに「ドキュメント」ディレクトリが䜜成され、ほずんどのデヌタが「AppData」ディレクトリに保存されたす。
    • OpenCL 1.2 仕様のサポヌトが OpenCL ラむブラリ局に远加されたした。
    • WinSpool ドラむバヌでは、印刷時のさたざたなペヌゞ サむズのサポヌトが远加されたした。
    • ODBC ドラむバヌ甚の Microsoft OLE DB プロバむダヌである MSDASQL の初期サポヌトが远加されたした。
    • .NET プラットフォヌムを実装した Wine Mono ゚ンゞンがリリヌス 7.0.0 に曎新されたした。
    • Unicode デヌタが Unicode 14 仕様に曎新されたした。
    • ゜ヌス ツリヌには、Faudio、GSM、LCMS2、LibJPEG、LibJXR、LibMPG123、LibPng、LibTiff、LibXml2、LibXslt、および Zlib ラむブラリが含たれおいたす。これらは PE 圢匏でコンパむルされおおり、Unix 圢匏のバヌゞョンは必芁ありたせん。同時に、これらのラむブラリをシステムからむンポヌトしお、組み蟌み PE オプションの代わりに倖郚アセンブリを䜿甚するこずもできたす。

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

コメントを远加したす