ど~もeagle0wlです(再)

140文字では収まらないネタを記録するブログ

コミケお疲れ様でした #C108 / 冬コミ申し込みました

C108 サークル入場の様子

コミックマーケット108(C108)に行ってきました。今回は初めてのサークル参加…というよりサークル主としての同人活動が初めてということで、新刊を2冊用意しました。いろいろと大変でしたが、なんとかなりました。そしてまさかの完売。ありがとうございます。そして売り切れるとは思っていなかったので、購入できず残念な思いをさせてしまったことを申し訳なく思います。

25年近く前に作ったcrackmeに挑戦してくれ「とても面白かった」と言ってくれた方、SNSではかろうじて繋がっているものの20年近く会っていなかった友人と再会できたり、なんというか、ありがとうございました。1990年代のコミケで鍵開けの同人誌があったという証言を聞くことができたのは予想外でした。

11月の技術書典と12月の冬コミにも応募したので、当選すれば今回の頒布物を再販します。また、現地では冊子+電子書籍セットのみとしましたが、冊子売り切れに備えて電子書籍のみ売ることについても、値段設定を含めて考えていませんでした。機転が回らず申し訳なかったです。

次回は『少しわかるコピープロテクト技術史 Vol.2』を予定しています。フロッピーディスク時代になるかもしれませんが、世代ではないので最も気合い入れて書かなければならないと思います…。

同人誌『少しわかるコピープロテクト技術史 Vol.1』サポートページ

同人誌『少しわかるコピープロテクト技術史 Vol.1』表紙

書誌情報

書名:少しわかるコピープロテクト技術史 Vol.1 2000年前後のWindowsソフトウェアと解析文化
著作者名:eagle0wl
発行:eagle0wl Kracker Archive(同人誌)
発売日:2026年8月16日(コミックマーケットC108 2日目)
価格:1,000円(紙本+電子書籍データ)
ページ数:140ページ
寸法:A5

続きを読む

同人誌『ペネトレーションテスターが鍵師に入門してみた』サポートページ

『ペネトレーションテスターが鍵師に入門してみた』表紙

書誌情報

書名:ペネトレーションテスターが鍵師に入門してみた 鍵師講習の体験記と物理セキュリティの考察
著作者名:eagle0wl
発行:eagle0wl Kracker Archive(同人誌)
発売日:2026年8月16日(コミックマーケットC108 2日目)
価格:1,000円(紙本+電子書籍データ)
ページ数:120ページ
寸法:A5

続きを読む

夏コミ(C108)のお品書き(07/22版)を公開しました

C108 「eagle0wl Kracker Archive」お品書き

夏コミサークル参加します。同人活動としては今回が初めてになります。商業しかやったことなかったので、企画から原稿、組版、デザイン、頒布までを一通りやっておきたいと考えて、今回こういう運びになりました。よろしくお願いいたします。

『ペネトレーションテスターが鍵師に入門してみた』

記念すべき1冊目のマイ同人誌。入稿済みなので確実?に出ます。紙の本と電子書籍セットで頒布価格1,000円になります(分売なし)。同人誌なのに力の入れ具合を間違えて120ページのボリュームになってしまいました。デザイナーレスデザインではありますが、一応商業紙レベルに挑戦してみたつもりです(?)。

『少しわかるコピープロテクト技術史 2000年前半ごろの話(仮題)』

表題のような内容で出せたらいいなと思っています。(間に合うかわからん!)

夏コミ当選しました

告知

夏コミ(C108)のサークル参加に当選しました。
2日めに「eagle0wl Kracker Archive」として参加します。

日曜日 東地区 “V”ブロック-27a (東7ホール)

C108サークルカット「eagle0wl Kracker Archive」

↓詳細はこちらから(Circle.msの告知ページ、要ログイン)
https://webcatalog.circle.ms/circle/23005072

商業誌技術ライター歴20年以上の筆者によるオリジナルの新刊2冊を予定しています(余力がなかった場合は1冊目のみの頒布になります)。

1冊目は、情報セキュリティ技術者の末席を汚している筆者が物理セキュリティを学ぶために鍵師技能検定に合格した経緯をまとめた手記。

2冊目は、ゲームソフトの不正コピー対策を破る側と作る側の両方を経験した筆者による、今日のインターネットにも記録がない話題をまとめた歴史の記録。

『デジタルペンテスターが鍵師に入門してみた(仮)』
情報セキュリティ技術者でありデジタルペンテスター(世間的にはホワイトハッカーと呼ばれることもある職業)である筆者が、物理セキュリティを学ぶために鍵師技能検定に合格したいきさつをまとめたもの。悪用可能な鍵開けの技術は極力触れずに、セキュリティ思想のフィールドワークとして、物理鍵・錠前セキュリティの社会構造に感じた違和感を、業界批判ではなく構造分析として記します。

