<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.pokotenote.com//feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.pokotenote.com//" rel="alternate" type="text/html" /><updated>2026-03-09T14:59:20+00:00</updated><id>https://www.pokotenote.com//feed.xml</id><title type="html">試行錯誤を繰り返すブログ@GitHub Pages</title><subtitle>購入したデバイスのレビューや、PC、スマートフォンの不具合対処方法、 Python や機械学習での試行錯誤をメモしていきます。  ただし、解決方法は金銭的な負担が生じないモノを優先で。</subtitle><author><name>Pokoten</name></author><entry><title type="html">OPPO Reno13 A 購入</title><link href="https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/03/09/reno13a.html" rel="alternate" type="text/html" title="OPPO Reno13 A 購入" /><published>2026-03-09T00:00:08+00:00</published><updated>2026-03-09T00:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/03/09/reno13a</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/03/09/reno13a.html"><![CDATA[<h1 id="買ったモノ">買ったモノ</h1>
<p><a href="/assets/images/2026/02/ss-20260215-01.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-01.jpg" alt="OPPO Reno13 A" loading="lazy" />
</a></p>

<p>OPPO のミッドレンジ、Reno13 A を購入しました。</p>

<h1 id="検討">検討</h1>
<p>現在使用している機種にそれほど不満はないものの、OS のアップデート機関も終わりそうだったので買い替えを検討していました。最低限スペックダウンは避けたいと思うものの、CPU などの性能はそれほど向上していないですし、どの機種でもそこそこのカメラ性能はありそうなので、決め手に欠ける感じで購入を先延ばしにしていました。</p>

<p>Redmi 15 シリーズや Nothing phone 3a lite とも迷ったのですが、OPPO の Reno13 A にしました。OPPO の Reno シリーズは、ミッドレンジとはいえ最近の機種はどんどん値上がりしているイメージだったのですが、値下げなどで購入しやすい価格になっていたので、(最新の Reno14 ではなく) 価格も手ごろな前モデルだったところが選択の理由です。</p>

<h1 id="開封">開封</h1>
<p><a href="/assets/images/2026/02/ss-20260215-03.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-03.jpg" alt="開封" loading="lazy" />
</a></p>

<p>箱はコンパクトサイズ。</p>

<p><a href="/assets/images/2026/02/ss-20260215-04.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-04.jpg" alt="付属品" loading="lazy" />
</a></p>

<p>ふたを開けると付属品の小箱です。最近は端末が最初に出てくるパターンが多いかと思いましたが、本体が下に入っています。</p>

<p><a href="/assets/images/2026/02/ss-20260215-05.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-05.jpg" alt="本体" loading="lazy" />
</a></p>

<p>こんな感じで収まっています。付属品は SIM トレイイジェクトピンぐらい。保護フィルムは本体に貼り付け済みです。ケースやケーブルの類は付属しません。</p>

<h1 id="使用感">使用感</h1>
<h2 id="os">OS</h2>
<p><a href="/assets/images/2026/02/ss-20260215-02.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-02.jpg" alt="ColorOS 16" loading="lazy" />
</a></p>

<p>Oppo の ColorOS が搭載されています。最初はバージョン 15 でしたが、すぐに OTA でバージョン 16 (Android も 16) になりました。</p>

<p>初期状態ではさまざまな SNS やゲームがインストールされていますが、ほとんどが削除可能でした。アンインストールできない Google Chrome なども、アプリメニューから無効化できます。最初に削除などをする手間はありますが、不要なアプリが居続けるということはないのが良いです。</p>

<h2 id="カメラ">カメラ</h2>
<p><a href="/assets/images/2026/02/ss-20260215-06.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-06.jpg" alt="カメラ" loading="lazy" />
</a></p>

<p>背面カメラはメインが光学手振れ補正つきの 50M、超広角の 8M、マクロの 2M の 3 カメラ。普通に撮影してもいろいろ補正してくれますし、AI 補正も売りにしているのできれいに撮影してくれます。</p>

<p>なお、動画は 4K 撮影にも対応しますが、標準で HEVC で保存されます。再生できないパターンはあまりないかもしれませんが、もし従来の H.264 で保存する場合はカメラの設定＞フォーマット＞高効率動画 をオフにすれば大丈夫です。</p>

<p><a href="/assets/images/2026/02/ss-20260215-09.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-09.jpg" alt="高効率動画" loading="lazy" />
</a></p>

<h2 id="ディスプレイ">ディスプレイ</h2>
<p>フル HD+ 解像度の 6.77 インチ、有機 EL ディスプレイはとても色鮮やかに表示されます。</p>

<p><a href="/assets/images/2026/02/ss-20260215-10.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-10.jpg" alt="ノッチ" loading="lazy" />
</a></p>

<p>フロントカメラの周辺をうまく使って通知などを表示します。音楽再生するときは、通知の左右にカバー写真と再生中を示すアニメーションが表示されたりします。この辺は狭いスペースを最大限活用する感じでいいですね。</p>

<h2 id="指紋認証">指紋認証</h2>
<p>画面内指紋認証です。反応速度などは特に気になることはなく、スムーズにロック解除されます。今は初期貼り付けのフィルムを使っていますが、今度フィルムを貼り変えたりするとどうなるかは気になるところです。</p>

<p>センサー位置と緊急通報ボタンの位置がほぼ同じなので、うまく反応せずに何度かやっていると、画面がついて緊急通報画面になってしまうことがあります。もちろん、そのまま通報することはないのですが、ちょっとドキッとするのでセンサー位置を少しずらしてもらえるとよかったかなと思いました。</p>

<p><a href="/assets/images/2026/02/ss-20260215-07.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-07.jpg" alt="高効率動画" loading="lazy" />
</a></p>

<p><a href="/assets/images/2026/02/ss-20260215-08.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260215-08.jpg" alt="高効率動画" loading="lazy" />
</a></p>

