端の知識の備忘録

技術メモになりきれない、なにものか達の供養先

FF14用にフットスイッチOlympus RS31Hを米尼で買ってみた

概要

以前Razer Naga Proを買ったときにも書いたが、私は12ボタンマウスとフットスイッチがないとサスタシャクリアすら怪しい光の戦士である。

今まではルートアールの3ボタンフットスイッチを2年ほど愛用していたのだが、だんだんガタが来ており、最近では押したはずなのに反応しないこともしばしば。まあ物としては問題なかったし、たった3500円位で買ったやつがこれだけ持てばなんの不満もない。

Amazon.co.jp: ルートアール USB3連フットペダルスイッチ マウス操作対応 RI-FP3BK: パソコン・周辺機器

とはいえ最近は零式行ったりしているので、フットスイッチが不発して攻撃しようとしてベネフィク撃ってしまったり、ディビネ使おうとしてアスヘリ撃ったりしてしまうと困る。ということで、フットスイッチを買い換えることにした。

国内で買えるフットスイッチといえば、今まで使ってたルートアールのやつが安くて有名だが、ワンランク上のやつとしては文字起こし用のOlympusのRS27Hとか、Kinesisのフットスイッチ辺りだろう。どちらも多分FF14で使っている人がいるはず。

Amazon | OLYMPUS フットスイッチ RS27H | オリンパス | ボイスレコーダー用マイク

Amazon | Kinesis Savant Elite2 プログラム可能なトリプルフットペダル(FP30A) | Kinesis | マウス 通販

特に不満はないもののルートアールの同じものをもう一度買うのは芸がないし、Kinesisのやつは無駄に高い感じがしたので元々はRS27Hを買うつもりでいたのだが、なぜかECサイトで売り切れの嵐。そういえばオリンパスはかつて主力だったカメラ事業を切り離してイメージングソリューションに注力、とか最近聞いたのでもしかしたらフットスイッチも生産終了してしまったのだろうか……。困る。

仕方ないので色々探していたところ、まだ米アマゾンでは在庫があるっぽかった。しかも日本ではあまりお目にかかれないRS27Hの4ボタン版のRS31Hも売ってる。ボタンが多いに越したことはないし、終売?前にせっかくなのでRS31Hを買ってみたという話。

Amazon.com: Olympus RS31H Foot Switch for Professional Dictation Systems and USB PC Connection: Computers & Accessories

まとめ

  • RS31Hは普通にFF14で使える。

    • 左からCtrl, Alt, Shiftを割り当て。こうするとフットスイッチ押さずにマウスサイドボタンでホットバーの1段目、左押しながらマウスサイドボタンで2段目、、、てな感じで使える。詳しくは過去記事参照

    • 4ボタン目にはT(ターゲットがターゲットしている対象にターゲットを変更……。ニホンゴムズカシイネ)を割り当て。これですぐMTにターゲットできる。

  • ルートアールのやつよりキーアサイン変更ソフトも使いやすいし、押し心地もよい。小さくてコンパクトだしボタンも多い。1万出す価値は十分にある。継続して日本でも売っておいてほしい。

    • ちなみにFF14じゃ使わなさそうだが最大6つキー同時押しまで1ボタンに割り当てられるようなので、何か面白い使い方がありそう。
  • 米尼から買うと送料込み日本円で9911円。一番遅い発送を選択したが、予定の2週間より早く6日ほどで届いた。

  • 何よりフットスイッチと12ボタンマウスは最高の組み合わせである。ぜひ色んなヒカセンに一度は試してもらいたい。

    • 自分みたいな下手くそでもこれ使えばそこそこ戦えるので、やはりハードウェアにお金かけるのは上達への近道!ハードウェアチートとは言わないで!

特になんの困難もなく買えるので、FF14でフットスイッチ探している人は是非RS31Hも検討してみると良いと思います!

外観

海の向こうから外箱なしテープ封印もなし、伝票直張りで届いた。co.jpのクソデカダンボールも困りものだが、流石に本場のアマゾンは豪快すぎる気も。

発送はECMSなる国際便がやってくれたっぽい。

f:id:hashicco:20210208222817j:plain

中身は本体とDin to USBの専用ケーブル。本体のみのHなし型番の商品もあるようだが、PCに接続して使うならばこの専用ケーブルが必須。KP-13という型番のようだが、これ単体では入手性が悪いのでFF14用ならおとなしくRS27H, RS28H, RS31Hのどれかを買うべし。

f:id:hashicco:20210208222753j:plain

RS31Hの裏にはロックスイッチがある。これで真ん中のスイッチを無効化することができるらしい。

f:id:hashicco:20210208222827j:plain

最後に今まで使っていたルートアールの3ボタンフットスイッチと比較。圧倒的にコンパクトで作りもしっかりしている印象。

f:id:hashicco:20210208222805j:plain

設定

まずは設定ソフトウェアをダウンロード。

www.olympus-europa.com

f:id:hashicco:20210208224431j:plain

こんな感じで日本語にしっかり対応。最大1スイッチに6キーまで同時割当できるっぽい。何に使うのだろうか……

f:id:hashicco:20210208224427j:plain

私はまとめにも書いたとおり、Ctrl, Alt, ShiftとTキーを割り当て。長押しするボタンはLongを選択する必要があるので注意。

4ボタンならではだがWASDを割り当てれば足だけで移動できたりもしそう。まあそんなにメリットはなさそうだがゲームによっては楽しいかもね。

