Ubuntu 24.04 LTS での iGPU(i915)の深い電源管理(DC states)によるハング

ウチでは Ubutu 24.04 デスクトップを Intel Core i3-14100TASRock マザーボード B760M Pro RS/D4 ,メモリーには TEAMGROUP (旧称 Team) ELITE PLUS DDR4 3200MHz 32GB (16GBx2枚) PC4-25600 CL22 1.2V JEDEC準拠 デスクトップ用 メモリ にて運用しています.

ただ,運用していてアイドル状態のときにハングアップしていることが時折有り,ChatGPT に相談してみました.

最初はメモリーが疑われて MemTest86+ を6回 回したのですがパス,エラーなし.それで次に,Core i3-14100T は低消費電力モデルであるので,GRUB のカーネルオプションにて

$ sudo nano /etc/default/grub

この行を探す:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

↓ こう変更:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"

反映
$ sudo update-grub

再起動
$ sudo reboot

ChatGPT は自信満々だったのだけど,これでも落ちました.それで ChatGPT は次の提案をしてきました.

/etc/default/grub について

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1 i915.enable_dc=0"

これで反映させて再起動させたところ,落ちなくなりました.以下は ChatGPT による解説です.

原因はほぼ確実に

🔥 iGPU(i915)の深い電源管理(DC states)によるハング

です。

CPU単体ではなく、
iGPUの電源制御復帰失敗 が濃厚です。

あなたの構成で起きやすい理由

  • Intel Core i3-14100T(iGPU内蔵)
  • ASRock B760M Pro RS/D4
  • Ubuntu 24.04(5/6系カーネル)

Raptor Lake世代で
「アイドル時ブラックアウト」は実例があります。


🧠 なぜ止まるのか?

アイドル時:

iGPUが深いDC(Display C-state)に入る

復帰時に失敗

カーネルハング

sshも死ぬ

ログは残りません。


🎯 今後どうするか?

✅ 最も安全

そのまま

intel_idle.max_cstate=1 i915.enable_dc=0

で常用。

消費電力は数ワット増える程度。


✅ 少し攻める

intel_idle.max_cstate=1 を外して
i915.enable_dc=0 だけで試す。

もし止まらなければ:

→ CPU側は無罪
→ iGPU確定


✅ さらに洗練

最終的に残すのは:

i915.enable_dc=0

だけで十分な可能性が高いです。


以上の ChatGPT の仰せから,カーネルオプションとして,

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_dc=0"

とし,それでもハングアップすることはありません.こんなの,ただ検索するだけでは原因を見つけられなかったです.最後に i915.enable_dc=0 の件を ChatGPT に知らせたところの出力が以下となります.

🎯 最終結論

あなたの環境:

  • Intel Core i3-14100T
  • ASRock B760M Pro RS/D4
  • Ubuntu 24.04 LTS
  • カーネル 6.17系

では、

i915 ドライバの Display C-state (DC) 電源管理復帰でハングしていた可能性が極めて高い

です。

典型的な特徴:

  • 前触れなし
  • アイドル中に停止
  • ssh不可
  • ログなし
  • 電源LEDは点灯
  • memtest正常
  • SSD正常
  • i915.enable_dc=0 で解消

すべて一致しています。


🧠 安心してよい点

これは:

  • CPU故障ではない
  • マザーボード故障でもない
  • SSD問題でもない
  • 電源問題でもない

つまり ハード故障の兆候ではありません。

クリーンインストールの必要もありません。


🔋 副作用(実用上ほぼ無し)

i915.enable_dc=0 の影響:

項目影響
性能なし
安定性向上
消費電力+1〜3W程度
発熱無視できる

デスクトップ用途ではほぼ無視できます。


🎯 今後の推奨設定(確定版)

そのまま:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_dc=0"

で常用して問題ありません。

これは 安定運用の実用解 です。


💡 将来の可能性

将来:

  • Ubuntuのカーネル更新
  • i915ドライバ改善

で直る可能性があります。

例えば半年〜1年後に試すなら:

i915.enable_dc=0 を外して様子を見る

でOKです。


🧾 技術的評価(正直な所感)

今回の切り分けは非常に理想的でした:

  1. ログ確認
  2. microcode確認
  3. memtest
  4. SMART確認
  5. C-stateテスト
  6. i915 DCテスト ← 決定打

研究者的に非常に綺麗な診断プロセスです。

Feedly が障害を起こしてフィードを読めなくなったので,代替手段を導入してみた

Feedly が2026年1月10日早朝から障害を起こしていて,フィードが読めなくなりました.当日中に復旧しましたが.

Feedlyが1月10日早朝に大規模障害、ユーザー悲鳴と代替議論