『ソフトウェアプロテクション 水面下の歴史 2000年代前半編(仮)』
ソフトウェアプロテクション(不正コピー対策)を破る側(個人活動)、作る側(商業活動)の両方を経験した筆者による、今日のインターネットにもほとんど記録が残っていない1990年代末~2000年代前半の話題を主にまとめたもの。悪用可能にならないように具体的な手法はぼかしつつ、当時のハッカーコミュニティの空気感や、コピープロテクトの解除が違法になってしまったことで、文化資産としてのソフトウェアの保存が不可能になった現状を、歴史の記録として記します。

経緯

今回、コミケのサークル参加に初応募、初当選しました。

出版不況のこの時代ですが、長年懇意にしていた出版社であるデータハウスが出版事業を停止してしまいました。アウトプットのチャンネルを一つ失ったわけですが、4月に池袋で行われた技術書典20に行ったことでインスピレーションを受けました。

商業ライター経験は20年以上あるものの、サークル主としての同人活動はやったことはなかったので、今回を期に挑戦することにしました。

告知の通り、(調子が良ければ)2冊出す予定です。私事ではありますが、2月に半分ネタで「鍵師技能検定」を受講して合格しました。調べた限りだと、鍵師(錠前師)、ピッキング(鍵開け)、鍵屋を取り扱った同人誌はいままでに存在しないようなので、今回このネタで一冊書くことにしました。

www.kagishi.com
※鍵師、錠前師は日本鍵師協会の登録商標です。今回作成する同人誌における登録商標の使用については問い合わせ済みで、回答を頂いています。

もう一冊は、私が長年取り組んできたソフトウェアプロテクションに関し、インターネット上から消えない内に何らかの形でまとめないといけないと思い、テーマに選びました。ただ、コミケには最低でも一冊は出さなければならないので、原稿の進み具合によっては見送りになるかもしれません。

これを完成させて弾みがついたら、次はフロッピーディスク時代のコピープロテクトの話を、関係者がまだ健在なうちにして取材してまとめたものを出すつもりでいます。

コミケの次は技術書典ですが、コミケまであと10週間、明日から本気出すとは言えなくなったので、今から本気出します。
詳細は決まり次第更新していきます。

RTX 5070 Ti + UbuntuでFramePackが動かないときの対処法(CUDAカーネルエラー解決)


3行で説明

  • RTX5070Ti+UbuntuでFramePackが動作しなかったので対応策を探った
  • PyTorchの最新版はRTX 5070Tiに対応しきれておらず不具合が発生する
  • CUDAとPyTorchのバージョンをsm_120対応ビルド(cu128/nightly)へ切り替えることで安定動作を得られた

発端

2025年11月ごろから、いわゆるDRAMパニックが始まった。これにより、主に高価格帯のパーツの駆け込み需要が集中して、DDR5を中心としたメモリパーツが枯渇して、次にDDR5を含むBTOパソコンが枯渇して、さらにはグラボも枯渇して、価格高騰と納期の遅延が出てしまい、パソコン市場は大変なことになっている。

かくいう私も、ゲーミング+生成AI用のマシンが欲しいと思いながらもグズグズしていたが、この機を逃すとまずいと思い、某ショップのBTOパソコンを注文した次第。決済完了から1週間後に商品ページを覗いてみたら、サイレントで7万円値上げされており、逃げ切りに成功したものの鬼畜かよと思った次第。

マシン構成

今回組んだマシン構成は以下の通り。

  • CPU:Core Ultra 7 265K
  • RAM:32GB
  • GPUGeForce RTX 5070 Ti 16GB
  • ストレージ:1TB SSD×2、8TB HDD×1(データ保存用)
  • OS:Windows 11 と Ubuntu Desktop 24.04.3 LTS のデュアル(別ストレージ)

GPUは、VRAMが16GB載っているRTX 5070 Tiを選択した。Windows 11ではSteamなどを動作させゲーミング環境を、Ubuntu Desktopでは生成AI環境を構築したいと考え、SSDを2枚用意してそれぞれインストールすることでデュアル構成にした(SSD1枚でデュアルブートすることもでできなくはないが、アップデートの際に事故る)。

生成AI系のアプリはWindows版も用意されているが、Linux版と比較するとパフォーマンスが10~20%落ちてしまうこととカスタム性を考慮して、今回はUbuntu Desktop上で動作させることにした。

いろいろとインストールしてみたが…

ChatGPT PlusとSuperGrokの助けを得ながら、生成AI系のアプリをいろいろとインストールしてみた。i2vであればWan2.2が素晴らしい。それを踏まえて、FramePackもインストールしてみようと思ったがうまく実行できず、以下のエラーメッセージに遭遇した。

torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 14.34 GiB. GPU 0 has a total capacity of 15.46 GiB of which 3.06 GiB is free. Including non-PyTorch memory, this process has 12.15 GiB memory in use. Of the allocated memory 9.70 GiB is allocated by PyTorch, and 2.11 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