f:id:hashicco:20210208224424j:plain

ホットバーはこんな感じ。

f:id:hashicco:20210208225138j:plain

キーバインド設定をこんな感じでホットバー2, 3, 4を装飾キー+マウスサイドボタンと設定。

また、もう一つおすすめの設定としてはAltを使う場合、デフォルトで敵ターゲット送りに設定されているTabと同時押しされるとウィンドウ切り替えが発生してしまい鬱陶しいので、ターゲット送りのアサインを適当なキーに変えると良い。

私は絶対他と競合しなさそうなNumlock + -Numlock + +に設定して、マウスホイールのチルトにアサインしています。

f:id:hashicco:20210208225134j:plain

これで個人的には超快適にFF14操作ができます!通常のマウス・キーボードでGCD腐らせちゃうヒカセンたちはぜひ一度お試しあれ!まあ私はこんだけハードウェア揃えても腐らせちゃうけどね!

RX6900XT買えたのでRTX3080と比較!

税込み14万くらいで中古のRX6900XTを買ってしまった。

やはり今までR9290 -> R9390X -> RX590X -> RX Vega56と90番台やハイエンドRadeonを自作はじめたときから使ってきた身として、今回のフラッグシップであるRX6900XTは超魅力的に見えてしまった。まあこれらは全部2万前後で買えたからコスパRadeonであったが今回は14万……。ぶっちゃけ高すぎる。

とはいえまともなワッパでnvidiaと勝負できるグラボというとほんとに久々ですし、ちょうどSAMが使える5600X使ってるのでそれも使ってみたかった。……いくら理由をあげようともただの衝動買いです。

更にRTX3080の売価が上がっており、なんだか買ったときとおんなじ値段で売れそうだったので買い替えてみたというお話。

やっと買えたRTX 3080 ~msi Ventus 3X 10G OC を試す~ - 端の知識の備忘録

まとめ

  • 若干だが3080よりも確かに性能は高い。しかも低消費電力。さすがTSMC 7nmである。

  • ちゃんとFF14は4K最高品質でほぼ60FPSで動く。でもリムサは55FPSくらいしか出なくてつらめ。

  • リファレンスファンの冷却はとても優秀。ベンチ中でも75度未満で回転数1500rpmにすら行くこともなし。

  • SAMは気休め程度に効果がある気がする。設定は簡単なのでRyzenユーザーはとりあえず入れておけばいいと思う。

  • とにかく新品で買えないのが難点。こんな高いものを中古で買うのは怖すぎる。

まさかRadeonがハイエンドクラスで戦える性能を持ち、なおかつワッパがいいという時代が来るとは思わなんだ。

いつもどおりドライバが徐々に成熟していくならば、いつかは疑いなくRTX3080よりも良い選択肢となるのかもしれない。

……が、今は残念ながら4万近い差額を埋めるほどの理由はないというのが正直な感想。でも+2万だったら迷わずRX6900XT!って感じ。12万くらいが適正価格だと思う。

まあどちらも品薄も品薄なので、入手性がまともにならない限りはコスパ議論は難しいように思う。

よりにもよってまたも自作趣味にとっては迷惑でしかないマイニングブームがやってきているようですしねー。

まあ私はRTX3080売り払ってRX6900XTに乗り換えようと思います!買っちゃったので!

RTX3080 と RX6900XTの比較

  • RTX 3080 Pros

    • DLSS, CUDAが使える
    • RT性能が高い
    • 6900XTより4万円近く安い(定価で買えれば)
    • Nvidiaに最適化したゲームも多い
  • RX6900XT Pros

    • メモリが6GBも多い
    • 若干だが性能が良い
    • USB-C端子がついてる
    • ワッパがいい

こう見ると……今の所特段の理由がなければRTX3080一択ですかね……。もしくはRX6800XTならいい勝負できるかな。

あとは10GB以上メモリを使うゲームが増えればRadeonの時代が来るかもですね。

開梱!

今回買ったのはBiostarのリファレンス仕様のもの。VA69T6AEP2という型番のやつ。

あまり高級感のない箱。シールが雑に上張りされてるの14万もするフラッグシップとしてどうなんでしょうね……?

f:id:hashicco:20210120222239j:plain

1370gのVentusのほうが長くて分厚くてデカイですが、重さはなんとRX6900XTのほうが1530gと重いらしい。先述の通り冷却性能は素晴らしいので、きっと良いヒートシンクを使っているものと信じたい。14万もしたし!

f:id:hashicco:20210120223845j:plainf:id:hashicco:20210120223855j:plainf:id:hashicco:20210120223909j:plainf:id:hashicco:20210120223923j:plain

ベンチ条件

  • OS: Windows10 Home
  • CPU: Ryzen5 5600X
  • MB: msi mpg B550 gaming plus
  • RAM: 3200MHz 16GBx2
  • システムディスク: HP EX950 NVMe 500GB

SAMは有効化して測定。BIOSRe-size BARAbove 4G memory/Crypto Currency miningを設定すれば有効になるらしい。参考URL

いつもどおり下の3つを測定しました。

ベンチマーク

  • GPU-Zのスクショ

f:id:hashicco:20210120222628g:plain

- RTX3080 RX6900XT
Firestrike Ultra 10331 13634
Timespy 14331 15249
FF14 14249 14619

まあ全体的にRX6900XTのほうが性能良いっぽい。

