2024年10月11日金曜日

Keychron K7 Max QMK/VIA JIS配列購入

Keychron K7 Max QMK/VIAのJIS配列、RGBライト、赤軸モデルを買いました。
製品紹介のキー配置で気になったことがあり結構悩んでから購入しました。
キートップの印字からは「¥」キーを単独で押すと「|」が入力されるように見えませんか?
「¥」キーを単独で押した場合とShiftキーとの組み合わせで入力される文字が逆なのではないかと。

結局、「¥」キーは単独で押すと正しく「\」が、Shiftキーと同時押しで「|」が入力されたので問題なかったのですが、なんか並びのキーと印字が違うような気がして違和感があります。
同様に、左上の「ESC、半角/全角」キーは、単独で押すと「半角/全角」として機能しそうに見えますが「ESC」として機能します。
また、右Shiftキーは、「↑」として機能しました。

このキーボードは、QMK/VIAに対応していてキーマップの変更をキーボードに記憶させておくことができます。 (この機能があるから多少キーマップがおかしくても変更できるかなと考えていたのですが、Shiftキー同時押しのキーアサイン変更はできないようです)

キーマップの変更は How To Use Launcher To Program Your Keyboard にあるようにブラウザーを利用してKeychron Launcher で行えます。JIS配列でも表示が崩れることもなく利用できます。
専用のツールが不要で動きを試しながら変更できるのですごく便利。

下記の感じでキーマップを設定しています。

キー設定
CapsLock左Ctrl
右Shift右Shift
fn1+右Shift
fn2+delPause
fn2+HomePrintScreen
ESC半角/全角
fn1+ESCESC

定番のAキーの左に左Ctrlを配置、「半角/全角」、右ShiftとPause、PrintScreenはないと困るのでアサインしました。
主にWindowsノートPCで使うのでWindows用のキーキャップを付けていますが、これMacで使うと良さそうなキーボードです。

最初、こちらの How To Use VIA To Program Your Keyboardをみて Download Firmware and JSON FilesからJSONファイルをダウンロードして、 VIAを利用していましたが、VIAだと一部表示が崩れていたりして、JIS配列向けの利用はイマイチかなという状態でした。
その後、ホームページのNewsから上記記事を見つけ、よく見ると商品紹介ページにもKeychron Launcherへのリンクがあるのを見つけました。

参考URL)

2024年8月4日日曜日

Lexar NM790 with ESXi 8

SSDが全体的に高止まりしてしまっていますが、比較的安価に入手できるLexar NM790がESXi 8で利用できました。
コントローラにMaxio MAP1602Aを利用しているものは、ESXiで認識しそうです。
検証用のデータストアを追加したかったのでコストを抑えられてよかった。
耐久性は暫くしないと分かりませんが…。

経験的にIntel/Solidigm製やPHISON製コンロトーラを使用しているNVMe SSDは、大体利用できるのですが比較的高価なものが多い。
コスパの良いものに使われていることが多いコントローラで利用できるものが分かってよかった。
一年位前、蝉族SSDと話題になっていたとか、当時気づかなかったのが残念。

2024年6月8日土曜日

sdweb-eagle-pnginfo

Stable Diffusionで生成した画像は、Eagleの自動インポートを使って取り込んでいました。
別マシンで利用していることもあり、scpでコピーするのも少し面倒になってきたので調べたところ見つけました。
Eagle APIが提供されているのであるかと思い探しましたがありました。ありがとうございます。

sdweb-eagle-pnginfoをAUTOMATIC1111/stable-diffusion-webuiのExtensionとして導入すると、生成した画像がEagleに転送されます。
連続生成した場合でもEagleで画像、prompt確認ができるためとても便利です。

Save Generation info as AnnotationとModelをタグ付けするように設定して利用しています。

参考URL)

Eagle App