<p>また、画面オフの時に本体を持ち上げたり画面にタッチすると、指紋センターの位置が光って教えてくれるのですが、晴れた日の屋外だとこの光り方が見えづらく、どこがセンサーなのか、そもそも反応しているのかどうかがわかりにくいことがありました。その結果、何度かセンサーあたりをタッチしてしまい、上記の事象に入ることがありました。</p>

<h1 id="まとめ">まとめ</h1>
<p>Reno13 A をしばらく使ってみて、値下がりした前モデルという立ち位置以上に“ちょうどいい”スマートフォンだと感じました。ColorOS の扱いやすさや鮮やかな有機 EL、AI 補正の効いたカメラなど、日常の中で気持ちよく使えるポイントがしっかり押さえられています。一方で、画面内指紋認証まわりのクセは少し気になるところ。それでも総合的には、無理なく長く使えそうな安心感のある一台でした。</p>]]></content><author><name>Pokoten</name></author><category term="レビュー" /><category term="OPPO" /><category term="Reno13 A" /><category term="スマートフォン" /><summary type="html"><![CDATA[買ったモノ]]></summary></entry><entry><title type="html">[LEGENDS Z-A] カセキからよみがえるポケモン</title><link href="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/02/01/kaseki.html" rel="alternate" type="text/html" title="[LEGENDS Z-A] カセキからよみがえるポケモン" /><published>2026-02-01T00:00:08+00:00</published><updated>2026-02-01T00:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/02/01/kaseki</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/02/01/kaseki.html"><![CDATA[<h1 id="対象">対象</h1>
<ul>
  <li><a href="https://zukan.pokemon.co.jp/detail/0142">プテラ</a></li>
  <li><a href="https://zukan.pokemon.co.jp/detail/0696">チゴラス</a></li>
  <li><a href="https://zukan.pokemon.co.jp/detail/0698">アマルス</a></li>
</ul>

<h1 id="まとめ">まとめ</h1>
<p>チゴラス、アマルス、プテラは野生では出現しません。ポケモン研究所でカセキからよみがえらせる必要があります。</p>

<h1 id="詳細">詳細</h1>
<h2 id="サイドミッション-027-カセキからよみがえるポケモン">サイドミッション 027 「カセキからよみがえるポケモン」</h2>
<p>ストーリーを進めていくと、ポケモン研究所にサイドミッションのアイコンが付きます。研究所の 2 階 (モミジさんがいるのが 3 階なので、あまり行く機会がありませんでした) でサイドミッションを受けられます。</p>

<p><a href="/assets/images/2026/02/ss-20260201-01.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-01.jpg" alt="サイドミッション027" loading="lazy" />
</a></p>

<p>カセキの復元ができるから、カセキを持ってきてほしいという依頼です。</p>

<p><a href="/assets/images/2026/02/ss-20260201-02.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-02.jpg" alt="カセキ" loading="lazy" />
</a></p>

<p>カセキはいしやで売っています。研究所からも近いので、それほど困らずに入手できます。なお、依頼は「アゴのカセキ」か「ヒレのカセキ」を持ってきてほしい、ということなので、同じく復元ができるはずの「ひみつのコハク」はまだ復元できません。</p>

<p><a href="/assets/images/2026/02/ss-20260201-03.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-03.jpg" alt="いしや" loading="lazy" />
</a></p>

<p>アゴのカセキを持っていくと、チゴラスが復元され、ボックスに入ります。これでサイドミッションは完了です。</p>

<p><a href="/assets/images/2026/02/ss-20260201-04.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-04.jpg" alt="復元" loading="lazy" />
</a></p>

<h2 id="サイドミッション完了後の復元">サイドミッション完了後の復元</h2>
<p>サイドミッション完了後は、カセキを持っていくと復元してくれます。</p>

<p><a href="/assets/images/2026/02/ss-20260201-05.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-05.jpg" alt="ミッション後" loading="lazy" />
</a></p>

<p>ただ、シンプルに文字で復元したことが伝えられるだけです。復元したときに大きく表示されるのはサイドミッションで復元した場合だけのようなので、チゴラスかアマルス、お気に入りのポケモンがいたらサイドミッション中に復元したほうがいいかもしれないですね。</p>

<p><a href="/assets/images/2026/02/ss-20260201-06.jpg" target="_blank">
  <img src="/assets/thumbs/2026/02/ss-20260201-06.jpg" alt="復元" loading="lazy" />
</a></p>]]></content><author><name>Pokoten</name></author><category term="ポケモン" /><category term="switch2" /><category term="ゲーム" /><category term="LEGENDS Z-A" /><summary type="html"><![CDATA[対象 プテラ チゴラス アマルス]]></summary></entry><entry><title type="html">ComfyUI で FLUX.2 [klein] を試してみる</title><link href="https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/25/flux2-klein.html" rel="alternate" type="text/html" title="ComfyUI で FLUX.2 [klein] を試してみる" /><published>2026-01-25T00:00:00+00:00</published><updated>2026-01-25T00:00:00+00:00</updated><id>https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/25/flux2-klein</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/25/flux2-klein.html"><![CDATA[<p>以前 black forest labs の <a href="/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2024/08/18/flux1.html">FLUX.1</a> を試してみましたが、そちらの別バージョン的なモデル FLUX.2 がリリースされていました。FLUX.2 も様々なバリエーションがリリースされていますが、今回はローカル実行もしやすい軽量モデルの 「klein」を試してみます。</p>

<p><a href="https://bfl.ai/models/flux-2-klein">FLUX.2 [klein]</a></p>

<h1 id="概要">概要</h1>
<ul>
  <li>ComfyUI で生成できました</li>
  <li>2026/1/25 時点では、ComfyUI を Nightly 版にしないと生成に失敗します</li>
  <li>GeForce RTX 2070 (VRAM 8GB) でも生成できました</li>
  <li>1 枚生成するのに Distilled モデルだと 10 秒少し、ベースモデルでも 70 秒ほどで生成できました</li>