特にFirestrikeは凄まじいスコア。かつてDX12だと強いRadeonというイメージだったのですが、今回はDX11のテストのほうが差がついているのが興味深い。

有料版買ってないのでテストしてませんが、他のレビュー見るとRT性能測るPortRoyalではRTX3080に普通に負けているそうですので、まあ全部が全部RX6900XT優位というわけではなさそう。

nvidia寄りのFF14ではほとんど差はなくなってますし、これだけの差だとコスパは……、といった感じですね。

RadeonでTensorFlowを使える!tensorflow-directmlがすごいというお話

概要

みなさんDirectMLってご存知ですか?私は今日知りました。その派生Projectのtensorflow-directmlと一緒に。

まだブログに書いていませんが、実は最近Radeon RX6900XTをようやく買うことができ、RTX3080は売ろうと思ったけどTensorFlowは使いたい...。でもROCmは未だにRDNAに対応してないし…。と思っていたところ発見した代物。

DirectMLはMicrosoftが開発しているWindowsとWSLで動く機械学習向けAPIで、DirectX12を介してGPUにアクセスするのでCUDAを使わずにGPU機械学習用途に使えるというスグレモノ(という認識。まだちゃんと調べられてない)。

github.com

そしてtensorflow-directmlはそのdirectmlを利用したTensorFlowのフォークプロジェクト。TF1.15互換で作られており、インストールすると普通のtensorflowとして呼び出せます。TensorFlow2.xへの対応は1.15のプロジェクトが安定したら取り掛かるっぽい感じですので、しばらくは1.15互換で使うことになりそう。

※ 2022/06/23 追記: TensorFlow2対応のDirectML Pluginが公開されました。詳しくはこちらから。 https://hashicco.hatenablog.com/entry/2022/06/23/201222

github.com

機能はまだすべてを網羅しているわけではなく、演算の一部でDirectMLを使えるように調整されているそうです。(TensorFlowに存在する約1100の演算のうち、420をtensorflow-directmlで実装済み。通常のTensorFlowでGPUを利用できる演算は600程度らしいのでそこそこのカバー率? 参考:Roadmap · microsoft/tensorflow-directml Wiki · GitHub

これのすごいところは、DX12が使えるデバイスであればいろんなCUDA非対応のGPUでもTensorFlowに使えること。

GitHubのReadmeに書かれているところでは、下記のグラボを使用可能とのこと。

  • AMD Radeon R5 / R7 / R9 2xxシリーズ以降
  • Intel HD Graphics5xx以降
  • NVIDIA GeForce GTX9xxシリーズGPU以降

つまりは、WindowsユーザーでRadeonIntelのオンボしかGPUを持ってない人がなんとかTensorFlowを早くしたい!というときに使えるパッケージです。RadeonでもVega使ってる人ならLinux+ROCmが第一選択かも?)

ちなみにGeForceであればCUDA ToolkitやcuDNNのインストール無しでGPUを使ってTensorFlowを実行できます!すごい楽ちん!

ただもちろんCUDAを使うよりは遅くなるそうなので、あまりNvidiaユーザーには関係がないかも。また、当然まだPre-releaseなので動作が安定しないこともあるようです。

これを使ってDeepLabCutというTensorFlowを利用した動物の行動解析ソフトを動かしてみたら、なんと未だ動作確認のないRTX3080でもRX6900XTでもあっさり動いたので、そのログをつらつらと書いていきます。

www.mousemotorlab.org

環境

  • Windows10 1909
  • Python 3.6.8 virtualenv (DirectMLのPython対応は3.5, 3.6, 3.7のいずれか)
  • RX6900XT -> ドライバ:20.12.2
  • RTX3080 -> ドライバ:461.09

Microsoft公式の情報は、GitHubかMicrosoftDocsにあります

docs.microsoft.com

DirectMLのインストール

1. まずはPythonの仮想環境を作ります。私はAnaconda使うのやめたのでvirtualenv使います。

  • Anacondaは商用利用無料じゃなくなったから職場で使えなくなったのよね……。もともとpipとの共存に難有りだったから脱出しようと思ってたし、いい機会だったのだけれども。
# 別にディレクトリ作らなくてよければ上2つはいらない
mkdir pyenvs
cd pyenvs
# dlcという名前のディレクトリの中に仮想環境ができます。
python -m virtualenv dlc

2.仮想環境に入る

# activate.batまでのパス。環境によって異なります。
dlc\Scripts\activate.bat

3.tensorflow-directmlのインストール。pypiに登録されてるのでただpipで入れるだけ

pip install tensorflow-directml

4.DeepLabCut関連のインストール。いらない人は入れなくていい。DirectMLで入ったnumpyのバージョンが下がるけど普通に動いたのでヨシ!

pip install wxpython==4.0.7
pip install deeplabcut==2.2b8

DirectMLの確認

pythonシェルに入って以下のコマンドを順番に実行。tensorflow-directmlは普通にTensorFlow(1.15)としてインポートできます。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

# 以下出力
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 124102394085376839
, name: "/device:DML:0"
device_type: "DML"
memory_limit: 14563195084
locality {
}
incarnation: 5023574286020867491
physical_device_desc: "{\"name\": \"AMD Radeon RX 6900 XT\", \"vendor_id\": 4098, \"device_id\": 29631, \"driver_version\": \"27.20.14501.33001\"}"
]

こんな感じでDMLというデバイスとしてRX6900XTが認識されています。RTX3080も似たような感じで見えます。オンボのGPUがあるときはそちらも表示されるはず。

