プログラミング
XWayland 26.1-rc1 が前回のリリースから2年後にリリース
XWayland 26.1-rc1 Released Two Years After the Last Release (lists.x.org)
要約
XWayland 26.1.0 の最初のリリース候補版である XWayland 26.0.99.901 がリリースされました。今回のリリースでは、EGLStream サポートの削除、Wayland デスクトップとの間でコピー&ペーストを可能にするクリップボード/プライマリセレクションブリッジの実装、Xi2 を介したマルチシートサポート、wl_fixes のサポートなどが含まれています。テストとフィードバックが歓迎されています。
全文翻訳
Xwayland 26.0.99.901 のリリースを発表できることを嬉しく思います。これは、今後のスタンドアロンリリースである XWayland 26.1.0 (または短縮して XWayland 26.1.0 rc1) の最初のリリース候補版です。
XWayland 24.1 以降の主な変更点は以下の通りです。
* EGLStream サポートが削除されました。
* Xwayland rootful は、クリップボード/プライマリセレクションブリッジを実装しました("-clipboard" で有効化)。これにより、rootful Xwayland と Wayland デスクトップの他の部分との間でコピー&ペーストが可能になります。
* Xi2 を介したマルチシート: Wayland のシートとそのデバイスが XInput 2 の階層にミラーリングされます。
* "wl_fixes" のサポート、具体的には destroy_global と ack_global_remove です。
* RandR エミュレーションは、ネイティブモードを物理解像度まで優先するようになり、エミュレートされたモードは回転を考慮するようになりました。
* Xwayland rootful フルスクリーンは、デフォルトで 640x480 の解像度をスケーリングするのではなく、実際の出力解像度になります。
* xdg-system-bell のサポート: コンポジタがサポートしている場合、Xwayland は Wayland システムベルプロトコルを介してシステムベルを鳴らすようになりました。
このリリース候補版のテストにご協力いただけると幸いです。問題があれば https://gitlab.freedesktop.org/xorg/xserver/-/issues に報告してください。
以下のショートログには、Xwayland 24.1 ブランチが最初に作成されてから(2年以上前)のすべての変更が含まれていますが、そのすべてが XWayland に関連しているわけではありません。
Aki Sakurai (2):
xquartz: コンパイルを修正
xquartz: macOS でのタブレットペンの Y 軸の反転を修正
Alan Coopersmith (190):
xf86_OSlib.h: ここで Solaris キーボードヘッダーを含める必要はない
solaris: APM インターフェースを公式 SRN インターフェースに変換
CI: ビルドするディレクトリにドライバタグをチェックアウト
calloc の呼び出しで sizeof を第二引数に移動
meson: より厳密なコンパイラフラグで AF_INET6 チェックが機能するようにする
compiler.h: Sun コンパイラプラットフォーム定義から gcc への変換を削除
SVR4 より前の SysV バージョンのサポートの残骸を削除
Solaris & illumos 以外の SVR4 システムのサポートの残骸を削除
dix: Xi イベント変換ルーチンで calloc() の失敗をチェック
dix: PolyText: ローカルクロージャを完全に初期化
dix: SetFontPath: Success で errorValue を設定しない
dix: enterleave.c: 暗黙のフォールスルー警告を修正
dix: CreateScratchGC: NULL に設定したばかりのポインタの逆参照を回避
dix: InitPredictableAccelerationScheme: 失敗時のメモリリークを回避
dix: dixChangeWindowProperty: malloc が失敗した場合に memcpy を呼び出さない
dix: ProcListProperties: numProps が 0 の場合に不要な作業をスキップ
dix: HashResourceID: ビットシフトに符号なし整数を使用
dix: GetPairedDevice: GetMaster が NULL を返した場合にチェック
dix: FindBestPixel: 暗黙のフォールスルー警告を修正
CI: xcb util ライブラリをサブモジュール URL が機能するものに更新
CI: libdecor を gnome.org ではなく fd.o からクローン
CI: libdecor を 0.1.0 から 0.1.1 に更新
CI: meson を 0.56.2 (bullseye) から 1.0.0 (bullseye-backports) に更新
meson: xorg-server.pc で xproto ヘッダーの必須バージョンをリスト
os: NextDPMSTimeout: switch で意図的なフォールスルーをマーク
dix: 利用可能な場合は __builtin_popcountl を使用して Ones() を置き換える
xfree86: realloc 失敗時のメモリリークを回避
Xi: GetXTestDevice が NULL を返した場合の NULL ポインタ逆参照を回避
render: PictureFindVisual が NULL を返した場合の NULL ポインタ逆参照を回避
dix: DeviceButtonStateNotify イベント生成時のボタンオフセットを修正
dix: Xi イベント生成時の MAX_VALUATORS へのチェックを制限
modesetting: ms_present_check_unflip() が FALSE を返した場合のメモリリークを回避
dix-config.h: HAVE_SOCKLEN_T 定義を追加
os: getaddrinfo() が利用可能な場合は、IPv6 サポートが無効でも使用する
os: inet_ntop() が利用可能な場合は、IPv4 アドレスにも使用する
ci: XTS を -fcommon ワークアラウンドを必要としないコミットに更新
xkb: XkbAllocNames が割り当て失敗時に num_rg を 0 に設定することを確認
xkb: xkbtext.c で sprintf 呼び出しを snprintf に変換
xkb: tbGetBufferString ヘルパー関数を追加
pkgconfig ファイル: URL を追加
dix-config.h: xtrans 1.6 用に HAVE_STRUCT_SOCKADDR_STORAGE を定義
Xserver.man: X FireWall Proxy (xfwp) 情報を削除
man pages: man ページ参照をマークアップするために .BR を使用
Xserver.man: デフォルトフォントパスでの改行を許可
Xserver.man: サーバー固有の man ページリストに Xwayland(1) を追加
Xserver.man: 利用可能な認証プロトコルのリストを修正
xfree86: modeline2c.awk が xf86DefModeSet.c の末尾に改行を出力するようにする
test: 関数後の余分なセミコロンを削除
modesetting: XF86ModuleVersionInfo 初期化のタイポを修正
test: 余分な return を削除
os: BUGADDRESS の未使用定義を削除
render: miindex.c はヘッダーガードマクロを必要としない
mi: ビットカウント関数の共通実装を使用
man pages: 末尾の空白を削除
man pages: 余分な PP マクロを削除
XWin.man: フォント変更エスケープのタイポを修正
man pages: 単一引数で .BI マクロを使用しない
Xephyr.man: ASCII ハイフンを取得するために \- を使用し、Unicode ダッシュではないようにする
Ones() を再エクスポート
xf86bigfont: -Wimplicit-function-declaration エラーを修正
ci: 一部のビルドで xf86bigfont を有効にする
xf86bigfont: -Werror=unused-variable ビルド失敗を修正
xfree86: gcc -Wpedantic でのビルドを修正
ci: ほとんどのオプションを有効/無効にしてビルドを実行
Xace: xace が無効な場合に新しいフック関数の定義を提供する
dix: meson -Dxace=false -Dwerror=true でのビルドを修正
meson: xace が無効な場合に xselinux をビルドしない
modesetting: pciaccess または udev_kms が無効な場合のビルドを修正
xwayland: xace が無効な場合のビルドを修正
modesetting: glx が無効な場合の modesetting シンボルテストを修正
meson.build: shmfence が有効だが dri3 & xwayland が無効な場合のビルドを修正
xfree86: SPARC システムでの meson ビルドを修正
xfree86: Solaris/SPARC で sun_init.c をビルドするためのヘッダーを追加
xfree86: SPARC Sbus プローブコードの -Wdiscarded-qualifiers 警告を修正
ソースファイルの末尾の空白を削除
Xext/shm: ShmInitScreenPriv() での NULL ポインタ逆参照を回避
Xext/sync: SysCounterGetPrivate() が NULL を返した場合の NULL ポインタ逆参照を回避
Xext/sync: init_system_idle_counter() での NULL ポインタ逆参照を回避
Xext/sync: malloc() が失敗した場合の無効なポインタの逆参照を回避
Xext/vidmode: VidModeCreateMode() の割り当てが失敗した場合の NULL ポインタ逆参照を回避
Xext/xres: ProcXResQueryClients() での NULL ポインタ逆参照を回避
Xext/xselinux: ProcSELinuxListSelections() に高速パスを追加
Xext/xselinux: SELinuxAtomToSID() でのメモリリークを回避
Xext/xtest: ProcXTestFakeInput() での NULL ポインタ逆参照を回避
Xi: wOtherInputMasks() が NULL を返した場合の NULL ポインタ逆参照を回避
Xi: CopySwapKbdFeedback() で led_values の値を設定
Xi: ProcXGetDeviceDontPropagateList() での割り当て失敗を処理
Xi: ProcXListInputDevices() での割り当て失敗を処理
Xi: add_master_func() での割り当て失敗を処理
dix: DeviceFocusEvent() での割り当て失敗を処理
dix: wOtherInputMasks() が NULL を返した場合の NULL ポインタ逆参照を回避
dix: 交換するバッファのサイズが交換サイズ倍数であることをアサート
dix: ChangeWindowDeviceCursor() での割り当て失敗を処理
dix: ProcListProperties() でのメモリリークを回避
dri: dri3_fd_from_pixmap での範囲外読み取りを防ぐ
glamor: GetPictureScreenIfSet() からの NULL 戻り値の可能性を処理
glamor: glamor_create_pixmap() での割り当て失敗を処理
glamor: glamor_validate_gc() での誤検知を抑制
glamor: glamor_largepixmap.c での割り当て失敗を処理
glamor: glamor_dash_setup() での NULL ポインタ逆参照を回避
glamor: glamor_composite_clipped_region() での NULL ポインタ逆参照を回避
glamor: glamor_make_pixmap_exportable() での二重解放を回避
SECURITY.md ファイルを作成
dix: ChangeGCXIDs() で XID ルックアップが失敗した場合に errorValue を正しく設定
os: FormatInt64() が LONG_MIN を正しく処理するようにする
xfree86: lef を削除