これはVRAMの断片化が原因である。FramePackは一時的にピーク使用量が跳ね上がることがあり、16GBでもメモリ確保に失敗してエラーが出ることはある。

いろいろ設定を変えてみたら、以下のエラーに変わった。

Loaded CLIPTextModel to cuda:0 as complete. Traceback (most recent call last): File "/home/eagle0wl/Applications/FramePack/demo_gradio.py", line 126, in worker llama_vec, clip_l_pooler = encode_prompt_conds(prompt, text_encoder, text_encoder_2, tokenizer, tokenizer_2) File "/home/eagle0wl/Applications/FramePack/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 120, in decorate_context return func(*args, **kwargs) File "/home/eagle0wl/Applications/FramePack/diffusers_helper/hunyuan.py", line 31, in encode_prompt_conds llama_attention_length = int(llama_attention_mask.sum()) torch.AcceleratorError: CUDA error: no kernel image is available for execution on the device Search for cudaErrorNoKernelImageForDevice' in https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html for more information. CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.

PyTorchが「CUDA error: no kernel image is…」を吐いているが、これは GeForce RTX 50** 系の問題で、RTX 5070 Ti(sm_120)向けにビルドされたカーネルが無かったこと、PyTorch本体がsm_120に対応していても、CUDA拡張(xFormers / Flash-Attention)が未対応だと no kernel image になることが原因の模様。ここでは、高速化をあきらめて安定動作を図ることにした。

いろいろと試したところ、以下の変更でFramePackが安定動作した。

  • Pythonのバージョンを3.10.xにする
  • 必要パッケージをインストールし直す
  • PyTorchのバージョンはcu128(CUDA12.8向けビルド)にする
  • メモリ断片化を抑制する(例:export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True)
  • Flash Attentionをオフにする(例:export XFORMERS_DISABLE_FLASH_ATTN=1)

$ cd ~/Applications
$ git clone https://github.com/lllyasviel/FramePack.git
$ cd FramePack
$ uv python install 3.10
$ uv python pin 3.10
$ uv venv -p 3.10 .venv
$ uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
$ uv pip install -r requirements.txt

以下のコマンドで現状のバージョンを確認できる。

$ uv run python - << 'PY'
import torch
print("torch:", torch.__version__, "cuda:", torch.version.cuda)
print("gpu:", torch.cuda.get_device_name(0))
print("capability:", torch.cuda.get_device_capability(0))
PY

torch: 2.11.0.dev20260110+cu128 cuda: 12.8 ← PyTorchのバージョンはcu128(CUDA12.8向けビルド)
gpu: NVIDIA GeForce RTX 5070 Ti
capability: (12, 0) ←NVIDIAのCapabilityのバージョンは12.0(sm_120)

あとは、以下の起動用シェルスクリプトを配置すればよい。

#!/bin/bash

export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export XFORMERS_DISABLE_FLASH_ATTN=1
export CUDA_LAUNCH_BLOCKING=1
uv run demo_gradio.py

CUDA_LAUNCH_BLOCKING=1は、GPUエラーは非同期で出ることが多く、スタックトレースがズレて「別の行で落ちたように見える」ので、それを同期化して分かりやすくする目的で入れている。

まとめ

しかし…よく考えてみると、RTX 5070 Tiを使っている以上、PyTorchを使うアプリすべて(ComfyUIなど)が同じ問題を抱えているわけだから、すべてのアプリにおいて上記の設定を入れないと安定動作が得られないことになる。

ということで、全てのアプリにおいて設定変更を実施した。私はPythonのパッケージ管理と仮想環境の実現のために uv を使用しているが、快適かつ安全に変更することができた。

現行のComfyUIはPython3.13か3.12の使用を推奨しているが、3.10でも今のところは問題なく動作している。

この状況でできることは、安定したsm_120対応xFormersが出るまで待つしかない。

今回マシンを組む際に購入した周辺機器

このヒートシンクを使っている。問題なし。

1つのキーボードやマウスを4つまでのPCで切り替えて使うことができる。しょぼいやつだと、切り替え後の認識に時間がかかったり、時折キーボードとマウスを認識しなくなることもあり、その時はマウスを新たに繋いで再起動するしか無かったのだが、これは問題なかった。あと、有線リモコンのボタンのクリック感が良い。

複数のマシンの音声出力を1つのスピーカーでまとめてしまいたいときに使える。私はアリエクで買ったが、電源アダプタはついていなかった。

このケーブルを電源ケーブルとして使えば良い。5Vで動くのでUSBアダプタと組み合わせてどうぞ。

こちらは1つの音声出力を2個所にスイッチできるアダプタ。しっかりしたスピーカーとダイソーの300円スピーカーを切り替えるのに使っている。ChipTuneだとダイソーの300円スピーカー(現在はディスコン)のほうが味が出るんですよ。