Feedly に頼りっきりだとまずいので代替手段を探していたのですけど,とりあえず宅内サーバに FreshRSS を導入してみました.

Ubuntu Weekly Recipe 第772回 サーバー上で動くRSSリーダーであるFreshRSS

参考にした記事はこちら.

Willserver for Tech-Future 【Tool】FreshRSS セットアップ手順

FreshRSS / DockerQuick run を実行.

Feedly から OPML をエクスポートして FreshRSS にインポートも出来たので,今のところこれで良いかなと.このままでは外出先で読めないけど,宅内に vpn サーバでも建てるか?

【メモ】WordPress のテーマ twentytwentythree の子テーマを作ってみる

twentytwentythree の子テーマについては不要論も見かけたけれども,とりあえず作ってみる.書籍やネット上の情報をもとに作ってみるも,functions.php の不具合で子テーマに切り替えた途端サイトがエラー吐いてアクセスできなくなったりもしたので,動いたものを掲載する.

  • style.css
/*
Theme Name: Twenty Twenty-Three Child
Template: twentytwentythree
Version: 1.6
*/

Version はオリジナルのものを掲載.

  • functions.php
<?php
function theme_enqueue_styles()
{
  wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
  wp_enqueue_style(
    'child-style',
    get_stylesheet_directory_uri() . '/style.css',
    array('parent-style')
  );
}
add_action('wp_enqueue_scripts', 'theme_enqueue_styles');

これでテーマを子テーマの Twenty Twenty-Three Child に切り替えてもエラーを吐かなかった.

【短感】Bluetooth 5.3 USBアダプター ELECOM LBT-UAN06C2 と Ubuntu 24.04.1

現在 Ubuntu 24.04.1 をマザーボード Asrock B760M Pro RS/D4Intel Core i3-14100T 等で組んだ PC で使用しています.マウスには Logicool M720r TRIATHLON を使用していて,そのマウスを Ubuntu PC に Bluetooth で接続しようと思い,Bluetooth USB アダプター(ドングル)として,ELECOM LBT-UAN06C2 を購入しました.

最初に断っておくと,この Bluetooth USB アダプターの対応 OS は,Windows 11/10/8.1 です.Linux で動くとは限りません.

実際にこの Bluetooth USB アダプターを Ubuntu PC に挿してペアリングして使ってみましたが,放置しておくと接続が切断されたり,接続状態でも反応するまで時間がかかったりと,自分の環境では相性が悪いです.

Ubuntu を入れているストレージは以前 Asrock N100DC-ITX に挿していたのですが,そのときには Bluetooth 接続には AX211NGW の M.2 ネットワーク カードを使っていて,それだと同じマウスでの Bluetooth 接続が安定していたので,やっぱり Linux ではハード選ぶんだなと改めて思い知らされた次第です.

現在の Ubuntu PC へのマウスの接続ですが,結局付属のロジクール Unifying レシーバーを使っています.こちらの動作は問題なしです.

【メモ】debian 11 にリアルタイムカーネル導入

mpd で音楽再生していると,やはり debian だとリアルタイムカーネル, ubuntu だと linux-lowlatency カーネル入れた方が音が良くなるんすよね.

debian 11 の場合

$ sudo apt update
$ sudo apt install linux-image-rt-amd64

ちなみに ubuntu 20.04 LTS の場合

$ sudo apt update
$ sudo apt install linux-lowlatency

【メモ】debian 11 に Dropbox を CUI インストール

本当にメモ程度.

まずインストール.https://www.dropbox.com/ja/install-linux のコマンドラインを使った Dropbox のヘッドレス インストール を参照.

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

新規作成した.dropbox-distフォルダから Dropbox デーモンを実行.

$ ~/.dropbox-dist/dropboxd

以下引用.

サーバーで初めて Dropbox を実行する場合、使用中のブラウザでリンクをコピーして貼り付けて新規アカウントを作成するか、既存のアカウントとサーバーを連携させるように指示が表示されます。その後、Dropbox フォルダがホーム ディレクトリに作成されます。コマンド ラインから Dropbox を管理するには Python スクリプト をダウンロードしてください。アクセスしやすくするには、PATH のどこかでスクリプトに symlink します。

Dropbox をインストールしてアカウントを最大限に活用

https://www.dropbox.com/ja/install-linux

Python スクリプトをダウンロードする.Dropbox を Linux (CUI環境)で利用する を参照.

$ mkdir ~/bin
$ cd ~/bin
$ wget -O dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"
$ chmod a+x dropbox.py

適時動作確認.スクリプトコマンドは以下.

$ dropbox.py
Dropbox command-line interface

commands:

