ウィーンの中心で

    本社

    Löwengasse 14 / Lokal 2

    オーストリア ウィーン 1030

    フォローはこちら

    Netsnek RPM リポジトリ

    私の Asahi デスクトップが機能しているのは、ひと握りのパッケージが Fedora とは違う形でビルドされているからにほかなりません。これらのビルドを手作業で世話せずに済むように、そして Fedora のアップデートに上書きされないように、私は rpm.netsnek.com で自前の RPM リポジトリを運営しています。すべてのパッケージは aarch64 上の Fedora 43 を対象とし、私の Asahi セットアップに合わせて作られています。他のアーキテクチャやディストリビューションでは試していません。

    dnf での組み込み

    ここにはかつて /etc/yum.repos.d/netsnek.repo 用のコピペブロックが載っていました。それを私は取り下げました。理由は、利便性より私にとって重要なことがあるからです。リポジトリは他人のマシンに root 権限でソフトウェアを持ち込みます。そういうものは署名されているべきであり、そのために署名検証を無効にするような手順を、私は誰にも差し出したくありません。まさにそれが、ここに書かれていたはずのものでした。

    だから署名鍵が、このリポジトリにとっての次の一歩です。パッケージが署名されたら、gpgcheck=1 と公開鍵を使った組み込み手順がこの場所に載ります。メタデータはもともと createrepo で生成しているので、そうなれば dnf はこのリポジトリを他と同じように扱います。それまでの間はこうです。どれかのパッケージが必要な人は、netsnek.com に記載の連絡手段で声をかけてください。そのマシンにとって何が理にかなうかを、一緒に見ていきましょう。

    Fedora より優先させる

    パッケージは本来のアップストリーム名を名乗ります。たとえば swappy-netsnek ではなく swappy です。私のバージョンが Fedora のパッケージより優先されるように、パッケージに応じて高めのリリース番号、Epoch: 1、あるいは旧パッケージ名への Obsoletes: を使っています。これにより、Fedora からのアップデートがパッチ済みパッケージをうっかり上書きすることはありません。

    何が入っていて、なぜなのか

    Wayland の中核

    wlroots こそが、このリポジトリを作った本来のきっかけです。私の XFCE パネルにはワークスペースが1つしか見えていませんでした。wlroots 0.19 が ext-workspace-v1 プロトコルをまだ実装していないからです。救いになったのは、dkondor を中心としたコミュニティによる 0.20 実装のバックポートで、私はそれを Fedora 向けに 0.19.2 としてパッケージ化しました。このパッチは新しいファイルとビルド行2行を追加するだけで、既存のコードは変更しません。wlroots 0.20 が Fedora に入ったら、このパッケージはまた放り出します。

    wayfire は私のパッチスタックを背負っています。非表示にしたあと再表示されるレイヤーシェルウィンドウのクラッシュ修正、これは kitty のドロップダウンターミナルのために必要でした。同じく dkondor のコミュニティ作業から来たプラグイン wlr-workspaces、これは Wayfire のワークスペースを ext-workspace-v1 経由で公開し、XFCE のページャーがそれを見えるようにし、ページャー内のクリックでワークスペースが切り替わるようにします。本物の10ビット色深度、これで wayfire.ini の [output] ブロックにある depth = 10 が本当に機能し、グラデーションのバンディングが減ります。そして2つの Cube 拡張、修飾キー+4本指スワイプによるデスクトップキューブの起動と、インナーキューブ用プラグインのためのレンダーインターフェースです。

    wayfire-plugins-extra は自作のプラグインを2つ持ち込みます。cube-gears は glxgears をもじって、デスクトップキューブの内側に歯車を描きます。dither は順序ディザリングによって、内蔵ディスプレイ上で目に見えるグラデーションのバンディングを軽減します。

    XFCE とデスクトップの構成要素

    xfce4-panelgtk-layer-shell を有効にしてビルドしています。これによりパネルは Wayland 上でシェル面として認識され、コンポジターのタイトルバーが付かず、画面上の占有領域を正しく確保します。

    xfdesktop には Wayland ビルドに加えて、モニター名のための独自パッチを当てています。これがないと、設定ダイアログは壁紙の設定を monitor0 に書き込む一方で、デスクトップ側は monitoreDP-1 のようなコネクター名の下でそれを探します。つまり私の壁紙は設定はできるのに、決して表示されませんでした。このパッチは名前を libxfce4windowing 経由で解決し、両側が同じキーを使うようにします。

    swappy、私のスクリーンショットエディターは、アップストリームではクライアントサイドデコレーションとして GtkHeaderBar を使っており、私のサーバーサイドデコレーションの隊列から浮いていました。パッチは HeaderBar を通常のウィンドウ内容の中へ移し、Wayfire がウィンドウの周りに統一されたタイトルバーを描けるようにします。

    swaylock-effects は jirutka のフォークからビルドしています。そちらが ext-session-lock-v1 プロトコルに対応し、ロックスクリーン用にブラー、時計、フェードインといったエフェクトを提供するからです。

    kitty には2つの修正が入っています。Python 3.14 向けのアップストリームパッチと、dbus 通知コードにある領域外読み取りに対する自作の修正です。後者は私の環境で、デスクトップ通知のたびに kitty をクラッシュさせていました。サブパッケージの kitty-kittenkitty-terminfokitty-shell-integration も含まれています。

    mugshot は bluesabre/mugshot の無改変アップストリームで、Fedora ではそもそもパッケージ化されていません。XFCE の Whisker メニューにあるプロフィールボタンが必要とする、プロフィール画像ダイアログを提供します。

    他では aarch64 版が存在しないアプリ

    telegram-desktop は Nicegram フォークをベースに、WebRTC スタックも含めて aarch64 向けにネイティブビルドしています。このアーキテクチャ向けの公式バイナリパッケージは存在しません。

    signal-desktop は公式ソースコードからの aarch64 ネイティブビルドで、他に Fedora パッケージとしては存在しないものです。デスクトップエントリーは --no-sandbox --ozone-platform=wayland 付きで起動します。ARM64 Fedora ではサンドボックスが機能せず、そのままだとアプリが XWayland 上で動いてしまうからです。

    youtube-music は YouTube Music の Pear Desktop フォーク(アップストリームは pear-devs/pear-desktop)の私による aarch64 ビルドです。アップストリームからの変更は表示まわりだけで、Google の同意ページがダークモードで描画されます。

    一人プロジェクト

    このリポジトリは、ある特定のセットアップのための一人プロジェクトです。安定性の保証も、Fedora のアップデート後に速やかにリビルドされる保証もありません。それでもフィードバックは、netsnek.com に記載の連絡手段でいつでも歓迎します。

    Asahi Desktop Setup
    Security

    リンク

    GitHub

    Telegram

    Facebook

    Instagram

    運営者情報

    パートナー

    Kanbon

    Neurons

    Copyright © 2024 Netsnek, Florian Herbert Kleber IT & Werbeagentur Nico Schett. All rights reserved.