公式ドキュメントのテストスクリプトを実行するとこんな感じ。ちゃんとDMLを利用して計算しているようです。

import tensorflow.compat.v1 as tf 
tf.enable_eager_execution(tf.ConfigProto(log_device_placement=True)) 
print(tf.add([1.0, 2.0], [3.0, 4.0]))

# 以下出力
2021-01-18 22:03:02.061475: I tensorflow/stream_executor/platform/default/dso_loader.cc:98] Successfully opened dynamic library C:\Users\Owner\pyenvs\dlc\lib\site-packages\tensorflow_core\python/directml.bdb07c797e1af1b4a42d21c67ce5494d73991459.dll
2021-01-18 22:03:02.071278: I tensorflow/core/common_runtime/dml/dml_device_cache.cc:126] DirectML device enumeration: found 1 compatible adapters.
2021-01-18 22:03:02.073470: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2021-01-18 22:03:02.076668: I tensorflow/core/common_runtime/dml/dml_device_cache.cc:109] DirectML: creating device on adapter 0 (AMD Radeon RX 6900 XT)
2021-01-18 22:03:02.131766: I tensorflow/core/common_runtime/eager/execute.cc:571] Executing op Add in device /job:localhost/replica:0/task:0/device:DML:0
tf.Tensor([4. 6.], shape=(2,), dtype=float32)

DeepLabCutでDirectMLを使ってみる

さてここからはDirectMLを使ってDeepLabCutを使ってみるという話。

Windowsなので普通にGUIを使って行きます。

import deeplabcut
deeplabcut.launch_dlc()

これでGUIが起動するので、いつもどおり設定ファイル書いたりラベリングしたりしてから、Train networkしていきます。

DeepLabCutの今回の設定では、内部的にImagenet学習済みのResNet50の転移学習をしています。

1280x720, 20枚の画像をラベリングし、学習に使用しました。1iterの学習に必要な時間を各GPUで測定し比較してみました。

昔同じデータセット機械学習マシン(過去記事参照。K40Mを載せたCentOS機)で学習させた事もあったので、そちらの結果も載せています。

CPU(windows10, Ryzen 5600X): 2.38 s/iter

K40M(linux, native CUDA, i5-6400): 0.337 s/iter

RTX3080(windows10, directml, 5600X): 0.138 s/iter

RX6900XT(windows10, directml, 5600X): 0.265 s/iter

まあいくらTeslaとはいえKepler世代と比較して、RTX3080がたったの2倍強しか速くなってないのは悲しい。GitHubのIssueに上がっていますが大体DirectMLを使ったときのパフォーマンス低下は2x-3xくらいとのこと。

RX6900XTは14万もしたのにそんなにK40M(1万ちょい)と変わらないじゃん!……と言いつつも、正直インストールもこんなにすんなり行って、ちゃんとCPUよりも早く学習動くならなんにも文句言えないですね。

学習中はきちんとGPU使用率が上がってます。

あとがき

いやーびっくりです。まさかRadeonでこんなに簡単にTensorFlowが動くとは……。DirectML素晴らしい。

DX12を使ってハードウェアOpenで機械学習アクセラレーションができるAPI、というのもとてもいい発想ですねDirectML。これをDirectXの本家本元のMicrosoftが主導しているというのも将来性が感じられて良き。まあDXなので代わりにWindowsに縛られることになるんですが…

これがもっと進化すればCUDAを打ち崩すこともできるのかしら。CUDAに縛られてNvidia一強というのは市場的にも健全じゃない気がするので、ROCmとかこのDirectMLみたいな取り組みには頑張ってもらいたいものです。

エラー出たのでどうにかした話

Tensorflow-Directmlで`DXGI_ERROR_DEVICE_REMOVED`が出てしまうときの対処法 - 端の知識の備忘録

修正

211203 TF互換が1.5と記載されていたのを1.15に訂正しました

AWS Cloud Practitioner とAzure Fundamentals受けてみた

概要

昨年からの仕事の成果をなんかの形にしたいと思い、とりあえず資格をとってみることに。

仕事でクラウドを使えたのは正味2ヶ月くらいなので、初心者もいいところ。ちょうどAzureの初心者資格が無料で受けられるという話をどっかで目にし、これ幸いと受けてみた。

しかし仕事ではメインでAWSを使うので、それに相当するCloud Practitionerも受けることにした。

PearsonのオンラインCBTで受験することができるので、家から一歩も出ることなく2つも資格を取ることができた。出不精の私にとっていい時代になったものだ。

結果的にはどちらも9割近くで合格できたので良かった。次は4月くらいまでにSAA、来年度中にSysOps取りたいなー

まとめ

  • 共通

    • 大きめの布を持っておくといい
      • デスク周りの関係ないもの(2枚目のモニターとかスピーカーとか)を布で覆ってくださいと言われた。最初受けたときは準備してなかったので急いでベッドのシーツを外して使う羽目になった笑
    • Pearsonのチェックは全部チャットでやり取り
    • 準備に20分くらいかかるので少し早めにログインできるようにしたほうがいい
      • 一回スマホで部屋と身分証明書の写真を撮ってアップロード→受験するPCに戻ってテキストチャットしながらカメラで部屋の全景とかデスク周り、腕になにかつけてないかとかをチェックする流れ。
    • CloudPractitionerとAzure Fundamentalsはそれなりにかぶる所も多いので、一方を先に勉強してそれに相当するサービス名や訳語を当てはめれば大体なんとかなる。ただAWSのほうが少し突っ込んだ技術的な問題が多かった気がするので、これより上のレベルの試験ではもっとしっかり勉強する必要がありそう。
  • Azure Fundamentals

  • AWS Cloud Practitioner

    • 無料バウチャーとかは特になし。普通に税込み12100円もかかる
    • ちょっとむずかしい。そこそこ勉強していたつもりだったけど知らないサービスとかあった。問題数も多く、30分くらいかかった。