</ul>

<h1 id="準備">準備</h1>
<h2 id="comfyui-を更新する">ComfyUI を更新する</h2>
<p><a href="/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2024/09/05/comfyui-compose.html">ComfyUI を docker compose で構築する</a> で用意した Docker Compose の環境を使います。ただ、FLUX.2 [klein] を使うには、Nightly 版を使う必要があります。今回使用する環境は Git で ComfyUI のコードをダウンロードしているため、以下のようにコマンドを実行してコードを最新化します。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>ComfyUI/
git pull origin master
<span class="nb">cd</span> ..
</code></pre></div></div>

<p>ComfyUI の再起動だとうまく反映されなかったので、ComfyUI を実行するコンテナを再起動する必要がありました。カスタムノードの追加は特段必要ないようです。</p>

<h2 id="ワークフロー--モデルのダウンロード">ワークフロー &amp; モデルのダウンロード</h2>
<p>FLUX.2 [klein] のワークフローは、ComfyUI 上で取得できます。ComfyUI が開いたら左側メニューより「Template」をクリックします。</p>

<p><a href="/assets/images/2026/01/ss-20260125-01.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-01.png" alt="template" loading="lazy" />
</a></p>

<p>開いたウインドウの上部にある検索ボックスに「FLUX.2」と入力します。FLUX.2 向けのワークフローが表示されますが、今回は「Flux.2 [Klein] 4B: Text to Image」をクリックします。</p>

<p>すると ComfyUI にワークフローが読み込まれます。いくつか Missing models が表示されるかと思いますが、これからダウンロードするので無視して OK です。モデルのダウンロードについては、読み込んだワークフローの左端に説明があります。</p>

<p><a href="/assets/images/2026/01/ss-20260125-02.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-02.png" alt="Model links" loading="lazy" />
</a></p>

<p>text_encoders と vae はこのリンクからダウンロードしたモデルで問題ないのですが、diffusion_models については VRAM が厳しいので FP8 版を使いました。これは以下の Hugging Face からダウンロードできます。</p>

<p><a href="https://huggingface.co/black-forest-labs/FLUX.2-klein-base-4b-fp8/resolve/main/flux-2-klein-base-4b-fp8.safetensors">black-forest-labs/FLUX.2-klein-base-4b-fp8</a></p>

<p><a href="https://huggingface.co/black-forest-labs/FLUX.2-klein-4b-fp8/resolve/main/flux-2-klein-4b-fp8.safetensors">black-forest-labs/FLUX.2-klein-4b-fp8</a></p>

<p>ダウンロードしたファイルを、上記 Model links に記載のあるフォルダ構成 (ComfyUI/models 配下の各フォルダ) へ配置します。diffusion_models は FP8 版を使うので、少しファイル名は異なりますが配置先はこの通りにします。</p>

<h1 id="実行">実行</h1>
<p>あとは実行するだけ・・・なのですが、ワークフローは Base 用と Distilled の二種類のワークフローがあります。どちらで生成したいかに応じて、不要な方を bypass させる必要がある点に注意が必要です。</p>

<p><a href="/assets/images/2026/01/ss-20260125-03.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-03.png" alt="workflow" loading="lazy" />
</a></p>

<p>上図で青丸で囲んだフローが Base 用、赤丸で囲んだのが Distilled のフローです。なので、この場合は Distilled のフロー (赤丸で囲んだ側) が bypass される色になっているので、Base モデルで生成を行います。Distilled のフローにしたい場合は、ノードを右クリックして「bypass」をクリックします。</p>

<p><a href="/assets/images/2026/01/ss-20260125-04.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-04.png" alt="bypass" loading="lazy" />
</a></p>

<p>これでどちらを bypass するか切り替えて実行する形です。</p>

<p><a href="/assets/images/2026/01/ss-20260125-05.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-05.png" alt="distilled" loading="lazy" />
</a></p>

<p>このようになっていれば、Distilled モデルで生成される形です。</p>

<h2 id="base-モデルの出力例">Base モデルの出力例</h2>
<p><a href="/assets/images/2026/01/ss-20260125-07.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-07.png" alt="base" loading="lazy" />
</a></p>

<p>Base モデルで生成すると、こちらの絵が出力されるまで 69.29 秒かかりました。</p>

<h2 id="distilled-モデルの出力例">Distilled モデルの出力例</h2>
<p><a href="/assets/images/2026/01/ss-20260125-08.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260125-08.png" alt="distilled" loading="lazy" />
</a></p>

<p>同じプロンプトで Distilled モデルの場合は生成に 13.06 秒かかりました。</p>]]></content><author><name>Pokoten</name></author><category term="プログラム" /><category term="python" /><category term="機械学習" /><category term="ComfyUI" /><category term="flux.2" /><summary type="html"><![CDATA[以前 black forest labs の FLUX.1 を試してみましたが、そちらの別バージョン的なモデル FLUX.2 がリリースされていました。FLUX.2 も様々なバリエーションがリリースされていますが、今回はローカル実行もしやすい軽量モデルの 「klein」を試してみます。]]></summary></entry><entry><title type="html">[LEGENDS Z-A]ランプラーからシャンデラへの進化方法</title><link href="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/21/Chandelure.html" rel="alternate" type="text/html" title="[LEGENDS Z-A]ランプラーからシャンデラへの進化方法" /><published>2026-01-21T00:00:08+00:00</published><updated>2026-01-21T00:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/21/Chandelure</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/21/Chandelure.html"><![CDATA[<h1 id="対象">対象</h1>
<ul>
  <li><a href="https://zukan.pokemon.co.jp/detail/0608">ランプラー</a></li>
  <li><a href="https://zukan.pokemon.co.jp/detail/0609">シャンデラ</a></li>
</ul>

<h1 id="まとめ">まとめ</h1>
<p><a href="/assets/images/2026/01/ss-20260121-01.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260121-01.jpg" alt="やみのいし" loading="lazy" />
</a></p>

