fedora40にアップグレードしたら黒い画面にカーソルが表示されるだけになった

fedora38を順番にアップグレードして40にしました。39へのアップグレードは何事もなく成功しましたが、40にアップグレードした途端、起動後に画面が黒いままカーソルだけが表示されるだけの状態となってしまいました。
ウィンドウシステムがX11からWaylandに移行したのが原因のようです。waylandになるって頭には入れていたけど、そっかー♨って感じでしたw

えらいこっちゃ!何とかしないと

grubでCUIで起動するように設定する

何かあってもCUI起動できればいいし、なんとかなるって思ってたんだけど、Ctrl+Alt+f2を押しても切り替わらなくて滝汗でした🥺(っていうか切り替えにはCtrl押さなくてもAlt+f2で良さそうなことに気づきました…)

どうにかCUIに切り替えたいけど、どうすればいいんでしょう。いつもはOSが立ち上がってからの切り替えだったので、今は出来ないんだからそれよりも前に切り替える必要がある。

ということで、ブートローダgrubで起動方法が指定できるようなのでやってみます。

起動時にfedoraを選択する画面(ブートメニュー)でeキーを押して、ブートオプションを編集できる画面を開きます。

kernel-parameter-edit

linuxから始まる行でrhgbとquietを削除してそこに3を追記(画像の3の横にあるアンスコはカーソルです😅)

これでCtrl+xを押して起動します。

kernel-parameter-edit

これでCUIでログインできます。

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

redditのFedoraのアカウントの過去のアナウンスで、RPM Fusion Nonfreeのレポジトリにnvidiaのドライバが登録されていることを知ったので試してみます。これまではnvidiaのサイトからせっせとダウンロードしていたのでありがたいです。

📕Nvidia drivers 555.58.02 finally hit RPM Fusion Nonfree updates repo. : r/Fedora

sudo dnf install akmod-nvidia

インストールして少し待っているとログがずらずら〜っと出てきて、勝手に適用されます。
この時点でGUIに切り替わるはずです。

終わったら、以下のコマンドできちんとインストールされたか確認します。

modinfo -F version nvidia

採用してるウィンドウシステムの確認

一応X11じゃなくてwaylandになってるよね?という確認です。

check

解像度を直す

画面が表示されるようになったのは良かったのですが、何故か解像度が600x800に固定されるようになってしまいました。デュアルディスプレイにしてるのに、2つ目のディスプレイ(液タブ)が検出されません。

こちらの方の投稿で解決しました。drmカーネルモード設定というやつを有効にしないといけないようです。

[SOLVED] External monitor not detected under Wayland (KDE Plasma) / Newbie Corner / Arch Linux Forums

plasmaのwaylandのサポートを有効にする節を読む必要があったのですね。やっぱり困ったらちゃんと本家を読んだほうがいい。

それで、これはどこに設定すれば良いのかというと、grubの設定ファイルで、GRUB_CMDLINE_LINUXの値にnvidia-drm.modeset=1を追加すればオッケーです。

この設定は、さっきブートメニューでeキーを押して入ったブートオプションの編集画面でも見れます。

設定ファイルが

sudo vim /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

編集できたらこの設定を以下の画像のようにして有効にします。

grub-config

終わったら再起動します。正しい解像度になって起動されます。

ディスプレイの優先順位や配置がめちゃくちゃになっているのでセッティングメニューのディスプレイ設定を開いて設定し直します。

設定を開くとunknown-1という800x600の謎ディスプレイがあるので、これを削除しました。「使用する」のチェックを外すと消えます。

display-setting-remove

私の場合はHPのディスプレイがメインなので、こちらをプライマリに設定しました。
2枚のディスプレイはドラッグして縦に配置して完了です。

primary

これでやっともとに戻りました!

ネットワークに接続できない

再起動するたびにインターネットに接続出来たりできなかったり。アップデートしたら直りました。

ibusの設定をする

文字入力しようとする度にwaylandの構成の場合の設定をしろという旨のポップアップが出てくる。

まずはポップアップの指示通りに環境変数を空にしてみた。
.bashrcを開いて、QT_IM_MODULEとGTK_IM_MODULEの値を空にします。
それから、ibus-daemonのコマンドを発行している行を削除して、代わりにibus restartと追記。

$ vim .bashrc


export QT_IM_MODULE=
export GTK_IM_MODULE=

ibus restart

保存したら再起動します。

おそらくこれで直っているはずですが、念の為にキーボード設定でもwaylandを指定しておきます。

ibus-info-1

Changes/IBus 1.5.30 - Fedora Project Wiki

pythonのパッケージをアップデートする

pythonで作ったvimの自作プラグインが動かなくなっちゃいました🥺
ブログはいつもマークダウンで書いているのですが、それをhtmlに変換して画像は圧縮して良い感じのサイズに揃えてアップロードするプラグインです。

めちゃくちゃ便利だから使えないと困るよー😭

以下の2つのパッケージをアップデートして解決です。なんかまだ調子悪そうな部分があるけれど、ブログ用のプラグインは動いてるからまぁ今のところは大丈夫かな。

pythonほんと嫌い。pipとかエレキ版なの?

pip install --upgrade google-api-python-client
pip install --upgrade google-auth-oauthlib

とりあえず

このくらい修正すればなんとか前と同じくらいには使えるようになった気がします。まだちょっと変な動作をすることがあるので追って直していきたいです。

vimでのキー移動がなんかおかしくない?気になる…🥺

あと、何かのきっかけで、↑キー入力が何秒か入ることがある。意味がわからない。