2019/12/28

2019年末の近況や幾つかのメモなど

もう2019年も終わりそうになっているので、今年を振り返りつつメモや近況についてを書いていく。

  1. Hacktoberfest 2019に参加
  2. WineのDLLをPE形式に段階的に対応させる動きについて
  3. D9VKとVK9とGallium Nine
  4. Raspberry Piの3B+とZero WHを増税前に購入
  5. 個人的な問題点のメモ(Linuxと関係ないものも含む)
    1. 旧記事のはてなブログへの移行と収益化の問題
    2. 壊れたもの
      1. キーボード
      2. 新品のmicroSDカード
      3. マザーボード(と電源?)
    3. CPU買い替え後、Wine上の特定のソフトウェアの使用時に映像が固まる現象が発生

Hacktoberfest 2019に参加

10月にGitHubでPull Requestを決められた数だけ新しく開くと限定デザインのTシャツが受け取れるイベントで、今年も参加してみた。

今回はPRの必要数が4つだったので、昨年よりは楽だった。Tシャツの注文ページからの住所の書き方を忘れてしまっていたが、昨年に受信していたメールを開いたら書いてあったので、これを使用した。

昨年は年内に届かなかったが、今年は発送が早く、11月下旬に到着した。また、ルートとしてドイツを経由せずに届いた(アメリカを出て4日後に直接日本に入った)点も昨年と異なっていた。

WineのDLLをPE形式に段階的に対応させる動きについて

Wineに含まれる内蔵版のDLL群は従来OSネイティブな形式(*.dll.so)でビルドされてきたが、バージョン4.xの開発版から段階的にこれをWindowsネイティブな “PE” 形式にビルドできるようにする動きが見られる。公式サイトやProtonのバイナリはこれを有効にしているが、強制ではない。

PE形式での内蔵版DLLのビルドにはmingw-w64のクロスコンパイラが必要だが、DRMやアンチチートに関する問題に対して有効であるとProtonの過去のリリースに書かれている。また、プラットフォーム固有の特殊な方法に頼らずに64bitプログラムのみしか動かないOS上で32bitプログラムを動かせるようにするための抜本的な対策の一部でもあるという。

リンク先のフォーラムの書き込み(11月上旬)によると、移行完了の時期についての発言者からの質問に対して、Wineプロジェクトのリーダー・ジュリえもんアレクサンドル氏は “PE対応の完了は6.0(2021年1月)に間に合うかもしれないが5.0(2020年1月)には確実に間に合わない” と回答したとされる。

D9VKとVK9とGallium Nine

Direct3D 9のVulkanによる実装であるD9VKはその後一気にVK9を追い越して高い互換性を獲得し、Protonにも含まれるようになった(その後DXVKに統合されてその一部として提供されている)。同様の実装であるVK9はDXVKの登場前から存在していたプロジェクトだが、この動きによって以前の予想に反して開発が実質凍結状態になってしまった。

一方で手元の環境ではIrisドライバの登場によってGallium準拠ドライバ専用のDirect3D 9実装であるGallium Nineが新しめのIntel GPUで動くようになり、Gallium Nine使用時にウディタ作品で発生する描画不具合もMesa 19.2系時点では全て修正済みなので、古めのウディタ作品をプレイする際にはGallium Nineで動かすようになった(最新バージョンのウディタではDirect3D 11が使えるのでDXVKを使用)。

ただ、後述する通り、その後IntelのCPUが使えない状況になったので、Irisドライバの今後の改善についてはこちらでは確認できない。

Raspberry Piの3B+とZero WHを増税前に購入

購入を迷っていた幾つかのハードウェアを、消費増税前の1年間ぐらいの間に購入していたのだが、その中で省電力の(元々は教育用途の)小型コンピュータとして興味を持っていた “Raspberry Pi” を購入した。

具体的なモデルは3B+とZero WHが各1台で、3B+には専用の小型ディスプレイも用意した。

3B+の主な用途(常時稼働であることを利用しての自動化がメイン):

  • ラジオ番組のタイマー再生(過去はラジカセの実機を使用していた)
    • 小型ディスプレイのスピーカーから音を出しており、音楽鑑賞には厳しいが、人の声がメインのラジオ番組はそれなりに綺麗に鳴り、音量もかなり出る
  • 指定した時刻に特定のWebサイトの情報を画面に表示
  • 必要のないときにはディスプレイの電源をオフにする
  • リアルタイムでも後からも聴けないラジオ番組のタイマー録音
  • 無線LANの自分用アクセスポイント
    • 専用機を持っていないため有線LANの使えない機器向けに運用
  • 第二ディスプレイとして、時々、PCから操作して画像や動画を専用の小型ディスプレイから見る
  • WOLでPCの電源を指定時刻に自動的に入れる
    • 複数の時刻を設定する使い方をしているため、BIOS設定にある機能では実現不可
  • SSHやVNCがあるため、GUI環境は日常的にはほとんど使っていない

