Ubuntuでは、Xはスタックの中でも最も重要な要素の1つです。そのため、私たちはそれに関する質問とバグレポートのトンを受け取ります。おそらく私たちが扱う人員の約100倍です。
CanonicalはXに取り組むために追加のエンジニアを雇用していますが、それでもCanonicalができることの範囲外の多くのことがあります。これらの膨大な量のバグ報告をすべて回答し、トリアージし、(うまくいけば)解決することについて。
ただし、Xで作業する人を見つけることや、Xに時間を費やす価値があることを人々に納得させることは困難です。 Xでの作業を考えていない人が参加するように奨励することをどのように提案しますか?
すべてがそうであるように、それの多くは、人々がそれを簡単に見つけてアクセスできるようにしている。バグのトリアージで私が覚えていることから、もともとコミュニティからの助けはあまりありませんでした。その後、いくつかのwikiページでバグのトリアージングの通常のプロセスを説明し、いくつかのバグの日には、より多くのコミュニティメンバーが参加しました。また、コミュニティが行う定期的な活動を開始し、それを試してくれる人に支援を提供できる場合は、興味があります。
アクティビティに関するサポートが必要な場合は、私にメールして、それを整理するのに苦労することができます。
私の答えは、人々がそれに関与するための良いバグトリアージ情報を取得するための質問とコマンドを含むウィキページを作成することです。
開発にとっては大きな問題です。 Xorgとカーネルは、ほとんどのバグ修正と機能の実装に低レベルのプログラミングスキルを必要とします。そのため、特定のプログラマーグループをターゲットにし、興味を持たせる必要があります。少し質問して、#ubuntu-xで誰がたむろしているかを確認し、彼らが助けてくれるかどうかを尋ねる以外は、ここに提案はありません。
Xが多くの作業を行わない理由は、GPUやメモリなどがどのように機能するかについての膨大な知識と、X.orgコードベースとある程度のカーネルプログラミングの知識が必要だからです。 XやXドライバーの開発に興味を持っている人は、おそらく既にそうしているでしょう。現在、開発者が個人的な関心を除いてXorgで作業する動機はありません。
X.org開発者が必ずしも持っているとは限らないコミュニティが持っているのは、さまざまなハードウェアへのアクセスです。時間をかけて「良い」バグレポートを書いたり、ドライバーやXorgスタックの一部をテストしたりできる人がいることbeforeリリースは、おそらくエンジニアにとって何よりも役立つでしょう。
現在、安定したシステムでドライバーをテストするために使用するXorg edgersリポジトリがあります。テストが完了したら、1つのパッケージを簡単にロールバックできます。ただし、他にテストできる唯一の方法は、Xを自分でビルドするか、アップストリームからビルドするedgersリポジトリをインストールすることです。私が知る限り、これは大規模なX置換を行います。これは、Xをテストするためのオールオアナッシングアプローチであることを意味します。
使用したいXの2つのバージョン(および非常に簡単に選択)を持つ方法があると、テスターはXをテストするだけでなく、バグ報告を提出できるように動作中のXorgに戻ることができます。
Xにさりげなく興味を持っている開発者として、ここに私の問題があります。
私はほんの一握りのグラフィックスカードにしかアクセスできず、ほとんどの人がアクセスできるのは1枚だけだと思います。したがって、大部分のバグについては、私はほとんど何もできません。バグは常に「他のカード」にあります。
ほとんどのパッケージとは異なり、新しいドライバーバージョンのテスト環境を簡単に作成することはできません。仮想マシンには独自のXドライバーがあります。
最新のドライバーに簡単に更新し、テストしてから元に戻すことはできません。これは実験を思いとどまらせます(何かがうまくいかない場合、私はレンガ造りにされるかもしれません)。また、回帰テストの妨げにもなります。
前回見て、パッチの適用に成功し、Xのコンパイルと実行は困難で、パッケージマネージャー全体にステップを踏み、カーネルモジュールにもパッチを適用する必要があり、ほとんど元に戻せないステップでした。
現在、Xドライバーは、カーネル、Mesa、udev(設定およびデフォルト用)、およびユーザーランドドライバーにコードを分割しています。つまり、パッチも分割されます...
ですから、答えは、パッケージマネージャーによって処理され、システムが壊れたときから簡単に回復できる変更を適用して元に戻すことだと思います。
また、XドライバーについてはDKMSのようなシステムを調べる必要があります。たとえば、モノリシックな仕掛け全体を再構築することなく、タッチスクリーンの入力ドライバーを簡単にパッチ/コンパイル/テスト/アンインストールできれば(Xを完全に使用できなくするという脅威があるため)、よりカジュアルな貢献が得られ、そのビットのハードウェアに関連するバグのトリアージングとパッチのテストをご覧ください。
Jbowtieが言ったことを補足するために、私はバグトリアージとして、Xが非常に複雑な獣であるという理由だけで、Xのバグに対処するのが非常に難しいと付け加えます。これは、 トラブルシューティングwikiページ の複雑さに反映されています。間違いなく役立つのは、BugSquadメンバーがXバグをより適切に処理する方法を学ぶための一種の指導プログラムです。たぶんそれの周りのバグ抱擁日ですか?または#ubuntu-classroomでの実践的なトレーニングセッションですか?
多くのユーザーがグラフィックスタックの一部を置き換える独自のドライバーを使用し、カーネルのアップグレード/X.orgのアップグレードがドライバーのインストールを中断するときにX.orgチームに問い合わせると、X.orgを改善することは困難です。
「利用可能なすべてのカードがありません」に関する多くの話も有効です。
優れたプログラマーでない場合、グラフィックプログラミングはかなり困難です。特に何が起こっているのかわからない場合、デバッグは非常に苦痛です。