<p>ランプラーからシャンデラに進化するには、「やみのいし」を使用する必要があります。やみのいしを使うとすぐにシャンデラに進化します。(進化できるようになる、ではなく進化します)</p>

<p><a href="/assets/images/2026/01/ss-20260121-02.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260121-02.jpg" alt="進化" loading="lazy" />
</a></p>

<p><a href="/assets/images/2026/01/ss-20260121-03.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260121-03.jpg" alt="シャンデラ" loading="lazy" />
</a></p>

<h1 id="詳細">詳細</h1>
<h2 id="やみのいし">やみのいし</h2>
<p>メガストーンなども売っている「いしや」で買えるのですが、メインストーリーをクリアしないと販売しないようです。それ以外ではサイドミッションの報酬や、マップ上に落ちているだけなので、あまり潤沢には入手できないと思います。そのため、進化させるランプラーを間違えないように注意したいですね。</p>]]></content><author><name>Pokoten</name></author><category term="ポケモン" /><category term="switch2" /><category term="ゲーム" /><category term="LEGENDS Z-A" /><summary type="html"><![CDATA[対象 ランプラー シャンデラ]]></summary></entry><entry><title type="html">ComfyUI で TRELLIS.2 を試してみる</title><link href="https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/12/trellis2.html" rel="alternate" type="text/html" title="ComfyUI で TRELLIS.2 を試してみる" /><published>2026-01-12T00:00:00+00:00</published><updated>2026-01-12T00:00:00+00:00</updated><id>https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/12/trellis2</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2026/01/12/trellis2.html"><![CDATA[<p>Microsoft よりリリースされた、画像から 3D モデルを生成する <a href="https://github.com/microsoft/TRELLIS.2">TRELLIS.2</a> が ComfyUI でも実行できるようなので、こちらを試してみます。</p>

<h1 id="概要">概要</h1>
<ul>
  <li>ComfyUI で生成できました</li>
  <li>GeForce RTX 2070 (VRAM 8GB) でも生成できました</li>
</ul>

<h1 id="準備">準備</h1>
<h2 id="カスタムノード">カスタムノード</h2>
<p><a href="/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2024/09/05/comfyui-compose.html">ComfyUI を docker compose で構築する</a> で用意した Docker Compose の環境を使います。ただ、このときのコンテナだと CUDA のバージョンが 12.1 となっていて、TRELLIS.2 のインストールがうまくいかないので、CUDA のバージョンを 12.8 に変更します。なお、CUDA のバージョンと言っても CUDA ライブラリや GeForce のドライバを変更する必要はなく、以下のコマンドのように PyTorch を入れ替える (アンインストールしてから CUDA 12.8 の PyTorch をインストール) だけで大丈夫です。</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">pip</span> <span class="n">uninstall</span> <span class="n">torch</span> <span class="n">torchvision</span> <span class="n">torchaudio</span>
<span class="n">pip</span> <span class="n">install</span> <span class="n">torch</span> <span class="n">torchvision</span> <span class="n">torchaudio</span> <span class="o">--</span><span class="n">index</span><span class="o">-</span><span class="n">url</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">download</span><span class="p">.</span><span class="n">pytorch</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">whl</span><span class="o">/</span><span class="n">cu128</span>
</code></pre></div></div>

<p>そのうえで ComfyUI を起動したら、ComfyUI Manager からカスタムノードをインストールします。インストールするのは、</p>

<p><a href="/assets/images/2026/01/ss-20260112-01.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260112-01.png" alt="Custom Node" loading="lazy" />
</a></p>

<p>こちらの ComfyUI_essentials、GeometryPack、TRELLIS2 の 3 つ。TRELLIS2 は、バージョン 0.1.1 を使いました。latest にすると VRAM 使用量が多かったり、生成に失敗したりしましたが、バージョン 0.1.1 だと安定して生成できたのでこちらのバージョンを使います。</p>

<p>モデルは実行時に自動的にダウンロードされるので、手動でダウンロードする必要はないようです。</p>

<h2 id="ワークフロー">ワークフロー</h2>
<h3 id="読み込みリサイズマスク生成">読み込み～リサイズ～マスク生成</h3>
<p><a href="/assets/images/2026/01/ss-20260112-02.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260112-02.png" alt="workflow1" loading="lazy" />
</a></p>

<p>Load Image は通常の画像を読み込みます。TRELLIS.2 は 512 ピクセルや 1024 ピクセルの正方形の画像が適しているようなのと、RTX2070 でも生成できるように解像度を下げたい場合に便利なので、Image Resize を挟んでいます。TRELLIS.2 Remove Background で背景マスクを生成して次の処理へ渡します。</p>

<h3 id="モデル読み込み生成">モデル読み込み～生成</h3>
<p><a href="/assets/images/2026/01/ss-20260112-03.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260112-03.png" alt="workflow2" loading="lazy" />
</a></p>

<p>Load TRELLIS.2 DinoV3 と Load TRELLIS.2 Shape Model でモデルを読み込みます。Load TRELLIS.2 Shape Model で resolution を選択できるので、元画像を 512 ピクセルにしている場合はここも 512 にします。</p>

<p>TRELLIS.2 Image to Shape が生成を行うノードです。seed はあまり変更する必要はないと思うので、control_after_generate は fixed のままでいいように思います。ss_guidance_strength と shape_guidance_strength は元画像にどれくらい忠実にするか、という指標で、ss_sampling_steps と shape_sampling_steps は生成を行うステップ数です。どちらも大きくした方が良い結果が得られるようですが、大きくしすぎると VRAM がより多く必要となるようです。</p>

<h3 id="メッシュ出力">メッシュ出力</h3>
<p><a href="/assets/images/2026/01/ss-20260112-04.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260112-04.png" alt="workflow3" loading="lazy" />
</a></p>

