tips:linux:arch:hardware:start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
tips:linux:arch:hardware:start [2025/09/15 14:55] – 作成 asaasatips:linux:arch:hardware:start [2026/07/06 19:29] (現在) – [USBスピーカーの節電対策 (音が序盤欠けるとか短時間音が鳴らないとか)] asaasa
行 1: 行 1:
 ====== ハードウェア別メモ on Arch Linux ====== ====== ハードウェア別メモ on Arch Linux ======
 +
 +===== Windows とのデュアルブート on 実機 =====
 +
 +==== Windows 10/11 で必要な設定 ====
 +
 +LinuxはRTC (EFI/BIOS実機の時刻)をUTC(世界標準時)とみなし、WindowsはRTCをローカル時刻(日本ならJST)とみなすという仕様のズレから、9hrほど時間がずれるので以下のように Windows 側を EFI/BIOS 時刻を UTC とみなすようにする。また、ハイバネーションなどが悪さをすることがあるので無効化する。
 +<code>
 +> reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
 +まざぼの時間をローカルタイムではなくUTCに設定する (後ほど時刻調整必須)
 +> powercfg /h off
 +高速スタートアップとハイバネートの無効化 (後ほどいちどWindowsをシャットダウンして起動しなおすこと)
 +</code>
 +
 +
 +===== サウンドまわり on 実機 =====
 +
 +==== USBスピーカーの節電対策 (音が序盤欠けるとか短時間音が鳴らないとか) ====
 +  * sox コマンドで 1hz の音声を流し続ける (2026/07時点)
 +    * 以下のコマンド ( pacman -S sox でいれておく前提 ) で問題解消を確認すること
 +
 +<code bash>
 +user$ play -q -n repeat - synth sin 1 vol 0.001
 +        #コマンドの意味 //  -q: ログ出力を非表示にします。-n: 入力ファイルなし(生成モード)。synth sin 1: 1Hzのサイン波(無音)を生成します。vol 0.001: 音量を極小にします。
 +        
 +</code>
 +
 +sox コマンドで問題解消されるなら、下記のとおりユーザーサービスを登録してログイン直後から自動で無音に近い「音を流し続ける」状態にもっていく。
 +
 +<code bash>
 +user$ mkdir -p ~/.config/systemd/user
 +user$ nano ~/.config/systemd/user/usb-speaker-keepalive.service
 +</code>
 +<code ini>
 +[Unit]
 +Description=Keep USB Speaker Alive
 +After=pipewire.service wireplumber.service
 +
 +[Service]
 +Type=simple
 +ExecStart=/usr/bin/play -q -n repeat - synth sin 1 vol 0.001
 +Restart=always
 +RestartSec=2
 +
 +[Install]
 +WantedBy=default.target
 +</code>
 +<code bash>
 +user$ systemctl --user daemon-reload
 +user$ systemctl --user enable --now usb-speaker-keepalive.service # 有効化
 +user$ systemctl --user status usb-speaker-keepalive.service       # 状況確認
 +
 +user$ #停止は systemctl --user stop usb-speaker-keepalive.service # で止まる。
 +</code>
 +
 +  * WirePlumberでサスペンドを無効化 する手法 (2026/07時点)
 +    * ただし **安物USBスピーカー** には事実上効かない orz
 +
 +<code bash>
 +user$ sudo mkdir -p /etc/wireplumber/wireplumber.conf.d
 +user$ sudo nano /etc/wireplumber/wireplumber.conf.d/51-disable-suspend.conf
 +</code>
 +
 +<code>
 +monitor.alsa.rules = [
 +  {
 +    matches = [
 +      {
 +        node.name = "~alsa_output.*"
 +      }
 +    ]
 +    actions = {
 +      update-props = {
 +        session.suspend-timeout-seconds = 0
 +      }
 +    }
 +  }
 +]
 +</code>
 +
 +<code bash>
 +user$ systemctl --user restart wireplumber
 +user$ systemctl --user restart pipewire
 +</code>
 +
 +
 +==== サウンドの手動切り替え ====
 +古いゲームとかのサウンド設定は「音量調節」などでは切り替わらないため、起動前に下記コマンドを実施すると良い。(TAB補完 は bash / zsh のタブによる自動補完 )
 +
 +<code bash>
 +user$ pactl set-default-sink alsa_output.usb(タブ補完)
 +</code>
 +
 +
 +===== nVidia なハードウェア方面 =====
 +
 +==== nVidia のユーティリティインストール等 ====
 +
 +<code bash>
 +user$ sudo mkdir /etc/pacman.d/hooks/; sudo touch /etc/pacman.d/hooks/nvidia.hook; sudo nano /etc/pacman.d/hooks/nvidia.hook
 +</code>
 +
 +<file bash nvidia.hook>
 +[Trigger]
 +Operation=Install
 +Operation=Upgrade
 +Operation=Remove
 +Type=Package
 +Target=nvidia
 +Target=linux
 +
 +[Action]
 +Description=Update NVIDIA module in initcpio
 +Depends=mkinitcpio
 +When=PostTransaction
 +NeedsTargets
 +Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
 +</file>
 +
 +<code bash>
 +user$ sudo pacman -S nvidia-dkms nvidia-utils nvidia-settings
 +</code>
 +
 +==== Xfce4でちらつく問題 ====
 +
 +  * これで直ったりすることはある (nvidia ドライバ Ver 依存)
 +
 +<code bash>
 +user$ xfconf-query -c xfwm4 -p /general/use_compositing -s false
 +</code>
 +
 +===== 多ドライブあるPCにおける暗号化の自動解除設定 on 実機/VM =====
 +==== rootパーティション以外を LUKs で暗号化したので自動マウント ====
 +/dev/sde1 にLUKs の暗号化イメージをつくってあるものと仮定。
 +
 +=== キーファイルを /etc 以下につくる ===
 +<code bash>
 +root# dd bs=512 count=4 if=/dev/urandom of=/etc/keyfile_sde1
 +root# chmod 600 /etc/keyfile_sde1
 +root# cryptsetup luksAddKey /dev/sde1 /etc/keyfile_sde1
 +(以下は確認用)
 +root# cryptsetup luksOpen /dev/sde1 cryptdata --key-file /etc/keyfile_sde1
 +</code>
 +
 +=== /etc/crypttab /etc/fstab の2ファイルを編集する ===
 +<code bash>
 +root# vim /etc/crypttab
 +(追記内容)
 +cryptdata /dev/sde1 /etc/keyfile_sde1 luks,timeout=5
 +
 +root# vim /etc/fstab
 +(追記内容)
 +/dev/mapper/cryptdata /opt/cryptdata ext4 defaults 0 2
 +</code>
  
  • tips/linux/arch/hardware/start.1757915702.txt.gz
  • 最終更新: 2025/09/15 14:55
  • by asaasa