試験対策

基本はAWSならBlackbeltの資料を、AzureならラーニングパスのAzureの基礎を見て勉強。

あとは少しだけで良いので実際にサービスに触ってみる。VPC作って一通り設定してみたり、パブリックサブネットに踏み台作ってプライベートサブネット内のEC2にアクセスしてみたりといった感じでIaaS系のものは一回触らないとわからない気がする。

SaaS, PaaS系はどういうものかくらいを知っておけばなんとかなる感じ。設定項目が圧倒的にIaaSより少ないので資料眺めるだけで試験対策にはなる。

最後にWeb問題集を無料で公開してくれているサイトがあるので、ここの問題を一通り解いてみてから望みました。

Azure

AWS

頻出ポイントも抑えておくと良い感じ。例えば

とか。

自分的に間違えそうだったところ

  • Azure

    • VPNはAzureへのIngressは無料だがエグレスにはお金がかかる
    • スタンダードサポートの下にベーシックサポートが存在
    • デハイドレート(再水和)という訳語は化学系の人からしたら面食らいそう。ストレージからデータを取り出し可能な状態にすること。
    • セキュリティグループが答えの問題が2個くらい出た。
    • AzureのCloudTrail的なサービスの名前はActivity Log
  • AWS

    • AWS Abuse知らなかった。英語の意味からなんとか答えられたが、不正利用の報告するとこ。
    • AWS Artifactが答えの問題が2問くらい出たのだが、微妙に表現が違っていて同一の答えで良いのかちょっと考えた。
    • Amazon Macieがあんましっくり来てない。こういう個人利用で試すことの少ないセキュリティとかマネジメント系のサービス含めて幅広く出るのでちゃんと一通りサービスには目を通しておく必要がある。

今更だけど例のグラボのはんだ付けにチャレンジしてみた(クリーム半田とヒートガンを使った方法)

概要

前回紹介したDevilBoxと合わせて購入したRX470 Mining(例のグラボ)。

eGPU BOX(PowerColor Devil Box) + 例のグラボ(RX 580(RX 470)) をBootcampで使うために非公式ドライバ試してみた - 端の知識の備忘録

せっかくなのでHDMIを復活させてみたというお話。

最初は細いコテ先でやればいけるだろ!と甘く見ていたが、マルツから届いたチップの実物を見て戦慄。小せえ!

毛根くらいしかないそのチップをはんだごてで実装するのは不可能に思えたが、私は幸いにしてボーナス直後。ヒートガンとクリームはんだという余計な出費に対する抵抗など微塵もなかった。まあ安く買ったこれを直すのに+3000円かけるという行為は正気とは思えないが……

ヒートガンはセールで2271円、クリームはんだは800+送料120円でした。

Amazon | 高儀 EARTH MAN ヒートガン HG-1450A | ヒートガン

https://www.amazon.co.jp/gp/product/B00MILNHYA/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1

必要なチップはマルツで購入。

チップ抵抗 5.1Ω 5% 1/10W 0402 RK73B1ETTP5R1J KOA製|電子部品・半導体通販のマルツ

セラミックコンデンサ 0.1UF 50V X7R 0402 GRM155R71H104KE14D 村田製作所製|電子部品・半導体通販のマルツ

1005角形チップ抵抗器 RK73H 470Ω 0.1W ±1% RK73H1ETTP471F KOA製|電子部品・半導体通販のマルツ

購入するものはありがたくこちらのツイートを参考にしました。

2時間弱の格闘の末なんとか画面表示に成功!なんか達成感があって楽しいチャレンジでした。もう二度とやりたくないけど笑

一応手順も載せておきますが、こんな改造なので真似するときは自己責任でお願いします。

手順

  1. バックプレートのネジを外してからクーラーを外す

    f:id:hashicco:20201217223317j:plain

  2. 最初についているハンダを吸い取る。ここはヒートガンじゃなくて普通のハンダゴテと吸い取り線で。

    f:id:hashicco:20201217223256j:plain

  3. ここからクリーム半田の出番!爪楊枝の先にほんのちょっとだけ乗っけて、端子の部分に移す。で、ピンセットで摘んだチップ達をそこに乗せる。……文字にするとかんたんだが、実際にやるのはめちゃむずい。少し使うハンダが多いと隣とくっついちゃうし、ちょっと手元が狂うだけでようやく乗っけた隣のチップもずれるというイライラ作業。

    f:id:hashicco:20201217222836j:plain

  4. 頑張って一列乗っけ終わったら、ヒートガンで炙る!真上から熱風をブワーって当てる。だいたい体感1分くらいでハンダが溶ける。ここすごい楽しかったです(小並感)

  5. これを今回は3列実装するので3回繰り返す。努力の結果がこちらの写真。……少し曲がっちゃったけど、まあええか!

    f:id:hashicco:20201217224228j:plain

  6. 続いてブラケットの加工。金属を簡単に切るには皆さんご存知ニブリングツールを使います。

    f:id:hashicco:20201217222950j:plain

  7. クーラーとブラケットをネジ止めて戻して終了!

    f:id:hashicco:20201217222940j:plain