<p>生成された 3D モデルを参照できます。マウスでモデルを動かすこともできます。また、前段の Remesh ノードの target_face_count の数値を変更すると、メッシュの粗さを変更できます。形状にもよりますが、5,000 ～ 10,000 くらいが形状のわかる数値だと思います。それより小さいとメッシュが粗すぎて形状がわからない感じになります。</p>

<h3 id="json-ファイル">JSON ファイル</h3>
<p><a href="/assets/workflow/trellis2/trellis2.json">Trellis2 Image-to-3D workflow.json</a></p>

<h1 id="実行">実行</h1>
<p>実行してみると、先ほどのパラメータの場合は 4 分程度でメッシュが出力されます。STL で保存できるので、それを Ultimaker Cura で読み込んでみることもできます。</p>

<p><a href="/assets/images/2026/01/ss-20260112-05.png" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260112-05.png" alt="cura" loading="lazy" />
</a></p>

<p>内部が中空だったりと、このまま出力するには少し問題もありそうですが、形状としては違和感ない形がローカルでも生成できそうです。</p>]]></content><author><name>Pokoten</name></author><category term="プログラム" /><category term="python" /><category term="機械学習" /><category term="ComfyUI" /><category term="Trellis.2" /><summary type="html"><![CDATA[Microsoft よりリリースされた、画像から 3D モデルを生成する TRELLIS.2 が ComfyUI でも実行できるようなので、こちらを試してみます。]]></summary></entry><entry><title type="html">[LEGENDS Z-A]リオルからルカリオへの進化方法</title><link href="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/04/Lucario.html" rel="alternate" type="text/html" title="[LEGENDS Z-A]リオルからルカリオへの進化方法" /><published>2026-01-04T00:00:08+00:00</published><updated>2026-01-04T00:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/04/Lucario</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3/2026/01/04/Lucario.html"><![CDATA[<h1 id="対象">対象</h1>
<ul>
  <li><a href="https://zukan.pokemon.co.jp/detail/0447">リオル</a></li>
  <li><a href="https://zukan.pokemon.co.jp/detail/0448">ルカリオ</a></li>
</ul>

<h1 id="まとめ">まとめ</h1>
<p>リオルからルカリオに進化するには、なつき度をあげた状態で朝、昼、夕方にレベルアップすると進化できるようになります。</p>

<h1 id="詳細">詳細</h1>
<h2 id="時間帯">時間帯</h2>
<p>要はバトルゾーンが登場している時間帯を除く、という話だと思っています。</p>

<h2 id="なつき度">なつき度</h2>
<p>こちらは隠しパラメータとなっており、ステータス画面などでは確認できないようです。そのためわかりにくいですが、一応ゲーム内でも確認する方法はあります。それが「カフェ・かわいがり」にいるお客さんです。</p>

<p><a href="/assets/images/2026/01/ss-20260104-01.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-01.jpg" alt="カフェ・かわいがり" loading="lazy" />
</a></p>

<p>カフェの席に座っている、こちらのお客さんに話しかけてみてください。</p>

<p><a href="/assets/images/2026/01/ss-20260104-02.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-02.jpg" alt="お客さん" loading="lazy" />
</a></p>

<p>するとなつき度を確認するポケモンを選択する画面になります。選択すると、そのポケモンとのなつき度が 6 段階で表示されます。数字で表示されるのではなく、コメントで表示されるので判断が難しいところです。また、どの程度なつき度が上がれば進化できるのかはよくわかっていませんが、リオルの場合は</p>

<p><a href="/assets/images/2026/01/ss-20260104-04.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-04.jpg" alt="いいかんじ" loading="lazy" />
</a></p>

<p>こちらのように「いい感じになかよしだね」の時では進化できず、</p>

<p><a href="/assets/images/2026/01/ss-20260104-03.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-03.jpg" alt="すてきなコンビ" loading="lazy" />
</a></p>

<p>「もっとすてきなコンビになれそう！」のコメントになったときに進化できました。</p>

<p>なお、なつき度を上げる方法はいくつかありますが、一緒にカフェで飲み物を飲むことでも上がります。</p>

<p><a href="/assets/images/2026/01/ss-20260104-05.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-05.jpg" alt="カフェ1" loading="lazy" />
</a></p>

<p><a href="/assets/images/2026/01/ss-20260104-06.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260104-06.jpg" alt="カフェ2" loading="lazy" />
</a></p>

<p>そういう話だけではなく、こんな風に一緒に休憩する時間を作るのも愛着がわいていいかもしれませんね。(リオルは椅子に座らず立つんだ・・・)</p>]]></content><author><name>Pokoten</name></author><category term="ポケモン" /><category term="switch2" /><category term="ゲーム" /><category term="LEGENDS Z-A" /><summary type="html"><![CDATA[対象 リオル ルカリオ]]></summary></entry><entry><title type="html">Nintendo Switch2 購入</title><link href="https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/01/03/switch2.html" rel="alternate" type="text/html" title="Nintendo Switch2 購入" /><published>2026-01-03T00:00:08+00:00</published><updated>2026-01-03T00:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/01/03/switch2</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC/2026/01/03/switch2.html"><![CDATA[<h1 id="買ったモノ">買ったモノ</h1>
<p><a href="/assets/images/2026/01/ss-20260103-01.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260103-01.jpg" alt="Switch2" loading="lazy" />
</a></p>

<p>11 月に入ってすぐにビッグカメラへ行ったら、Switch2 の予約販売をしてました。受け取りが 12/13～12/25 の間で、予約していれば確実に手に入るとのこと。クリスマスまでには手に入るものの、2か月近く待たされる感じです。ただ、抽選やゲリラ販売を待ち構えることなく、確実に手に入るとのことなのでこちらで購入 (予約) しました。</p>

<h1 id="開封">開封</h1>
<p><a href="/assets/images/2026/01/ss-20260103-02.jpg" target="_blank">
  <img src="/assets/thumbs/2026/01/ss-20260103-02.jpg" alt="開封" loading="lazy" />