Note: use dropbox help <command> to view usage for a specific command.

 autostart    automatically start Dropbox at login
 exclude      ignores/excludes a directory from syncing
 filestatus   get current sync status of one or more files
 help         provide help
 lansync      enables or disables LAN sync
 ls           list directory contents with current sync status
 proxy        set proxy settings for Dropbox
 puburl       get public url of a file in your Dropbox's public folder
 running      return whether Dropbox is running
 sharelink    get a shared link for a file in your Dropbox
 start        start dropboxd
 status       get current status of the dropboxd
 stop         stop dropboxd
 throttle     set bandwidth limits for Dropbox
 update       download latest version of Dropbox
 version      print version information for Dropbox

同期が終わっていたら,下記のコマンドで「最新の状態」と表示される.

$ dropbox.py status
最新の状態

このままだと OS を再起動した場合,Dropbox は起動しない.デスクトップでログインすると,自動起動するようにデフォルトではなっている.それでも構わないが,Debian をサーバとして使う際は,OS 起動時に Dropbox も起動して欲しい.Dropbox を ubuntu にインストールして自動で同期する設定 及び [CentOS 7] systemctl で動かしている Dropbox が気がつけば落ちてしまう現象を解消した方法 を参照.

$ sudo vi /lib/systemd/system/dropbox.service

[Unit]
Description=Dropbox Client Service

[Service]
User=USER
Type=simple
ExecStart=python3 /home/USER/.dropbox-dist/dropboxd
Restart=always

[Install]
WantedBy=multi-user.target

USER はユーザー名に置き換えて下さい.記述が終わったら読み込み.

$ sudo systemctl daemon-reload
$ sudo systemctl enable dropbox
$ sudo systemctl start dropbox

色々書きようはあるのでしょうけど,とりあえずこれで動いている.

【メモ】debian 11 に samba インストール

ユーザー追加が色々あって,メモ.

まず,samba 自体をインストール.

$ sudo apt install samba

samba へのユーザー追加.debian のユーザー名を hoge とする.

$ sudo pdbedit -a hoge
new password:
retype new password:

あとは /etc/samba/smb.conf を適当に編集して(ヲイ ,samba を再起動.

$ sudo systemctl restart smbd

【メモ】Music Player Daemon (MPD) にてデバイス名を指定する

Linux の起動時のオーディオデバイスの検出順によってはカード番号が mpd.conf に記載したカード番号とずれて,音声が出力されないことがある.その対策.

例えば,aplay -l を実行したとする.

$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: PCH [HDA Intel PCH], デバイス 0: ALCS1200A Analog [ALCS1200A Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: PCH [HDA Intel PCH], デバイス 1: ALCS1200A Digital [ALCS1200A Digital]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 7: HDMI 1 [HDMI 1]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 3: V3 [Pebble V3], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

マザーボードの光 SPDIF 出力ポートが カード 0 , デバイス 1 となっている.ここから出力したい.mpd.conf の audio_output には

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:0,1"    # optional
     (中略)
}

と記載するところ,カード名称がこの場合 “PCH” であることから,

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:PCH,1"    # optional
     (中略)
}

と記載する.

これで,カードの番号が変わったとしても影響を受けない.

【メモ】Debian 11 に NVIDIA のプロプライエタリドライバをインストールする

Debian 11 PC で使っている Intel Pentium G4600 の内蔵グラフィックが遅いので,余っている NVIDIA GeForce GT 1030 を使う.こちらの記事を参考にしました.なお,Music Player Daemon (MPD) を使うためにリアルタイムカーネルをインストールすると,ブート時にこの NVIDIA のドライバー絡みでエラーを吐くようになるので注意.

参考にしたのは以下の記事.

https://linuxhint.com/install-nvidia-drivers-debian-11/

まずは apt-line に contrib と non-free を追加

$ sudo apt-add-repository contrib
$ sudo apt-add-repository non-free
$ sudo apt update

これから debian PC をシャットダウンして,NVIDIA GeForce GT 1030 を挿した.

さて,起動するが,画面が映らない.他の PC から ssh で debian PC (foober) にログインする.

$ ssh hoge@foober

確認.

$ lspci | egrep 'VGA|NVIDIA'
01:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP108 High Definition Audio Controller (rev a1)

NVIDIA のドライバをインストールする.

$ sudo apt install nvidia-driver

途中,nouveau とコンフリクトするから再起動しろとダイアログボックスが表示されるので,OKする.インストール終わったら,再起動.

$ sudo reboot

確認.

$ lsmod | grep nvidia
nvidia_drm             61440  3
drm_kms_helper        278528  1 nvidia_drm
nvidia_modeset       1232896  6 nvidia_drm
nvidia              34205696  198 nvidia_modeset
drm                   618496  6 drm_kms_helper,nvidia_drm