Stable Diffusionで生成した画像の管理にEagleを使っています。
タグやメモなど利用できるので非常に便利で気に入っています。
APIが公開されているので外部ツールと連携が可能なのも良いところです。
当初、動きが軽くて感動しましたが3万ファイル位溜め込んだら、サムネイルの表示が少しもたつく感じになってきました。 (環境:Mac Mini (M1)、メモリ16GB)

使い始めた頃、フォルダーの移動でちょっと戸惑ったのでメモ。
フォルダーの移動は、フォルダーを選択して右クリックで表示されるメニューの「フォルダーの移動」で行います。
「フォルダーの移動」メニューが表示され移動先を選ぶのですが、下図の場合はTier21の上に移動。つまりTier1の中にTier21,Tier22と同階層でTier21の上に移動します。
次の場合は、Tier21の中に移動。Tier31と同階層に移動します。
次の場合は、Tier21の下に移動。Tier21,Tier22と同階層、Tier21とTier22の間に移動します。
どれもフォルダTier21がフォーカスされていますが、「上に移動」の場合は上部にライン、「下に移動」に場合は下部にライン、「中に移動」に場合はTier21全体の色味が変わっています。

当初「上に移動」や「下に移動」しか出来なくて、フォルダの中にどうやって移動するの?と思っていました。
高解像度モニターで文字が小さいからか、マウスの相性なのか、移動先が薄くフォーカスされた状態でクリックしていたようで「中に移動」が出来なくて少しハマりました。
通常フォルダをフォーカスした場合と同じ色味だったので、移動先フォルダの選択でも同じだと思い込んでいたのもあるかもしれません。 気づけば何てことはないのですが。

参考URL)

2024年5月25日土曜日

Stable Diffusion web UI

書店をぶらつきStable Diffusionの入門書を2冊買いました。青っぽいのと黄色っぽいの。
どちらも面白かった。

AUTOMATIC1111/stable-diffusion-webuiの環境構築をUbuntu 22.04.4にしましたが、サイト記載の手順で特にハマることなく完了しました。

サーバに環境構築した場合の変更点としては、外部接続用のインターフェースをlistenするようにすることくらいでしょうか。
デフォルトでは、ローカルホストをlistenしているため外部からアクセスできません。

ひとまず、下記オプションをwebui-user.shのCOMMANDLINE_ARGSに設定しています。
  • --listen
  • --enable-insecure-extension-access
  • --xformers
--enable-insecure-extension-accessは必要なときだけ指定しても良いかもしれません。
また、--xformersオプションを入れるとメモリ消費量削減と速度向上に効果があります。

しばらくは楽しめそうです。

参考URL)

2024年5月4日土曜日

ubuntu 22.04.4 with GPU passthrough on ESXi 8

画像生成AIで遊んでみたくなったので下記パーツでPC作成、ESXi 8を導入。
  • ASRock B550M Pro4
  • AMD Ryzen 7 5700X
  • Palit NED407S019K9-1043D (GeForce RTX 4070 SUPER Dual 12GB)
内蔵NICがRealtek RTL8111Hチップだったので、NICを増設してESXiセットアップは完了。
久々でvmklinux driverが利用できなくなったのを忘れてて時間を無駄にしました。
#vmware買収で無償版が無くなりホームラボ利用が衰退しそうで寂しい限りです。
#VMUG Advantageは大丈夫だろうか。

さて本題、ESXiでGPUパススルー設定後、ubuntu server 22.04.4 LTSのVM作成しましたが、NVIDIAのドライバインストールでハマりました。
結論、nvidia-driver-nnnでうまくいかない場合は、nvidia-driver-nnn-openを試してみよう。