</a></p>

<p>設置はほぼ Switch と同じ。ドックに HDMI と充電ケーブルを接続して、本体をドックにたてるだけです。その際に、使用中の Switch 本体が近くにあれば、データをまるまる Switch2 に移行することができます。ゲームのインストールはもちろん、セーブデータもまるごと移行できました。</p>

<h1 id="使用感">使用感</h1>
<p>Switch との比較で、画面が大きくなったり Joy-Con の接続が磁石式になったりといろいろな変更がありますが、ドック背面の USB ポートが有線 LAN ポートに置き換わったのも大きいかもしれません。処理性能が上がってゲームのデータなども増えたでしょうから、有線接続を標準で使えるのはありがたいと思います。Wi-Fi の方が規格上は高速でも、安定性では有線のほうが上だったりしますからね。</p>

<p>性能は全体的に底上げされていますが、体感で大きいのはゲームのロード時間の短縮だと思いました。ホーム画面から起動するまでに時間も短いですし、フィールド移動などで待たされる時間もかなり短くなったように感じます。ゲームがサクサク進む感じになるので、ポケモン SV も改めて遊んでみたくなります。</p>

<p>ただ、ビッグカメラの予約販売は、ゲームを 2 本セットで購入する必要がありました。それ自体は、どうせ買うつもりだったゲームを購入すればいいので問題なかったのですが、パッケージ版での販売となることを見逃していました。本体ストレージにインストール、みたいなこともできないので、基本的にパッケージ版のゲームを遊ぶ際はカートリッジを入れる必要がありますし、別のパッケージ版のゲームで遊ぶにはカートリッジを入れ替える必要があります。あたりまえですし、少し前まではそれが当たり前でしたが、ダウンロード版に慣れていると面倒に思えてしまうところが、慣れは怖いなと思いました。</p>

<h1 id="まとめ">まとめ</h1>
<p>ドックに入れて TV モードでゲームをしていると、ファンが結構回ります。でも、本体に近づかないとファンの音は聞こえないので、ゲームしていて気になることはほとんどありません。コントローラーもほとんど Switch 用のものが使えました (ホームボタンでの起動はできなかったですが) し、違和感なく移行できた点でも、買い替えてよかったと感じました。</p>

<p>まあ、年末年始で見た感じ、結構店頭でも買えるようになっているように見えるので、あえて予約する必要もなかったかもしれませんが、「クリスマスプレゼントにするから」という名目で買えた、という面もあるのでこのタイミングで買ってよかったと思います。</p>]]></content><author><name>Pokoten</name></author><category term="レビュー" /><category term="switch2" /><category term="ゲーム" /><summary type="html"><![CDATA[買ったモノ]]></summary></entry><entry><title type="html">新年あけましておめでとうございます (2026年)</title><link href="https://www.pokotenote.com//%E3%83%96%E3%83%AD%E3%82%B0/2026/01/02/happy-new-year.html" rel="alternate" type="text/html" title="新年あけましておめでとうございます (2026年)" /><published>2026-01-02T00:00:00+00:00</published><updated>2026-01-02T00:00:00+00:00</updated><id>https://www.pokotenote.com//%E3%83%96%E3%83%AD%E3%82%B0/2026/01/02/happy-new-year</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%96%E3%83%AD%E3%82%B0/2026/01/02/happy-new-year.html"><![CDATA[<p><a href="/%E3%83%96%E3%83%AD%E3%82%B0/2025/01/04/happy-new-year.html">昨年たてた目標</a> の結果と、今年の目標をたててみたいと思います。</p>

<h1 id="昨年の目標">昨年の目標</h1>
<ol>
  <li>
    <p>予想をする<br />
イメージとしては F1 で、過去のデータや FP のデータをもとに、予選結果や Q1、Q2 の突破タイムを予想してみる、みたいなことを考えていたと思うのですが、それらしいことに手が付きませんでした。角田のレッドブル昇格に期待をしたのですが、期待に気が向いてしまってデータを踏まえた予想、というところまで気が向かない感じだったと思います。</p>
  </li>
  <li>
    <p>ポケモン<br />
結局記事にはできませんでした。ポケカはそもそもパックがお店に売っていなく、それもあってか子どもたちも下火。ポケモン Go をやるには今年の夏は暑すぎましたし、ポケポケはとりあえず毎日無料パックを開けるだけ、という感じの1年でした。</p>
  </li>
  <li>
    <p>デバイス購入<br />
なんと結局 1 台も購入しませんでした。ただ、メインを OnePlus Nord CE 2 Lite 5G から Moto G64 5G に切り替えました。CE 2 Lite を長く使っていたからか、動作が不安定に感じることが時々あり、初期化をしようと思った際に切り替えました。そうすれば、初期化して不便があれば戻りやすいですしね。(結局 Moto G64 をメインのままにしています)</p>
  </li>
</ol>

<p>うーん、まったく目標を達成できていない、という結果になってしまいましたね。</p>

<h1 id="今年の目標">今年の目標</h1>
<ol>
  <li>
    <p>ComfyUI のナレッジ化<br />
環境構築やバージョンアップ、トラブル時の対処方法などを記事にしていければ、と思っています。ComfyUI 以外のツールもありますが、現時点ではまず ComfyUI をメインで考えてみるようにします。</p>
  </li>
  <li>
    <p>ポケモン<br />
今年こそは・・・という感じですが、年末に Switch2 と LEGENDS Z-A を購入しました。メインストーリはある程度進めているのですが、メモ程度に書き記していければ、と思っています。<br />
また、ポケモン Go の対戦をやっているので、その辺で何かネタがないかなとは思うのですが、ブログにできるほどの内容になるかどうか。</p>
  </li>
  <li>
    <p>デバイスレビューを5本掲載<br />
