Win32 APIオープンな実装であるWineの3番目のバージョンは、Habréでは見過ごされていました。 Linux、MacOS、FreeBSD、およびその他のPOSIX互換OSのユーザーにとって非常に重要なカーネルを除き、別のオープンソースプロジェクトを見つけるのは困難です。 Wine開発者が成功するたびに、Linuxユーザーが多くの新しいゲームやアプリケーションを利用できるようになります。

この点で、Wine 3.0は明らかに失望しませんでした: Direct3D 10および11のサポート、Androidグラフィックドライバー、 Direct3Dコマンドフロー、AES暗号化標準が実装され、 Direct WriteとDirect2D新しいレベルのサポートが主な結果です。 6,000件を超える編集の結果に続いて、Windows XPからWindows 7へのデフォルトバージョンの移行など、多くの興味深いことが起こりました。
- 最高のプラチナステータスを持つ4586アプリケーション。 完璧に動作します。
- 3918ゴールドステータスアプリ。 最小限の設定と外部DLLで問題なく動作します。
以前の重要なバージョンがリリースされる前でも、Wine開発者は新しいリリーススケジュールへの移行を発表しました。 年に一度の1.xy / 2.xyの代わりに、バージョン2.0、3.0、4.0などがすぐにリリースされます。
Direct3d
新しいバージョンは、 Direct3D 10および11のプロパティの重要な部分を実装しています。
- コンピューティングおよびモザイクまたはテッセレーションシェーダー。
- ストリーミング出力。
- 要求フォーマット機能。
- 順不同のビューカウンター。
- 構造的確実性とバイトアドレッシングを備えたバッファ。
- ミップマップレベルの作成。
- 4番目と5番目のモデルのシェーダーの補間に関する指示と修飾子。
- 立方体のテクスチャ。
- 型なしリソース。
- 3次元テクスチャとテクスチャ配列のマルチレベル処理。
- 保守的な結論と深さを優先するバイアス。
AppendStructuredBuffer 、 ConsumeStructuredBuffer 。
Direct3D主要なOpenGLコンテキストのサポートはさらに開発され、IntelおよびAMDビデオカードを搭載したシステムで既に使用されています。 認識されたグラフィックカードのデータベースが拡張されました。
グラフィックス
Direct2Dは、輪郭の描画と幾何学的オブジェクトの境界の計算をサポートし、線形および放射状のグラデーションを持つブラシをサポートします。 GDI互換性を追加しました。OpenGL拡張機能のリストがバージョン4.6に更新されました。GLUシステムライブラリ(OpenGLユーティリティライブラリ)はNurbsハンドラーを使用する場合にのみ必要であり、残りのGLU関数GLU現在Wine内に実装されています。GdiPlus新機能:グラフィック操作の処理とGdiPlusのほとんどの種類のWMF (Windowsメタファイル)のGdiPus 。WindowsCodecsは、パレットなどの画像形式のエンコードをサポートしています。
Reddit は、 Wineを使用してLinuxにPhotoshop CC 2018 64ビットをインストールするケースを記録しました 。