環境
$ uname -r
5.15.0-105-generic
$ grep -i version /etc/os-release 
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
$
オープンソースドライバーNouveauの確認。
$ lsmod |grep nouveau
nouveau              2306048  0
mxm_wmi                16384  1 nouveau
i2c_algo_bit           16384  1 nouveau
drm_ttm_helper         16384  1 nouveau
ttm                    86016  3 vmwgfx,drm_ttm_helper,nouveau
drm_kms_helper        311296  2 vmwgfx,nouveau
video                  65536  1 nouveau
wmi                    32768  2 mxm_wmi,nouveau
drm                   622592  7 vmwgfx,drm_kms_helper,drm_ttm_helper,ttm,nouvea
$
Nouveau無効化設定とkernel initramfs再構築。
$ cat << EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF
$
$ sudo update-initramfs -u
リブートしNouveauドライバーがロードされていないことを確認。
$ lsmod |grep nouveau
$
ドライバーの検索。
$ ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:02/0000:02:05.0 ==
modalias : pci:v000010DEd00002783sv00001569sd0000F302bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-550-open - distro non-free
driver   : nvidia-driver-550 - distro non-free recommended
driver   : nvidia-driver-550-server-open - distro non-free
driver   : nvidia-driver-550-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

== /sys/devices/pci0000:00/0000:00:0f.0 ==
modalias : pci:v000015ADd00000405sv000015ADsd00000405bc03sc00i00
vendor   : VMware
model    : SVGA II Adapter
manual_install: True
driver   : open-vm-tools-desktop - distro free

$ 
recommendedなパッケージをインストールする。
$ sudo apt install nvidia-driver-550
リブート後に確認。
$ lsmod |grep -i nvidia
nvidia_uvm           4648960  0
nvidia_drm             94208  0
nvidia_modeset       1343488  1 nvidia_drm
nvidia              54018048  2 nvidia_uvm,nvidia_modeset
drm_kms_helper        311296  2 vmwgfx,nvidia_drm
drm                   622592  7 vmwgfx,drm_kms_helper,nvidia,nvidia_drm,ttm
$
$ nvidia-smi
No devices were found
$
$ lspci |grep -i nvidia
02:05.0 VGA compatible controller: NVIDIA Corporation AD104 [GeForce RTX 4070 SUPER] (rev a1)
02:05.1 Audio device: NVIDIA Corporation Device 22bc (rev a1)
$
上手くいっていない。
dmesgを見ると下記のメッセージがあり、初期化に失敗しています。
[    3.337870] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.67  Tue Mar 12 23:29:25 UTC 2024
[    3.339965] [drm] [nvidia-drm] [GPU ID 0x00000205] Loading driver
[    3.346790] ACPI Warning: \_SB.PC08.S6F0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20210730/nsarguments-61)
[    5.381856] NVRM: GPU 0000:02:05.0: RmInitAdapter failed! (0x26:0x56:1598)
[    5.382198] NVRM: GPU 0000:02:05.0: rm_init_adapter failed, device minor number 0
[    5.385633] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000205] Failed to allocate NvKmsKapiDevice
[    5.386063] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000205] Failed to register device
apt list |grep nvidia-driverで以前のバージョンを確認し、545,535を試してみたがどれも同じ結果となりました。
パッケージ削除は下記を実行すれば良い。
$ sudo apt-get --purge remove nvidia-*
$ sudo apt-get --purge remove libnvidia-*
調べてみると参考URL※1が、同じエラーのようでopen driverを利用すれば良いとのこと。
$ sudo apt install nvidia-driver-550-open
リブート後確認。
$ lsmod |grep -i nvi
nvidia_uvm           4657152  0
nvidia_drm             94208  0
nvidia_modeset       1495040  1 nvidia_drm
nvidia               8577024  2 nvidia_uvm,nvidia_modeset
drm_kms_helper        311296  2 vmwgfx,nvidia_drm
drm                   622592  7 vmwgfx,drm_kms_helper,nvidia,nvidia_drm,ttm
$ nvidia-smi
Fri May  3 21:39:07 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.67                 Driver Version: 550.67         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4070 ...    Off |   00000000:02:05.0 Off |                  N/A |
| 30%   41C    P8             15W /  220W |       2MiB /  12282MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
$
成功。
Ubuntu Server Docs ※2をみると、-server版の方が用途に合っていたかもしれません。

参考URL)