Nvidia系GPUを搭載した Manjaro Linux マシンに Hyprland 導入するメモ
環境について
- CPU
- Intel i7-9700K
- GPU
- RTX 3070
- RTX 2070
- (2つ搭載しているが,基本的には 3070 のみ使用,2070 は Blender などCG系ソフト用)
- OS
- Manjaro Linux
- はじめに入れたのは
manjaro-gnome-22.1.3-230529-linux61.iso
- GNOME 入れたのは hyprland 入れるまでの操作とかで扱いやすそうだったため,デスクトップ環境は概ねなんでも良さそう
- インストール直後にアップデートしている
- はじめに入れたのは
- Manjaro Linux
$ cat /etc/lsb-release
DISTRIB_ID="ManjaroLinux"
DISTRIB_RELEASE="23.0.0"
DISTRIB_CODENAME="Ultima Thule"
DISTRIB_DESCRIPTION="Manjaro Linux"
Nvidia ドライバについて
Manjaro Linux インストール時に open source driver
/ proprietary driver
から選べるが, proprietary driver
を選ぶ
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 535.54.03 Tue Jun 6 22:20:39 UTC 2023
GCC version: gcc version 13.1.1 20230429 (GCC)
ディスプレイマネージャを wayland で動かす
Hyprland は wayland で動くので,ディスプレイマネージャも wayland で動作させなければログイン画面にセッションとして表示されないはず
今回は GDM でやる (SDDM とか LightDM でもできそう)
Wayland とプロプライエタリな NVIDIA ドライバ
↑参考に GDM で wayland の無効化ルールを停止する
# ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
DRM カーネルモード設定
↑参考にカーネルパラメータに追記する
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor udev.log_priority=3 nvidia_drm.modeset=1"
...
GRUB_CMDLINE_LINUX_DEFAULT
の末尾に追加してあげればいいはず
その後, grub の更新をする
# grub-mkconfig -o /boot/grub/grub.cfg
これで再起動すると,wayland が使用され, 既存の GNOME セッションなども X11 / wayland の療法が表示されるようになった
Hyprland の公式wiki にも同じことが大体まとめられている
Hyprland 入れる
nvidia GPU使ってる場合は,非公式パッチの hyprland-nvidia
を使う
(wiki にも書いてるが非公式な点には注意)
$ yay -Su hyprland-nvidia
Hyprland 起動する
公式には ディスプレイマネージャ (SDDM, GDM, etc...) からの起動はあまり推奨されておらず, tty から直接実行したほうがいいと書かれていたけれど,自分は GDM から問題なく起動できた
解像度がおかしい問題
最初に起動した時,解像度が小さかった
自分が使用しているモニターは 2560x1440
13.3インチ
の所謂モバイルモニターだけれど, 1280x720
になっていた
Hyprland デフォルトの設定では,解像度のスケーリングがauto になっており,モニターによっては倍率がかかって表示されるらしい
...
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=,preferred,auto,auto
monitor=,preferred,auto,1
...
scale の auto を1に変更することで解消した
日本語入力
普段は Manjaro Hello から入れられる Manjaro Asian Input Support Fcitx
で入る fcitx
を使用していたが, Hyprland (wayland?) では動かないっぽいので Fcitx5 を入れる
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
Hyprland 起動時に fcitx を自動実行するようにする
...
# Execute your favorite apps at launch
exec-once = fcitx5
...
これで日本語入力ができるようになった
マウスカーソルが表示されない問題
ここに書いてある
環境変数にWLR_NO_HARDWARE_CURSORS=1
を追加する
/etc/environment
に書いたが,これも .profile 以下でもいいかも (未確認)