何とは限らずに、デバイスのレビューを 1 年間で 5 本は書こうと思います。そのためには何かを買わなければいけないですし、それがレビューできる程度に使ってみないといけないので、計画的に進めていこうと思います。</p>
  </li>
</ol>]]></content><author><name>Pokoten</name></author><category term="ブログ" /><summary type="html"><![CDATA[昨年たてた目標 の結果と、今年の目標をたててみたいと思います。]]></summary></entry><entry><title type="html">Podman で GPU が使えない</title><link href="https://www.pokotenote.com//%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB/2025/10/18/podman-nvidia-error.html" rel="alternate" type="text/html" title="Podman で GPU が使えない" /><published>2025-10-18T15:00:08+00:00</published><updated>2025-10-18T15:00:08+00:00</updated><id>https://www.pokotenote.com//%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB/2025/10/18/podman-nvidia-error</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB/2025/10/18/podman-nvidia-error.html"><![CDATA[<h3 id="事象">事象</h3>
<p><a href="/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2025/07/26/podman-cuda.html">WSL2 の Podman で CUDA する</a> で作った環境で、コンテナ内から GPU にアクセスできなくなっていることに気が付きました。OpenWeb UI を起動すると、GPU を使ってくれず CPU のみで処理をしていますし、ComfyUI にいたってはコンテナが起動すらしません。以前は GPU が使えたはずのそれらのコンテナの中から <code class="language-plaintext highlighter-rouge">nvidia-smi</code> コマンドを実行してみると、</p>

<p><code class="language-plaintext highlighter-rouge">Failed to initialize NVML: N/A</code></p>

<p>と表示され、GPU 情報が表示されませんでした。</p>

<h3 id="対策">対策</h3>
<p>この事象が出る前に、Windows11 側の NVIDIA App よりドライバー更新のお知らせがあったので、更新をしていました。この場合、ドライバーのパスなどが変更される (ことがある？) ため、<code class="language-plaintext highlighter-rouge">sudo nvidia-ctk cdi generate --output /etc/cdi/nvidia.yaml</code> を再実行し、正しいパスで定義しなおす必要がありました。</p>

<p>なお、Dokcer の場合は GPU を認識させる仕組みが違うため、ドライバーを更新してもコンテナ内から GPU にアクセスすることが可能でした。</p>

<h3 id="詳細">詳細</h3>
<p>事象に気が付いた後に、<a href="/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/2025/07/26/podman-cuda.html">WSL2 の Podman で CUDA する</a> の記事で動作確認用に実行した、</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>podman run <span class="nt">--rm</span> <span class="se">\</span>
<span class="nt">--device</span> nvidia.com/gpu<span class="o">=</span>all <span class="se">\</span>
<span class="nt">--security-opt</span><span class="o">=</span><span class="nv">label</span><span class="o">=</span>disable <span class="se">\</span>
ubuntu nvidia-smi <span class="nt">-L</span>
</code></pre></div></div>

<p>を実行すると、以下のような結果になっていました。</p>

<p><img src="/assets/images/2025/10/ss-20251019-01.png" alt="init fail" /></p>

<p>このとき、同じ PC 内の別の WSL ディストリビューション (Docker を残したままにしていた環境) では、以下のように GPU の情報が出力されていたので、WSL 側へ認識できていることは間違いなさそうです。</p>

<p><img src="/assets/images/2025/10/ss-20251019-02.png" alt="docker" /></p>

<p>なお、Podman が入っている WSL 環境で、コンテナの外で <code class="language-plaintext highlighter-rouge">nvidia-smi</code> コマンドを実行すると GPU の情報が表示されたので、Podman で GPU の情報がうまくコンテナ内から参照できない状態のように見えます。</p>

<p>nvidia-container-toolkit パッケージの再インストールもしてみましたが、結果は変わりませんでした。NVIDIA のドライバーのバージョンアップでエラーになる、という症状は検索して見つけたのですが、その場合はバージョンが違うとかのエラーメッセージのようだったので、今回のエラーとは違うのかな、と思っていました。</p>

<p>しかし、<code class="language-plaintext highlighter-rouge">nvidia-ctk</code> コマンドで出力する <code class="language-plaintext highlighter-rouge">/etc/cdi/nvidia.yaml</code> ファイルの内容を参照してみると、以下のように <code class="language-plaintext highlighter-rouge">nvmdi.inf_amd64_8ae620a6c455be0a</code> を参照しています。</p>

<p><img src="/assets/images/2025/10/ss-20251019-03.png" alt="nvidia.yaml" /></p>

<p>このパスを見てみると、<code class="language-plaintext highlighter-rouge">nvmdi.inf_amd64_8ae620a6c455be0a</code> と <code class="language-plaintext highlighter-rouge">nvmdi.inf_amd64_f088ae99b5a2f5fd</code> の 2 つのディレクトリがあり、明らかに後者が最近更新されたパスのようです。</p>

<p><img src="/assets/images/2025/10/ss-20251019-04.png" alt="driver timestamp" /></p>

<p>そのため、<code class="language-plaintext highlighter-rouge">sudo nvidia-ctk cdi generate --output /etc/cdi/nvidia.yaml</code> を実行して、ファイルを再作成してみました。</p>

<p><img src="/assets/images/2025/10/ss-20251019-05.png" alt="cdi generate" /></p>

<p>出力を見ると、タイムスタンプが新しかった <code class="language-plaintext highlighter-rouge">nvmdi.inf_amd64_f088ae99b5a2f5fd</code> を認識しているようです。この状態で動作確認してみると、</p>

<p><img src="/assets/images/2025/10/ss-20251019-06.png" alt="gpu enabled" /></p>