Zero WHの主な用途(年末時点では非使用):

  • GPIO接続のサウンドカードを使用してPCからの音を出す
    • 音がクリアになった上にイコライザを使わなくても好みの音が出るようになった印象だが、新しいマザーボードのオンボードサウンドが同様に良いので、当面は放置することに
  • 画面出力はmicroSDカードなしでのNFSブートをするときにSSHログインまでうまくいかないときにエラーなどのメッセージを確認するときに使用するが、それ以外は出力を切っている

新モデルの4Bについては、前モデルの3B+が手元にあること以外にも、無負荷時消費電力が上がったことや負荷のかかる用途における発熱問題が改善していないこと、PC用途としての性能がまだx86系のPCと比べて大きく劣ること、Vulkan未対応などの理由から見送る。今後しばらくはPiシリーズ関係の購入予定はない。なお、3B+は11月にPCが故障(後述)したときに役に立った。

個人的な問題点のメモ(Linuxと関係ないものも含む)

旧記事のはてなブログへの移行と収益化の問題

はてなダイアリーが2019年2月末でサービス終了するということで、はてなブログへの移行手続きを指示通りに進めて移行自体は問題なくできたのだが、過去にAdsenseの審査に通ったコンテンツであるにも関わらず審査が改めて必要ということになって、その結果、同サービスのポリシーにそぐわないということで審査に通らず、移行後のはてなブログ上の過去記事ページに広告を表示して収益を得ることができなくなってしまった。

Googleは(恐らくは悪意を持って対策をされないように)具体的にどの部分が問題なのかを示してくれないので、相談用のフォーラムで他のサイト運営者などの方々が憶測で “この部分が問題である可能性がある” といったアドバイスを示してもらえたものの、記事単位でのページ移転によって発生するような “価値のないページ” はどうにもしようがなく、何度かいじれる所はいじったのだが、修正と申請を何度か繰り返しても結局審査に通ることはなく、記事単位での別サイトへの移転を進めていくしかないのだが、モチベーションが保てずに優先順位が低くなってなかなか進められない。また、はてなブログにインポートした記事を編集すると一部記事で “はてな記法” のままで編集できない状態となっており、過去にエクスポートしたファイルを元にして新しい記事ページを作って置き換えるという余計な手間が発生するのもつらいところ。

3月以降の収益については、全サイトの合計でピーク時(2012年-2013年)の5%未満。仮に寄付を求めたとしても、それを元にして具体的に活動したいことがあるわけでもないし、寄付を継続して得続けるということ自体も難しい。

そもそも競合Webページが量・質ともに2007年頃とは比べ物にならない程上回ってきているため、同じジャンルで記事を多く書き続けていくというのは正直なところ気が進まない。かといって全部閉鎖するのも特にメリットを感じないので、新サイトを時々更新する他、こちらでは近況のようなことを書くだけになる可能性が高い。

壊れたもの

ハードウェアが幾つも故障した年は珍しいので、記録として書いておく。

キーボード

2018年12月頃に手からの汗が入り込んでPCのキーボードの調子がずっと悪く、一部のキーが連打状態または無反応となっていたが、2019年6月にその場所とは異なる複数のキーが完全に死亡したので買い換えた。

  • 6月に分解したときにまだメンブレンのシート間に半年前の水分が残っており、回路の一部がダメになった可能性がある(断線した?)
    • メンブレン式キーボードの内側の構造を詳しく知るきっかけにはなったが、これがどこかで役に立つわけではない
  • 最初調子が悪くなったときに分解して十分に拭き取っておけば故障に至らなかったかもしれないと後悔
  • 現在は壊れたキーボードの箱の中の袋と新しいキーボードのそれを二重にして水が入らないように保護して使用しているが、袋に入れているせいなのか安物キーボードだからなのかは分からないが、押したキーが頻繁に2連打される
  • 複数のキーが完全に無反応になった際、それが原因でOSにログインできなくならなかったのが不幸中の幸いだった

新品のmicroSDカード