結果

ちゃんと出力できました!こちらは外部モニターのBENQ GW2406Zに映した結果。

f:id:hashicco:20201217224638j:plain

Bootcampでegpu(RX5700XT + Devilbox)を動かす ~Windowsのバージョンが肝要~

背景

前回DevilBoxを購入して、マイニング用RX470をRX580にしたキワモノGPUを乗っけた上で、有志の作成した謎ドライバを使ってBootcampで動かしたという奇怪なビルド結果を紹介した。

eGPU BOX(PowerColor Devil Box) + 例のグラボ(RX 580(RX 470)) をBootcampで使うために非公式ドライバ試してみた - 端の知識の備忘録

その後きっと問題なく動くだろうと調子に乗ってバッファローダイレクトで/27,800で売っていた玄人志向のRX 5700XTを購入してみたのだが、まあ相当ハマった。全然動かん。

eGPUをBootcampで使う界隈では有名な症状らしい「コード12」に遭遇してしまい、有志の作成した謎ドライバを持ってしてもそれの修正に凄まじく手間取った。結局正解はWindows 2004へのバージョンアップであった

結果的にはなんとか動くとこまで行ったのだが、もうeGPUはトラブルまみれであんま使いたくないなあという気持ち。しかも全然性能でないし。

なお、前回と同様有志作成の謎ドライバを使用するので、試すときは自己責任でお願いします。最悪初期化できるようなどうでもいい環境でやりましょう。

まとめ

  • RX 5700XTはMacでもCatalina以上のOSが必要でした。

    • 今までMojaveで粘ってきたが、仕方なくついでにBig Surに上げたところなんの問題もなくRX5700XTが認識された。
  • しかしBootcampの方は一筋縄では行かず、RX580が認識している状態の環境からRX5700XTに載せ替えただけなのにコード12が発生してしまうようになった

  • ドライバの再インストールやらレジストリ書き換えやらいろいろ試したが全然だめでした。

  • Windows10のバージョンを1909から2004にあげたら冗談のようにコード12が消失!

    • egpu.ioでも色んな人が四苦八苦しているのがわかるが、大事な要素は「有志のドライバ」、「Windowsのバージョン」が大半という印象。残りはGPU BOXの種類とかも報告している人あり。ハマってしまうと修羅の道である。
  • RX 580からRX 5700XTへの変更はBootcampでは全然性能の向上が見られない

    • 価格は3倍以上だったが性能は1.1倍にしかならず(FF14ベンチ)。本当なら倍くらいなはずなのでほとんど性能が引き出せていないことになる。無念。

トラブルシュートの詳細と、ついでにとったベンチも下に紹介してます!

起こった問題

前回の記事で書いたとおり、有志の作成した非公式ドライバにより、BootcampでRX 580+PowercolorのDevilboxで動かすことに成功した。

これに味をしめ、バッファローダイレクトでなんだか安かったRX 5700XT(RD-RX5700XT-E8GB/DF)を購入した。

f:id:hashicco:20201203211607j:plainf:id:hashicco:20201203211600j:plain

箱はなんだかボロボロだったがヒートシンク周りはきれいな商品でした。玄人志向RadeonはPowerColorなんですねそういえば。今は普通にPowerColorも代理店経由で売られている気もするけどそれとはどう差別化されてんだろう?

意気揚々とDevilBoxに組み込み、Macと接続。しかし、なぜか認識せず。公式サイトを見てみたところVegaのGPUmacOS Catalina 10.15.1 以降の対応とのことでしたので、MojaveからBig Surに一段とばしで上げてみたところきちんと認識しました。やはり外付けGPU(というかThundebolt3の問題?)との相性はMacのほうがいいみたいです。

support.apple.com

f:id:hashicco:20201203212245j:plain

で、さっきまでRX580を認識していたBootcamp Windowsを起動してみたところ、デバイスマネージャに三角マークが……

どうやら一発OKとは行かないようである。

f:id:hashicco:20201203211910p:plainf:id:hashicco:20201203211914p:plain

エラーを見てみると悪名高い「コード12」というエラーらしい。

この状態ではRX5700XTは全く使えない。ここから3~4時間格闘する羽目となった。

トラブルシュート!

やったことをとりあえず並べてみる。

やはりここからは非公式な操作なので、試す場合は自己責任。

ソースはだいたいegpu.ioというフォーラムであるが、解決策が魔術やらブードゥーやら言われている事が多いことからわかるよう、BootcampでeGPUを使うのは中々運ゲーみたいなところがある。うまくいく人もたくさんいるが、それが自分の環境に当てはまるかどうかは試してみるしかない。

  • ドライバの再インストール

セーフモードで起動しDDUでドライバ削除、bootcampdrivers.comの非公式ドライバを再度インストールしてみたものの相変わらずコード12が発生。

工場出荷時とかに変えたりしつつ計2~3回やり直してみたものの、いたずらに再起動の回数が増えるだけでなんの解決にもならず。

いわゆるHackFlagsの書き換えというやつらしい。egpu.ioで紹介されていたもの。

ここのURLにレジストリの書き換えができるファイルが配布されているが、そんなに大変な操作ではないので手動でやってもよし。

HackFlags 0x600 Registry Edit – AMD Radeon eGPU Boot Camp Error 12 Solution | BootCamp eGPU Setup

