GlowBerry — COSMIC DE向けライブシェーダー壁紙サービス
概要
GlowBerryはCOSMIC DE向けに作られた「ライブシェーダー壁紙」サービスです。Rustで書かれており、WGSL(WebGPU Shading Language)で記述されたシェーダーをGPUでレンダリングしてリアルタイムに壁紙として表示します。cosmic-sessionの設定次第で既存のcosmic-bgの代替として動作し、より表現力豊かなデスクトップ背景を提供します。軽量な設計とRustの安全性を活かした実装で、シェーダーのライブリロードやカスタマイズされたアセット管理を想定しています。(約300字)
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 30
- ファイル数: 20
- メインの言語: Rust
主な特徴
- ライブGPUレンダリング対応のシェーダー壁紙(WGSL)
- COSMIC DEのcosmic-sessionと連携してcosmic-bgの代替として動作
- Rust実装による安全性とパフォーマンス、ホットリロード等の開発者フレンドリーな機能
- 小規模で依存を抑えたサービス型アプローチ(デスクトップ背景のための常駐プロセス)
技術的なポイント
GlowBerryはRustで実装されており、WGSL形式のシェーダーを利用してGPUで直接レンダリングすることが特徴です。実装上はWebGPU系のエコシステム(たとえばwgpuやnagaなど)を組み合わせ、クロスプラットフォームなGPU抽象化を利用してレンダリングパイプラインを構築していることが想定されます。WGSLは型と検証が明確な言語であり、ランタイム側での検証を通すことで安全にシェーダーを実行できます。Rustの所有権モデルと非同期処理ライブラリを活用することで、レンダリングループとユーザーイベント(設定の変更やシェーダーファイルの更新)を効率よく処理できる設計です。
COSMIC DEとの統合は、cosmic-sessionから起動するデスクトップ背景プロセスをGlowBerryに差し替える方式です。これによりセッション開始時に自動で起動し、背景を常駐プロセスとして管理します。パフォーマンス面ではフレームレート制御や必要に応じた描画停止(非アクティブ時の負荷軽減)といった工夫が取り入れられている可能性が高く、GPU負荷を一定に保ちながらリッチなビジュアルを実現します。さらに、シェーダーはファイルベースで管理され、ホットリロードやパラメータ調整によりリアルタイムに表現を変化させられるため、開発やカスタマイズがしやすい構成です。
使い方(想定されるワークフローと設定)
- ビルド: Rustプロジェクトなので cargo build —release でバイナリを作成。
- 配置: ビルド後のバイナリを ~/.local/bin やシステムのPATH下へ配置。
- シェーダー配置: WGSLファイルやアセットはリポジトリ内の data/ 等に置く想定。READMEの例を参考にカスタムシェーダーを配置。
- cosmic-session連携: cosmic-sessionの起動スクリプトや設定で cosmic-bg の代わりに glowberry を起動するように変更。これによりセッション開始時に自動で背景が立ち上がる。
- 開発時: シェーダーのホットリロード(ファイル監視)を利用して即座に変更を反映。ログやデバッグ出力で描画エラーやコンパイルエラーを確認。
- 最適化・運用: バッテリーやリソース対策として非アクティブ時の描画停止、描画レートの制限、低解像度でのレンダリング等を設定で切り替えることが望ましい。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- .gitignore: file
- .gitlab-ci.yml: file
- Cargo.lock: file
- Cargo.toml: file
…他 15 ファイル
まとめ
COSMIC DEにライブシェーダー壁紙を持ち込む実用的で拡張性の高いツール。(約50字)
リポジトリ情報:
- 名前: glowberry
- 説明: An enhanced background/wallpaper service with live shader support for COSMIC DE
- スター数: 2
- 言語: Rust
- URL: https://github.com/hojjatabdollahi/glowberry
- オーナー: hojjatabdollahi
- アバター: https://avatars.githubusercontent.com/u/2222199?v=4
READMEの抜粋:
GlowBerry
An enhanced background/wallpaper service with live shader support for COSMIC DE.
Disclaimer: This project extends the functionality of cosmic-bg with live shader wallpapers. When set up correctly, cosmic-session will run GlowBerry instead of cosmic-bg.
https://github.com/user-attachments/assets/44c1a6a2-4c13-4d02-b108-48284f1a5def
Features
- Live GPU-rendered shader wallpapers (WGSL)
- …