コア
- デフォルトでは、プログラムはWindows 7を使用します。
- メッセージングモードのパイプを含む、名前付きパイプの完全なセマンティクスをリリースしました。
- Wineの実行可能ファイルと外部バイナリの起動のために、
PIE (Position Independent Executables)のサポートが追加されました。 - シリアルポートとパラレルポートを備えたデバイスが自動的に作成されます。 ポートは、
HKLM\Software\Wine\Portsで再定義できます。 - セーフDLL検索モードはデフォルトで有効になっています。
SafeDllSearchMode変数を0に設定することにより、 HKLM\System\CurrentControlSet\Control\Session Managerキーを使用して無効にできます。 - 安全なプロセス検索モードはデフォルトでオフになっています。
SafeProcessSearchMode変数を1に設定することにより、 HKLM\System\CurrentControlSet\Control\Session Managerキーで有効にできます。 - 非同期I / O操作のパフォーマンスが向上しました。
- 64ビットプラットフォームは、任意の大きなサイズの仮想メモリの領域を割り当てることができました。
- 同じファイルI / Oバッファを同時に使用してメモリに書き込み操作を行うと、正しく動作します。
ユーザーインターフェース
- 高DPIの新しいモニターには、新しくて優れたマウスカーソル、
Shell Explorer 、 RichEdit 、およびすべてのメインダイアログがあります。 - 画面のDPIは、
HKEY_CURRENT_USER\Control Panel\DesktopブランチのLogPixelsパラメーターの値を使用して再定義できます。 - デスクトップモードは、アスペクト比のさまざまな側面でより高い解像度をサポートできます。
TWAINライブラリは、スキャンソース選択ダイアログのサポートを獲得しました。- デバイスに依存しないビットマップと
WMF構造は、 OLE Data Cache保存できます。 TaskDialog 、 MSI Internal User Interface 、ダブルバッファリングを使用したテーマのレンダリング。- フォントは、
FreeTypeバージョン2.8.1の革新と互換性があります。 - Unicode 10.0.0標準に変換されたテーブル文字
- Uniscribe、 Nepali 、 Bangla(インド)キーボードレイアウトでのコンテキストグリフ置換。
Android
- Wineは、 Androidモバイルプラットフォーム用の通常のAPKパッケージとしてアセンブルできるようになりました。
- 本格的なグラフィックドライバーが記述されています。 Android APIウィンドウインターフェイスの制限により、フルスクリーンモードのみがサポートされています。
- フルオーディオドライバー。
OpenGL ES APIサポートを実装しました。
デスクトップ統合
.desktopファイルでは、 StartupWMClassパラメーターはWindows実行可能ファイルにバインドするようにStartupWMClassれています。Xfixesライブラリは、X11アプリケーションによって行われたクリップボードの変更を監視します。RichEditコンポーネントはWMF挿入を実装できます。- Program Manager
DDEプロトコルが追加されました。 - PnPデバイス検出
HIDサービスHIDデフォルトHID有効になっています。 - システムトレイ通知プロトコルのバージョン4はmacOSでサポートされています。
ネットワークとインターネット
- Webサービスは、
.NET Message Format Protocolと.NET Binary Formatサポートに加えて、 TCP/UDPレシーバーのサポートを追加しTCP/UDP 。 非同期モードでメッセージを受信するためのサポートを実装しました。 - HTML:イベントハンドラコードの再設計、多くの新しい標準APIのサポートの追加、ブラウザは
MHTMLを理解することを学びました。 - .NETは埋め込みHTMLドキュメントをよりよくサポートします。
WinHTTPはCookie属性を正しく解釈します。
暗号化
- Rijndael、別名AES-対称ブロック暗号化アルゴリズムのサポートが追加されました。
- 暗号化ハッシュ関数は、GNU TLSを使用する代わりに社内で実装されます。
- 追加の
GeckoおよびMonoプログラムは、 SHA56ハッシュSHA56を使用してチェックされます。 - 2011年のMicrosoftルート証明書は、よく知られているMicrosoft証明書のリストに含まれています。
D3DX 9
- プリシェーダーの新しくより良いサポート。
ID3DXEffectStateManagerがサポートされています-ユーザーがエフェクトからデバイスの状態を設定できるユーザーインターフェイス。- パラメータを共有するためのエフェクトプールがサポートされています。
ダイレクトライト
- 末尾の行の切り捨て記号は、文字モードとテキストモードの両方でサポートされています。
- 行の折り返しモードが改善されました。
- 均一で比例した行間隔のサポート。
- ビットマップ画像モードでの傾斜およびボールド再生。
- アプリケーションでは、フォントファイルをRAMにロードするためのサポートが利用可能です。
- キャッシュは複数のスレッドに対して安全です。
- ラベル付けのためのオーバーハングメトリックの評価を実装しました。
- Windows実行可能ファイルとの互換性のため、浮動小数点ABIはデフォルトで
softfpに設定されています。 - プリロードのサポートと、リレーデバッグモードの使用が追加されました。
そして他の仲間
これについては、新しい機会の広範なリストが尽きることにはほど遠い。 ただし、さらに詳細に説明する必要はありません。次に、残りの興味深いイノベーションからビネグレットを作成します。
wineinstallユーティリティwineinstall古く、削除されました。RegEdit常に64ビットプレフィックスの64ビットレジストリビューを表示します。ProgramDataフォルダが表示されます。ODBC 、SQLドライバーのインストールのサポートを取得しています。Kerberos Authentication Packageはkrb5ライブラリを使用します。
数字で見る第三のワイン
このリリースは、7,373ファイルの5,170,395行のコードで構成されています。 常に、1,480人のプログラマーによって121,944の更新が行われました。

2番目のバージョンから6.026の更新が行われ、448.982が追加され、216.298行のコードが削除されました。

ワイン3.1
私がWine 3.0について書いている間、彼らはすぐに最新のバージョン3.1を公開しました。 最新の安定版の主な機能は次のとおりです。
- Kerberosによる認証サポート。
WindowクラスをCommon Controls 6にリダイレクトする機能。- X11はARGB視覚化サポートを実装しています。
- DOSアプリケーションを実行するには、
DOSBoxが必要になりました。
使用材料