一応コード12の修正方法ということで、Microsoft公式にも載っています。

PCI Express 拡張シャーシの接続に失敗する - Windows Client | Microsoft Docs

  • pci.sysの書き換え

これはうまく行かず。紹介されているフォーラムは↓あたり。

Windows 2004 Bootcamp on Mac Mini + RX5700XT – Page 2 | BootCamp eGPU Setup

というのも権限書き換えて別のバージョンのWindowsから引っ張ってきたpci.sysに書き換えて見たものの、起動しようとすると自動修復が走ってしまいもとに戻ってしまう。

頑張ればなんとかなりそうな気もしたが、これを試していたのが普通の平日の2時でもう体力が持たんので諦めた。

で、結局Windowsのバージョンアップで解決

egpu.ioを眺めていると、結構Windows10のバージョンに左右されるという意見が多いよう。ということで思い切ってWindowsのバージョンを1909から2004まで上げてみた

すると!なんとあっさり認識するようになったのであった。ドライバの再インストールも必要なく、さっきまで黄色でエラーが出ている状態からWindows上げただけで普通に認識。

Radeonのドライバからもきっちり認識。

f:id:hashicco:20201203215115p:plain

ベンチマーク

- IntelHD 640 RX 555 RX 580(RX 470) RX 5700XT
OpenCL 4631 13065 38503 54002
Metal 4396 13140 42805 62018

一世代違うだけあってある程度性能は向上。RX580より1.5倍増しくらい

- IntelHD 640 RX 555 RX 580(RX 470) RX 5700XT
FF14 - 7805 12908 14403

うーんあんまり上がんない……。1.1倍くらい。

なんかおかしい気もするけど、もう治す元気がないー。

WindowsのアップデートでeGPUに最適化していってくれることを望みます。

eGPU BOX(PowerColor Devil Box) + 例のグラボ(RX 580(RX 470)) をBootcampで使うために非公式ドライバ試してみた

背景

昔から一回使ってみたかった外付けGPUボックス(eGPU)。安い中古を発見してしまって,メルカリに大量の売上金が残っていたこともありついつい買ってしまった。

購入したのはPowerColorのDevil Boxというやつ。

これにSapphireのRX470のマイニング版,いわゆる「例のグラボ」のRX580改造版を手に入れたので合わせて使うことにした。

最近全然起動していなかったMacBook Pro 15.6inch mid 2018(i7-8750H, 16GB, RX 555X)のWindows10のBootcampで使おうとしたら大変に苦労したのでログを残しておくことにする。

結論から言えば,Devil BoxはmacOSXからはすんなり認識してぽん付けできちんと動作するが,eGPU+Bootcampで内臓のディスプレイを使うためには有志の作成した改造ドライバを入れる必要がありました。

謎のドライバを入れるリスクに見合っているのかは正直わからないですが,合計2万円でベンチマークスコアが555Xの倍近くになったしメインで使うわけでもないので遊びとしては大変満足です。

ただし全くもって正規なやり方ではないので,本記事にかかれていることを試そうとしている人は自己責任でお願いいたします。

まとめ

  • macOSXならDevil Boxは普通にぽん付けで動く
    • 動作要件ではWindows10のみの対応だと書いてあったのですがむしろWindows10(Bootcamp)ではすんなり動かない……

Devil Box|PowerColor|株式会社aiuto PCパーツ・周辺機器 総合代理店

  • どうやらBootcampでeGPUを動作させるのは難しいらしい。最近はWin10でeGPUを選択できるようになったとかいうニュースも聞いていたので,てっきりつけりゃすぐ動くもんだと思っていたのですが。
  • 結局デフォルトドライバではeGPUのRX580を発見できず,Radeonドライバを入れることができない。(エラー182が出てしまう)
  • eGPUを繋げるとWindows10が勝手に入れるドライバがコンフリクトしてしまうのか,再起動後暗転して内臓ディスプレイに何も映らない状態になる。
    • セーフモードで起動し,有志の作成した謎のドライバ(BootCampDrivers.com から入手)を入れると普通に内臓ディスプレイでeGPUが使える。
  • WindowsでeGPUを使うには。設定のグラフィックの設定から、ソフトウェアごとに優先するGPUを選択する必要がある
  • ベンチマークの結果だと,MacOSのGeekBenchだと約3倍,Windows10のFF14ベンチだと約1.65倍になる
    • これなら普通にフルHDで遊べそう

参考URL:

有志の作成したドライバの公開所

BootCampDrivers.com: Turbo-charged AMD graphics drivers for Mac BootCamp users.

ここのフォーラムで自分のやろうとしているビルドを調べてトレースするのが良いかも。Macだったら大量に情報がある。

External GPU Builds

見つけた今回の構成に近いケース。ただ今回は外部出力がないマイニング用RX470だったので自体がより厄介に……。

2018 15″ MacBook Pro (RP555X) [8th,6C,H] + RX 580 @ 32Gbps-TB3 (ADT-Link R43SL * M.2-TB3) + macOS 10.15.6 & Win10 2004 | External GPU Builds

セットアップの詳細とベンチマーク(GeekBench@MacFF14@Windows10)は下へどうぞ!

機材

  • パソコン: MacBook Pro 2018 15.6inch(i7-8750H, 16GB, RX 555X)
  • MacOS: 10.14 Mojave
  • BootcampのOS: Windows10 Home 1909
  • eGPU BOX: PowerColor Devilbox TB3
  • eGPU: Sapphire RX470 mining 8GB(RX580 BIOS適応済み)