9月にRaspberry PI Zero WHで使用していた新品の32GのmicroSDカードが使用開始一週間以内に異常発熱するようになり、最終的にI/Oエラーを出すようになって死亡し、新品のZero本体もSoC温度が75℃以上になるなどダメージを与えたのではないかという不安はあったが、その後前述のサウンドカードも含めて無事を確認した。

microSDカードは大手有名メーカーの品だったが、国内サポートなしのものを選んでしまったので対処できず後悔。

マザーボード(と電源?)

11月にIntel CPUのG4400を載せていたLGA1151マザーボードの電源が入らなくなったのを機に電源ユニットとマザー、同じ価格帯の対応CPU(220GE)に買い換えた。3年すら持たずに主要PCパーツが壊れたのは初めて。メモリやハードディスクは無事だった。

  • 壊れる少し前にUSB機器の給電不足が疑われる動作不良が複数あり、これが兆候だった可能性がある
    • マウスの矢印の動きが一時期極端に悪かったが、マザーボードを替えてからは動いている
  • 増税後間もない時期に出費が発生して痛かった
  • 電源ユニットかマザーボードのどちらに故障の原因があったのかは不明で、電源ユニットは保証期間内だったのでメーカーに経緯を報告したところ、店経由で送ってほしいということで、結果としては(予備または後継として使えそうな)交換品が届いたが、原因の手がかりは得られなかった
    • 電源ユニットを外したときに(CPUクーラーと比べて非常に)多く埃が付いていたのが気になったので、ケースの側面パネルにあるパッシブダクトをケーブル製品の袋で塞ぐ(ダクトの固定用ネジが通る部分にドライバを通して穴を開けた)対処や前面の吸気部分へのフィルタ設置によって埃が入りにくくした(ケース使用14年目で今更ではあるが)
  • 新しいマザー(メーカーはASUS)において “メモリスロットの片方が不良でそのスロットを使用すると映像が出ない” というパターンの初期不良に遭遇したが、マザーの初期不良に当たったのは初めてで、これはこれで現象の把握までの過程において勉強になった部分もあるし、交換品でメモリ2枚をスロットに差し込んだ状態で画面が映ったときの喜びが大きかったのも記憶に残った
  • 買い替え後のCPU性能については、最低動作クロックの向上(0.8GHzから1.6GHzになった)により体感的には向上したが、ビルドなどの重い処理が速くなったとは実感できず
  • GPU(Vega 3 Graphics)の性能については、元がIntelのHD 510だったのである程度の向上を実感(特にトラックシミュレータのETS2とATSでそれなりにフレームレートが向上したのが大きい)
  • 2006年秋に買ったグリスは2010年秋にも普通に使えたが、更に9年ちょっと経過しても何の問題もなく使えた
    • Athlon64(2006年)とAthlon II(2010年)のときはリテールクーラーのグリスを拭き取っていたが、G4400(2017年)のときにはIntelリテールクーラーのグリスがかなり高品質という話を目にしていたので、それからはマザーの初期不良に当たらなければリテールクーラーに塗られたグリスはわざわざ拭き取らずに使うようにしており、同じマザーでのCPU載せ替えも基本的にしないため、一生使える量がまだありそう

CPU買い替え後、Wine上の特定のソフトウェアの使用時に映像が固まる現象が発生

11月に220GE機にしてから、Ubuntu 19.10上のWine(4.0.x系と5.0-rc系で確認)でTMIDI Playerを動かしているときに映像が固まって操作できなくなってしまう現象が起こるようになった(Xorgのプロセスが “fpu exception” で落ちており、カーネルのamdgpu関係のトレースのログが出ている)。DirectDrawの使用をオフにする設定を適用したりXnestの中で動かしたりしても固まる。

なお、固まっても音は曲の終わりまでは鳴り続けるし、マジックSysRqからのリセットも動作する。

影響するソフトウェアを動かさなければ安定しているので、次のUbuntuを待ってもよいのだが、バグ報告も一応視野に入れつつ、その最初の段階として、この現象がkernel.orgで開発されている最新のカーネルでも発生するのかを調べるためにArch Linuxを入れて試すことも考えている(Gentoo Linuxは32bitパッケージ関係含めて手間と時間がかかりそうなので使わないことにした)。

(2019/12/30)Arch Linux上でテストしたところ、2時間以上色々なMIDIファイルを再生していても全く固まらなかったため、次のUbuntuでも同様に問題ないものと考えられる。GUI環境はX11のPlasmaに、X11のドライバはAMDGPU用のものをインストールしてUbuntuと同じ条件にした。