Open9

Nvidia系GPUを搭載した Manjaro Linux マシンに Hyprland 導入するメモ

naonao

Hyprland が面白そうだったので試してみる

公式サイトのデモ動画にある通り, i3wm などと似たタイル式のウィンドウマネージャでありながら,リッチなアニメーションで動作して使用感が良さそうだったので試そうとした

naonao

環境について

  • 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 入れるまでの操作とかで扱いやすそうだったため,デスクトップ環境は概ねなんでも良さそう
      • インストール直後にアップデートしている
$ cat /etc/lsb-release
DISTRIB_ID="ManjaroLinux"
DISTRIB_RELEASE="23.0.0"
DISTRIB_CODENAME="Ultima Thule"
DISTRIB_DESCRIPTION="Manjaro Linux"
naonao

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)
naonao

ディスプレイマネージャを wayland で動かす

Hyprland は wayland で動くので,ディスプレイマネージャも wayland で動作させなければログイン画面にセッションとして表示されないはず

今回は GDM でやる (SDDM とか LightDM でもできそう)

Wayland とプロプライエタリな NVIDIA ドライバ
↑参考に GDM で wayland の無効化ルールを停止する

# ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

DRM カーネルモード設定
↑参考にカーネルパラメータに追記する

/etc/default/grub
...
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 にも同じことが大体まとめられている
https://wiki.hyprland.org/Nvidia/

naonao

Hyprland 入れる

nvidia GPU使ってる場合は,非公式パッチの hyprland-nvidia を使う
(wiki にも書いてるが非公式な点には注意)

$ yay -Su hyprland-nvidia
naonao

Hyprland 起動する

公式には ディスプレイマネージャ (SDDM, GDM, etc...) からの起動はあまり推奨されておらず, tty から直接実行したほうがいいと書かれていたけれど,自分は GDM から問題なく起動できた

naonao

解像度がおかしい問題

最初に起動した時,解像度が小さかった

自分が使用しているモニターは 2560x1440 13.3インチ の所謂モバイルモニターだけれど, 1280x720 になっていた

Hyprland デフォルトの設定では,解像度のスケーリングがauto になっており,モニターによっては倍率がかかって表示されるらしい

~/.config/hypr/hyprland.conf
...
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=,preferred,auto,auto
monitor=,preferred,auto,1
...

scale の auto を1に変更することで解消した

naonao

日本語入力

普段は Manjaro Hello から入れられる Manjaro Asian Input Support Fcitx で入る fcitx を使用していたが, Hyprland (wayland?) では動かないっぽいので Fcitx5 を入れる

https://wiki.archlinux.jp/index.php/Fcitx5

~/.bash_profile
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

Hyprland 起動時に fcitx を自動実行するようにする

~/.config/hypr/hyprland.conf
...
# Execute your favorite apps at launch
exec-once = fcitx5
...

これで日本語入力ができるようになった