<p>正常に <code class="language-plaintext highlighter-rouge">nvidia-smi</code> コマンドが実行でき、GPU 情報も取得できるようになりました。NVIDIA のドライバーを更新したときは、Podman は CDI の定義をし直したほうがよさそうです。</p>]]></content><author><name>Pokoten</name></author><category term="トラブル" /><category term="Windows" /><category term="WSL" /><category term="podman" /><category term="CUDA" /><category term="コンテナ" /><summary type="html"><![CDATA[事象 WSL2 の Podman で CUDA する で作った環境で、コンテナ内から GPU にアクセスできなくなっていることに気が付きました。OpenWeb UI を起動すると、GPU を使ってくれず CPU のみで処理をしていますし、ComfyUI にいたってはコンテナが起動すらしません。以前は GPU が使えたはずのそれらのコンテナの中から nvidia-smi コマンドを実行してみると、]]></summary></entry><entry><title type="html">DUALSHOCK 4 を Type-C コネクタ化</title><link href="https://www.pokotenote.com//%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9/2025/10/13/dualshock4-typec.html" rel="alternate" type="text/html" title="DUALSHOCK 4 を Type-C コネクタ化" /><published>2025-10-13T00:00:00+00:00</published><updated>2025-10-13T00:00:00+00:00</updated><id>https://www.pokotenote.com//%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9/2025/10/13/dualshock4-typec</id><content type="html" xml:base="https://www.pokotenote.com//%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9/2025/10/13/dualshock4-typec.html"><![CDATA[<h1 id="背景">背景</h1>
<p><a href="/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9/2025/06/11/steam-dualshock.html">Steam のゲームを DUALSHOCK 4 のジャイロで操作する</a> で書いたように、PS4 の DUAL SHOCK 4 コントローラーを持っています。PC から PS4 をリモートプレイをする場合は、Bluetooth の無線接続はサポートしておらず、有線でコントローラーを接続する必要があります。DUAL SHOCK 4 はケーブル着脱式なのですが、コネクタが microUSB 形式です。</p>

<p><img src="/assets/images/2025/10/ss-20251013-01.jpg" alt="microUSB" /></p>

<p>時期的に仕方のないことではありますが、このためだけに microUSB ケーブルを用意しておくのも大変です。</p>

<p>そんなとき、DUAL SHOCK 4 を Type-C に変更するキットが売られていることを知りました。Amazon でも購入できます。今回購入したのはこちら。</p>

<p><img src="/assets/images/2025/10/ss-20251013-02.jpg" alt="Type-C Charging Port" /></p>

<p>なお、DUAL SHOCK 4 の世代によって対応する基盤が 2 種類あるようなので、念のため購入前に自分のコントローラーがどちらに対応しているかを確認したほうが良いと思います。microUSB のポートが乗っている基盤を取り外し、シルク印刷された型番で見分けることが可能です。</p>

<p><img src="/assets/images/2025/10/ss-20251013-07.jpg" alt="PCB type" /></p>

<p>こちらの場合は <code class="language-plaintext highlighter-rouge">JDS-040</code> と記載があります。説明書の最初のページに対応表があります。</p>

<p><img src="/assets/images/2025/10/ss-20251013-03.jpg" alt="Installation Guide" /></p>

<p>こちらを見ると、<code class="language-plaintext highlighter-rouge">JDS-040</code> は <code class="language-plaintext highlighter-rouge">JDS-045C</code> が適合するタイプのようです。<code class="language-plaintext highlighter-rouge">JDS-013C</code> を購入してしまうと物理的に収まらないので、注意しましょう。</p>

<h1 id="交換">交換</h1>
<p>上記の写真にもあるように、キットには必要な工具も一式そろっています。分解は、まずネジ (4か所) を外します。</p>

<p><img src="/assets/images/2025/10/ss-20251013-04.jpg" alt="screw" /></p>

<p>メイン基板と充電ポートを接続するフラットケーブルがつながっているので、これを外します。引っ張ればとれるタイプです。</p>

<p><img src="/assets/images/2025/10/ss-20251013-05.jpg" alt="cable" /></p>

<p>コントローラーの背面側のケースに、充電ポートの基盤が固定されています。透明なプレートと白いパーツを外して、基盤を固定するネジを外せば簡単に取り外すことができます。</p>

<p><img src="/assets/images/2025/10/ss-20251013-06.jpg" alt="board" /></p>

<p>取り外した microUSB のポート (上側) と、購入した Type-C ポートです。見てわかるように、Type-C ポートのほうがコネクタが大きいので、ポートの周りを削る必要があります。削るための道具もキットに同梱されていますが、結構大変なので別途電動ドリルなどがあったほうが便利だと思います。</p>

<p><img src="/assets/images/2025/10/ss-20251013-08.jpg" alt="compare" /></p>

<p>あまりきれいに加工できませんでしたが、一応 Type-C ケーブルで接続できるようになりました。Type-C ケーブルならほかにも充電する機器がありますし、コネクタの表裏を気にしなくていいですし、コネクタ自体の耐久性も Type-C のほうが高いはずだしといいことばかりですね。</p>

<p><img src="/assets/images/2025/10/ss-20251013-09.jpg" alt="Type-C" /></p>

<p>コントローラーを加工する必要があるため、後戻りできなかったり、きれいに加工するには技術が必要だったりと、少しハードルは高いですが、これからも DUAL SHOCK 4 を使うのであればやっておいて損はないように感じます。なお、製品にもよるかもしれないですが、今回購入したキットは部品が 2 セット入っているので、コントローラー 2 個分 Type-C 化が可能です。</p>]]></content><author><name>Pokoten</name></author><category term="デバイス" /><category term="DUALSHOCK" /><category term="コントローラー" /><summary type="html"><![CDATA[背景 Steam のゲームを DUALSHOCK 4 のジャイロで操作する で書いたように、PS4 の DUAL SHOCK 4 コントローラーを持っています。PC から PS4 をリモートプレイをする場合は、Bluetooth の無線接続はサポートしておらず、有線でコントローラーを接続する必要があります。DUAL SHOCK 4 はケーブル着脱式なのですが、コネクタが microUSB 形式です。]]></summary></entry></feed>