機材セットアップ

GPUはご覧の通り出力がありません。今度の休日クリーム半田使って表面実装やってみたいと思ってます。いいおもちゃです。

f:id:hashicco:20201203220601j:plainf:id:hashicco:20201203220644j:plainf:id:hashicco:20201203220549j:plain

さくっと組み立て。サイドは手でネジを外し、上部の鉄板は4箇所ネジ止め。中にもネジが有るのがちょっと面倒

f:id:hashicco:20201203220622j:plainf:id:hashicco:20201203220632j:plain

これ外せばかんたんにPCIeスロットにアクセスできます。SATA SSDもつけられるらしいのでゲームやるならいい感じ。

f:id:hashicco:20201130205930j:plain

最大375Wまで対応らしいので、RTX3090とかも2スロファンで8pin x2のこういうやつなら行けるのかしら?

GeForce RTX™ 3090 TURBO 24G Key Features | Graphics Card - GIGABYTE Global

Macに接続

なんの問題もなく認識。ちゃんとRX 580として認識してました。

GeekBenchのスクショ。3つもGPUが認識されてます。

f:id:hashicco:20201130210821p:plain

Windows10にとりあえずそのままつけると……

普通に動いているBootcamp Windows10につなぐと、デバイスマネージャからRX580が正常に見えない。標準VGA互換ドライバみたいなのがあたっていた。

しばらくするとドライバがインストールされたのか、表示が点滅して……暗転して表示されなくなった。

再起動したら直るかなと思ったらWindowsマークが出て点がくるくる回る画面までは表示されるものの、それ以降暗転。外付けGPUを抜いて起動しても同様。明らかにドライバ関連のなんかである。

セーフモードで起動

もうこうなるとどうにもならん。最初に記した参考URLによると外部ディスプレイなら映るのかもしれないが、残念ながらまだHDMIコネクタ復活させる改造をしてないのでどうにもならん。

EFI BootからWindows選択してから、Windowsロゴが出ているところで2回電源長押でぶち切りするとAuto Repairモードで起動するので,起動オプションを変更する。

下のURLの「黒い画面」の折りたたみを展開したところの手順に従いましょう。

support.microsoft.com

謎のドライバをダウンロード,セーフモードのままインストール

仕方がないので有志ドライバを試してみることに。ここのページからとりあえず最新のやつをダウンロード。

BootCampDrivers.com: Turbo-charged AMD graphics drivers for Mac BootCamp users.

f:id:hashicco:20201130212220p:plain

通常起動じゃ何も見えんのでセーフモードのままインストール。

よくわからんけど何事もなく普通にインストールされて,普通に内臓ディスプレイが映る用になりました!有志の方たちありがとう!!!

バイス取り外しのところにeGPUが見えるようになる。

f:id:hashicco:20201130213648p:plain

きっちりGPU-Zからも見えました。

f:id:hashicco:20201130213734p:plain

Radeonドライバからだとこんな感じ。内臓がGPU1・プライマリに、外付け580がGPU2として認識。

f:id:hashicco:20201130213834p:plainf:id:hashicco:20201130213841p:plain

ベンチマーク……の前に、外付けGPUを使ってゲームを動かす方法

Windows10だと設定→グラフィックスの設定で、ソフトウェアごとに使うGPUを選択させる必要があるっぽい。

FF14ベンチマークの場合、ランチャーとベンチ本体をここで高パフォーマンスに設定しないと内蔵GPUが使われてしまいます。

f:id:hashicco:20201130214302p:plain

ようやくベンチマーク

さあようやくベンチマークです。

- IntelHD 640 RX 555 RX 580(RX 470)
OpenCL 4631 13065 38503
Metal 4396 13140 42805

流石にデスクトップ用RX 580は強い。スコアにして約3倍である

画質は標準品質(ノートPC)、フルHDです。

f:id:hashicco:20201130220049p:plain

macOSでのGeekBenchよりも伸びが悪い?確かにスコアは高いのですがせいぜい1.65倍くらい。

このへんの外付けGPUへの最適化はmacOSの方が進んでいるよう。まあ怪しいドライバでなんとか動かしているような状況ですので仕方ない。

M1チップに行ってしまったMacなので、これ以上Intel MacのBootCampが改善されることはなさそうですし我慢して使うしかないのかしらねー

FF14Mac版てOpenGLポンコツらしいから打つ手なしか……。もうM1になっちゃったから今更Intel + RadeonのMetal対応とかFF14側も絶対やらないだろうしなあ。

有志たちのさらなるドライバ改良に期待するしかないですね……。

あとがき

正直結果は微妙な感じでしたけど、まあ高い買い物じゃなかったし丁度いいおもちゃということでしばらくコイツら(Mining RX470と外付けGPU BOX)で遊んでいこうと思います!

HDMI端子復活とかも今パーツをマルツで注文中。初めてクリーム半田を使ってみようとしております。

(追記) ハンダ付けしてみた日記も書いてみたので興味のある方はどうぞ!

今更だけど例のグラボのはんだ付けにチャレンジしてみた(クリーム半田とヒートガンを使った方法) - 端の知識の備忘録

RX 5700XTのバッファローダイレクト品も注文中なのでそれの動作検証と、新しいPC買うたびにつないで見てどうなるか確かめてみたいし……。ずっと試してみたかったeGPU BOXなので色々遊んでみたいことありますね!