2019年3月9日土曜日

Mesalibのお勧めbuild方法がautotools → meson & ninjaに変更されていた

Linux (やUnix-likes)におけるsoftwareをsource treeからbuild & installするには、

% ./autogen.sh
% ./configure
% make
% make install

の一連のcommands発行によって行われてきたが、cmakeやmeson & ninja採用のものも増えている。なお、Mozilla Firefoxのように規模の大きいprojectは独自のbuild system (mach)を持っていたりする。

Mesalibも数年前からmeson & ninjaによるbuildが推奨になっていたようで、最近になって./autogen.shを実行するとその旨表示されるようになった。慣れたものから変更するのはそれなりに抵抗があるのだが、今後を考えると公式に推奨されるものに「乗る」方が良いだろうと判断した。

そういえばMesalib以前にもmesonとninjaでbuildしたことがあるなと思い返してみたら、GithubのAtomとかChromiumがそうだった。


下準備


Debianの場合はmesonとninjaがpackageになっているのでinstallする。

% sudo aptitude install meson ninja


Mesalibのbuild (w/ meson & ninja)


最初にbuildのためのdirectoryを作る (eg. build/)

% meson setup build/

reconfigureしたい:

% meson setup --reconfigure build/

buildする:

% ninja -C build/

installする:

% sudo ninja -C build/

cleanする:

% ninja -C build/ clean

取り敢えず細かいoption指定とかをしなくて良いならこれで十分。

option指定 (w/ meson):

勿論option指定もできる。とりあえず、以前からの設定を引き継ぐ格好で以下のように指定してみている:

% meson setup --reconfigure build/ -Dgallium-drivers=iris,radeonsi,swrast -Dvulkan-drivers=intel,amd


cf. [Compilation and Installation using Meson](https://www.mesa3d.org/meson.html)


2019年3月7日木曜日

Linux kernel 5.0がrelaseされたのでupgrade

Linux kernel 4.20.13 → 5.0へupgrade。

Phronixが行っているbenchmark testによれば、Linux 5.0は4.20.x比で性能が低下しているとのこと。Spectre/Meltdown対策が主な要因のようだ。そう言えば最近SPOILERなんて新顔も報告されている。

cf. [Linux 5.0 Kernel Performance Is Sliding In The Wrong Direction - Phoronix](https://www.phoronix.com/scan.php?page=article&item=linux-50-sliding&num=1)

なお、最新のLTSは4.19.x series (ちなみにRaspbianも最新版は4.14.x seriesから4.19.xに移っている)。

cf. [LKML: Linus Torvalds: Linux 5.0](https://lkml.org/lkml/2019/3/3/236)

SwissMicros DM15Lのfirmware v28が公開された

去る2/22にSwissMicros DM1x seriesのfirmware v28が公開されたのでupgrade。

cf. [Firmware History](https://www.swissmicros.com/dm42/firmware/history.html)

今回の更新内容は:

* DM1Xでirregular LED blinkingの修正
* DM41向けfixes

とのこと。


Upgrade instructionsは以前紹介した通りなので詳細は過去記事を参照されたい:

cf. https://typeinf-memo.blogspot.com/2017/12/swissmicros-dm42firmware-update.html ※dfu-utilを用いたfirmware updateの手順