Posts
Let's note (CF-FV1) 購入
Let's note に 10 世代の Intel CPU が搭載されるのを待っていたら、あっと言う間に半導体不足という状況になり、慌てて購入することにした。実は去年 10 月の時点で購入は済ませていたが、後述するキーボードの修理や環境移行の時間がとれなかったこともあり、使える状態にするまでに大分時間がかかってしまった。
光学ドライブが搭載されていない機種なので筐体はかなり薄く、そして軽い。昔であれば Dynabook SS シリーズのような高価格帯 PC でなければ実現しなかったスペックが当たり前になっていることに驚く。
ディスプレイとキーボードを外付けして使うスタイルに移行したので、恒例の液晶の色味調整やキートップの入れ替えといったカスタマイズは行っていない。
キーボードの修理
Windows のセットアップ過程で必要な情報をキーボードで入力していたら、通常の打鍵音とは異なる音が聞こえてきたので原因を調べたところ、カーソルキーを押したときに「ペコッ」という音が発生していることが分かった。
時間を置いてしまうと初期不良の対象から外れてしまうので、泣く泣くセットアップを中断し、修理に出すことにした。
近年のノート PC はキーボードモジュールを強力な両面テープで接着しているので、今回の件は何らかの要因で接着がうまくいかず、キーを押す度にテープがくっついたり離れたりを繰り返していたのが原因ではないかと推測している。
休止状態からの復帰
以前の PC では休止状態を電源ボタンではなくマウスを使って解除していたので、新 PC でも同じ方法で休止状態を解除させようとしたが反応がない。
マウスによる復帰は USB Wake Up という機能を使っているらしく、マウスや BIOS 設定を変更すれば有効にできるということだったので、デバイスマネージャーからマウスの設定を見てみたが「電源の管理」タブがなく、BIOS にも USB Wake Up と関連しそうな項目は見つからなかった。
さらに調査をしたところ、USB には電源オフの状態でも充電を可能にする「USB 給電」という仕組みがあり、この給電機能と USB Wake Up は両立しないことがある、という記事を見つけた。
偶然にもマウスを適当に接続したポートが給電ポートだったので、別のポートに接続し直せばこの問題は解消されるのかと思いきや状況は変わらず、Let's note 付属の「PC 設定ユーティリティー」で設定を変えてみてもダメだった。
取扱説明書の「基本ガイド」には、
スリープ状態 (モダンスタンバイ) または休止状態から復帰するには、電源スイッチをスライドしてください。
と書かれているのでマウスによる復帰はサポートされていないのかもしれない。
グラフィックドライバーのバグ
Visual Studio でデバッグ実行した際に、
Microsoft C++ の例外: MONZA::DdiThreadingContext<MONZA::AdapterTraits_Gen12LP>::msg_end Microsoft C++ の例外: MONZA::IgcThreadingContext<MONZA::AdapterTraits_Gen12LP>::msg_end
という例外が出るようになったので、ステップ実行で調べたところ ID2D1Factory::Release を呼び出した瞬間に出力されていることが分かった。ID2D1Factory は Direct2D に属する API なのでグラフィックドライバーが怪しい可能性が高い。
ドライバー更新 (2022/03/22)
ドライバーのダウンロードページを見たところ、
CF-FV1 シリーズ Windows 10 用 ビデオドライバーアップデートプログラム (30.0.100.9864)
改版内容
(1) CF-FV1シリーズで発生する下記の問題を修正します。
・音量変更時などにノイズが発生する場合がある
(2) 外部ディスプレイ接続時の動作安定性、及びアプリケーションの動作安定性が向上します。
という更新があり、適用すると 1 行目の例外ログ (DdiThreadingContext) が出力されなくなった。ただ、依然として 2 行目 (IgcThreadingContext) は出力され続けている。
ドライバー更新 (2023/09/19)
新しいドライバーが公開された。
CF-SV1、LV1、QV1、FV1シリーズ Windows 10 用 ビデオドライバーアップデートプログラム (31.0.101.4255)
適用後に Visual Studio でデバッグ実行すると、以前発生していた例外は出なくなったが、別の例外が出ていた。
Microsoft C++ の例外: ShaderCache::ShaderCacheFileBackedEmptyCacheFileException Microsoft C++ の例外: ShaderCache::ShaderCacheFileBackedEmptyCacheFileException
調べたところ「DirectX シェーダーキャッシュ」に関連する例外らしく、ドライバーを更新した直後にしか出なかったので、旧ドライバーが作成したキャッシュをうまく処理できず、新しいドライバーがキャッシュを再構成したものと見ている。このキャッシュはディスククリーンアップで削除することも可能。
緊急告知ユーティリティ
プログラムを根こそぎ削除するのは面倒だったのでサービス (UrNotice Service) の削除だけ行った。
sc stop unsvc sc delete unsvc