2018/09/27

Meson 0.48.0でunrecognized arguments: -u --no-rebuild --print-errorlogsを直した話

問題自体は既に解決済みで、0.48.1がリリースされたら修正済みのバージョンが利用できるようになる。それまではpip3で旧バージョンの指定(meson==0.47.2)をするなど、問題が出ている場合は各自対処する必要がある。

2018/09/17

Mesonビルドシステムを使う

自由なソフトウェアのビルドにはGNUのautoconfautomakeなどを用いたビルドシステム(configureというシェルスクリプトを実行するもの)や、OSごとのビルド環境に対応したクロスプラットフォームなCMakeなどが広く用いられているが、GNOME系のソフトウェアを中心としてMesonというビルドシステムの利用が広がっている。

開発自体は2012年末から個人のプロジェクトとして始まったものだが、本記事公開時点では、既に多数の貢献者に支えられる規模となり、普及についても、Mesa, systemd, X.OrgのサーバなどGNU/Linuxのデスクトップ用途で欠かせないプロジェクトでのビルドに使用できるようになっており、Mesonのみにしか対応しないプロジェクトも出てきている。

Mesonは高レベルなビルドシステムで、前述した他のビルドシステムも含めて “メタビルドシステム” と分類されることもある。

2018/08/20

POSTメソッドで送信されるフォームの送信処理を自動化する

Webブラウザでアクセスする形で使える家庭用ルータの設定ページなどにおいて、特定の内容の一連のフォーム送信処理を自動化したい場面に遭遇することがある。

そうしたときにPythonのスクリプトを記述して実行することで、(Webブラウザを用いずに)設定変更を自動化するために役立てることができる。これを応用すると、スクリプトの記述内容や実行のさせ方によっては決まった時間帯に特定の設定項目を変更するような使い方もできる。

本記事で扱う方法では、フォームがPOSTメソッドであっても、WebブラウザでアクセスするページでBasic認証が必要であっても自動でフォーム内容を送信でき、サンプルコードの本体とは別に、Pythonで記述され、Basic認証の必要なHTTPデーモンのコードとその作成メモも扱う。

2018/07/20

Mesa 18.1系のソースにIntel GPU用のVK_EXT_vertex_attribute_divisorの実装を取り込む

Vulkan APIでDirect3D 11を実装しているDXVKがバージョン0.60でVulkanのVK_EXT_vertex_attribute_divisorという拡張を要求するようになり、Mesaの開発版のソースでは2018年7月に実装が取り込まれているのだが、これが含まれるリリース版は本記事の公開時点ではまだ公開されていない。

本記事公開の数時間前に、DXVKの開発版において再度この拡張は(NVIDIAの最新のプロプライエタリドライバでもまだサポートされていない関係で)必須ではなくなったのだが、バージョン18.1系のMesaのソースにパッチを適用してバージョン0.60から0.62をIntel GPUで動かせるようにできないかを最近試してみたので、その記録をここで公開しておくことにする(近い将来また必須になる可能性があるため)。

2018/06/18

2017年後半から2018年前半の活動報告

以下に挙げた以外のプロジェクトでの活動も少しだけ行っているが、主に活動していたプロジェクトでの活動内容についてをまとめておく。