Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

Fedora 32 GNOME をUSBメモリにインストール、GPU を無効化〈H89〉

登録日: 2020-09-17 更新日: 2020-09-27

以前、「Fedora Workstation 32」の「GNOME 」および「Cinnamon 」 をインストールしたのですが、自分のPC だと問題があり、カーネルを 5.7 や 5.8 に更新するとデスクトップの描画がおかしくなり使えなくなりました。

いろいろと調べた結果、自分のPC だと、「ハードウェアアクセラレーション(GPU の使用)を無効にする」と使えそうです。デスクトップ操作できるようになるか確認しました。

-

Fedora Workstation 32」(GNOME) の確認のために、高速ではない別のUSB メモリにインストールしました。とても「遅い」です。ライブUSB として使うには支障がないので書き込みが遅いと思います。このUSB メモリだと運用での使用は無理みたい。

-

「目次」

-

Fedora 32 (GNOME クラシック) のデスクトップ画面:

Fedora のセッションの中で一番、軽量なのが利点。今回はUSB メモリが「遅い」ので、この画面がメイン使用になりました。 また、デフォルトのWayland でなくX11 で動くので問題が少ないと思われます。

セッションの切り替えは、ログイン画面でEnter キーを押してパスワード入力画面にすると右下に丸いアイコンが表示されるのでクリックして選択します。

-

パネルをALT+右クリックしてもプロパティが表示されません。ロックされています。なので、カスタマイズできるのは、壁紙の入れ替えくらいです。

アプリをお気に入りに登録するには、GNOME セッションを使って登録する必要があります。下のパネルを自動で隠す機能もありません。制限が多いけど、メニューの頭に「お気に入り」があるし、その隣に「場所」メニューがあるので、使いやすいです。仮想画面も4つあります。

-

自分のPC の仕様:

Intel HD Graphics(HSW GT1)

-


1. USB メモリにインストール

インストールして、最初にデスクトップが立ち上がるまでの手順は、下記を参照:

(1) ダウンロードはこちら:

-

(2) インストールはこちら:

-

(3) デスクトップ画面が立ち上がり、「初めて使う方へ」(GNOME ヘルプ)が表示

→アップデートに失敗したメッセージが表示されています。(後で記述

-

残すべき、安定動作しているカーネル:
$ uname -r
5.6.6-300.fc32.x86_64

→システム更新前のインストール直後のカーネルです。どのセッションも正常に使えます。

-

2. システム更新の前に、立ち上げ時のメニューの保持数を増やしました:

  • カーネル更新がやたら多いので、安定に動くカーネルの選択メニューが(デフォルトだとカーネル更新が3つあると)すぐに消えてしまいます。その対策です。
$ sudo nano /etc/dnf/dnf.conf

下記の行を修正:

installonly_limit=3

↓ 数字を増やします:

installonly_limit=10

Ctrl+O 保存、 Ctrl+X 閉じる

-

再起動

-

3. 最初のシステム更新、時間かかりすぎ…

公開から時間が経っており、USB メモリが「遅い」こともあって、USB メモリにインストールした後の、システム更新が「1日半」(30時間弱)もかかりました。その間、パソコンをさわれませんでした。

書き込みの速いUSB メモリならばどうなるか手持ちで調べたら、60件で60分が、高速なUSB メモリにすると5分。つまり、30時間かかるのが 2.5時間で終わる計算。時は金なりでした。

-

インストール先に使うなら、書き込み速度の高速なUSB メモリが欲しいところ。 ちなみに商品パッケージに書かれた高速といううたい文句は読取り速度のことがほとんどみたい。速くても寿命が短いのもあるし、たぶん「Ready Boost」に対応しているぐらいの性能は必要。

-

インストール直後のカーネル:

$ uname -r
5.6.6-300.fc32.x86_64

-

システム更新を実行:

2020-09-14 11:30 〜

$ sudo dnf update
:
インストール:
 kernel                            x86_64 5.8.7-200.fc32          updates  25 k
 kernel-modules                    x86_64 5.8.7-200.fc32          updates  30 M
 kernel-modules-extra              x86_64 5.8.7-200.fc32          updates 2.0 M
 アップグレード:
:
トランザクションの概要
================================================================================
インストール     22 パッケージ
アップグレード  708 パッケージ

ダウンロードサイズの合計: 1.1 G
これでよろしいですか? [y/N]: y

730 件のダウンロード処理が終わった後、1439 件のアップグレード処理がありました。

17:40 の時点で 287/1439 の処理中です。 その後、整理、検証、となりました。

完了メッセージからの抜粋:

:
アップグレード済み:
  LibRaw-0.19.5-4.fc32.x86_64                                                   
  NetworkManager-1:1.22.16-1.fc32.x86_64                                        
:                                 
  gnome-abrt-1.3.5-1.fc32.x86_64                                                
  gnome-boxes-3.36.6-1.fc32.x86_64                                              
  gnome-calendar-3.36.2-1.fc32.x86_64                                           
  gnome-classic-session-3.36.3-1.fc32.noarch                                    
  gnome-clocks-3.36.2-1.fc32.x86_64                                             
  gnome-contacts-3.36.2-1.fc32.x86_64                                           
  gnome-control-center-3.36.4-1.fc32.x86_64                                     
  gnome-control-center-filesystem-3.36.4-1.fc32.noarch                          
  gnome-desktop3-3.36.6-1.fc32.x86_64                                           
  gnome-disk-utility-3.36.3-1.fc32.x86_64                                       
  gnome-getting-started-docs-3.36.2-1.fc32.noarch                               
  gnome-initial-setup-3.36.4-1.fc32.x86_64                                      
  gnome-logs-3.36.0-1.fc32.x86_64                                               
  gnome-maps-3.36.4-1.fc32.x86_64                                               
  gnome-photos-3.34.2-1.fc32.x86_64                                             
  gnome-remote-desktop-0.1.8-2.fc32.x86_64                                      
  gnome-settings-daemon-3.36.1-1.fc32.x86_64                                    
  gnome-shell-3.36.6-1.fc32.x86_64                                              
  gnome-shell-extension-apps-menu-3.36.3-1.fc32.noarch                          
  gnome-shell-extension-common-3.36.3-1.fc32.noarch                             
  gnome-shell-extension-horizontal-workspaces-3.36.3-1.fc32.noarch              
  gnome-shell-extension-launch-new-instance-3.36.3-1.fc32.noarch                
  gnome-shell-extension-places-menu-3.36.3-1.fc32.noarch                        
  gnome-shell-extension-window-list-3.36.3-1.fc32.noarch                        
  gnome-software-3.36.1-2.fc32.x86_64                                           
  gnome-system-monitor-3.36.1-1.fc32.x86_64                                     
  gnome-user-docs-3.36.2-1.fc32.noarch                                          
:                   
  grub2-common-1:2.04-21.fc32.noarch                                            
  grub2-efi-ia32-1:2.04-21.fc32.x86_64                                          
  grub2-efi-ia32-cdboot-1:2.04-21.fc32.x86_64                                   
  grub2-efi-x64-1:2.04-21.fc32.x86_64                                           
  grub2-efi-x64-cdboot-1:2.04-21.fc32.x86_64                                    
  grub2-pc-1:2.04-21.fc32.x86_64                                                
  grub2-pc-modules-1:2.04-21.fc32.noarch                                        
  grub2-tools-1:2.04-21.fc32.x86_64                                             
  grub2-tools-efi-1:2.04-21.fc32.x86_64                                         
  grub2-tools-extra-1:2.04-21.fc32.x86_64                                       
  grub2-tools-minimal-1:2.04-21.fc32.x86_64                                     
:                                      
  ibus-1.5.22-7.fc32.x86_64                                                     
  ibus-gtk2-1.5.22-7.fc32.x86_64                                                
  ibus-gtk3-1.5.22-7.fc32.x86_64                                                
  ibus-hangul-1.5.4-1.fc32.x86_64                                               
  ibus-libs-1.5.22-7.fc32.x86_64                                                
  ibus-m17n-1.4.3-1.fc32.x86_64                                                 
  ibus-setup-1.5.22-7.fc32.noarch                                               
  ibus-typing-booster-2.9.7-1.fc32.noarch                                       
:                              
  iwl100-firmware-39.31.5.1-111.fc32.noarch                                     
  iwl1000-firmware-1:39.31.5.1-111.fc32.noarch                                  
  iwl105-firmware-18.168.6.1-111.fc32.noarch                                    
  iwl135-firmware-18.168.6.1-111.fc32.noarch                                    
  iwl2000-firmware-18.168.6.1-111.fc32.noarch                                   
  iwl2030-firmware-18.168.6.1-111.fc32.noarch                                   
  iwl3160-firmware-1:25.30.13.0-111.fc32.noarch                                 
  iwl3945-firmware-15.32.2.9-111.fc32.noarch                                    
  iwl4965-firmware-228.61.2.24-111.fc32.noarch                                  
  iwl5000-firmware-8.83.5.1_1-111.fc32.noarch                                   
  iwl5150-firmware-8.24.2.2-111.fc32.noarch                                     
  iwl6000-firmware-9.221.4.1-111.fc32.noarch                                    
  iwl6000g2a-firmware-18.168.6.1-111.fc32.noarch                                
  iwl6000g2b-firmware-18.168.6.1-111.fc32.noarch                                
  iwl6050-firmware-41.28.5.1-111.fc32.noarch                                    
  iwl7260-firmware-1:25.30.13.0-111.fc32.noarch                                 
: 省略

  qt5-qtbase-5.14.2-5.fc32.x86_64                                               
  qt5-qtbase-common-5.14.2-5.fc32.noarch                                        
  qt5-qtbase-gui-5.14.2-5.fc32.x86_64                                           
  qt5-qtdeclarative-5.14.2-1.fc32.x86_64                                        
  qt5-qtwayland-5.14.2-4.fc32.x86_64                                            
  qt5-qtx11extras-5.14.2-1.fc32.x86_64                                          
  qt5-qtxmlpatterns-5.14.2-1.fc32.x86_64                                        
:                    

インストール済み:
  catatonit-0.1.5-1.fc32.x86_64                                                 
  dbus-x11-1:1.12.20-1.fc32.x86_64                                              
  fips-mode-setup-20200619-1.git781bbd4.fc32.noarch                             
  kernel-5.8.7-200.fc32.x86_64                                                  
  kernel-core-5.8.7-200.fc32.x86_64                                             
  kernel-modules-5.8.7-200.fc32.x86_64                                          
  kernel-modules-extra-5.8.7-200.fc32.x86_64                                    
  libappindicator-gtk3-12.10.0-28.fc32.x86_64                                   
  libdbusmenu-16.04.0-15.fc32.x86_64                                            
  libdbusmenu-gtk3-16.04.0-15.fc32.x86_64                                       
  libindicator-gtk3-12.10.1-17.fc32.x86_64                                      
  libjcat-0.1.2-2.fc32.x86_64                                                   
  libpasswdqc-1.4.0-1.fc32.x86_64                                               
  libsane-airscan-0.99.16-1.fc32.x86_64                                         
  libvirt-daemon-config-network-6.1.0-4.fc32.x86_64                             
  libwpe-1.6.0-1.fc32.x86_64                                                    
  pam_passwdqc-1.4.0-1.fc32.x86_64                                              
  passwdqc-utils-1.4.0-1.fc32.x86_64                                            
  python3-beautifulsoup4-4.9.1-1.fc32.noarch                                    
  python3-lxml-4.4.1-4.fc32.x86_64                                              
  python3-soupsieve-1.9.2-4.fc32.noarch                                         
  wpebackend-fdo-1.6.0-1.fc32.x86_64                                            

完了しました!

$ date
2020年  9月 15日 火曜日 16:08:22 JST

→終わったのは、翌日の夕方でした。

-

4. 再起動時の立ち上げを、設定で確認:

$ sudo ls /boot/loader/entries/
b090d22f3fd94f4fb84b0f617943c521-0-rescue.conf
b090d22f3fd94f4fb84b0f617943c521-5.6.6-300.fc32.x86_64.conf
b090d22f3fd94f4fb84b0f617943c521-5.8.7-200.fc32.x86_64.conf

-

$ sudo cat /boot/grub2/grubenv
# GRUB Environment Block
saved_entry=b090d22f3fd94f4fb84b0f617943c521-5.8.7-200.fc32.x86_64
boot_success=1
menu_auto_hide=1
kernelopts=root=UUID=fa4d5030-9003-4654-9204-f6a24e19c30d ro rhgb quiet 
boot_indeterminate=0
######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

→ポイントは、「カーネル選択メニューが表示されない」設定になっていたことです。Fedora も非表示がデフォルトになりそうです。(新規インストールしたときの話で、すでにインストール済みのシステムだと、今までの設定が引き継がれるみたい)

個人的には、カーネル更新が多くてリスクのあるFedora には、カーネル選択メニューが必要だと思います。

-

5. 立ち上げ時に、「カーネル選択メニュー」を表示する設定にしました:

  • 今回の更新により、「カーネル選択メニューが表示されない」設定になりました。 こちらのPC だとカーネルが切り替えできないと致命的で、デスクトップ操作できなくなります。
$ sudo nano /boot/grub2/grubenv

下記の行を削除:

menu_auto_hide=1

Ctrl+O 保存、 Ctrl+X 閉じる

-

今回は、自動でカーネル「5.8.7-200」で立ち上がります。今までの経験から「GNOME クラッシック」(X11)でも動かないと思われます。

→やっぱり、デスクトップ操作や、メニュー表示、アプリの起動とかできません。キーボードがしばらくしないと入力できないとかもあって、使える状態ではありません。

-


6. ハードウェアアクセラレーションを無効に設定:

参考:

Arch wiki (Intel Graphics)

カーネル「5.6.6-300」で立ち上げて、「GNOME クラッシック」で作業しました。

-


設定ファイル(2つの案)の準備:

$ ls /etc/X11/xorg.conf.d/
00-keyboard.conf

$ ls -1 ~/ドキュメント/
20-intel.conf
20-intel.conf-2

案1. Intel(i915 DRM)ドライバで ハードウェアアクセラレーション(GPU の使用)を無効にする:
$ cat ~/ドキュメント/20-intel.conf-1

Section "Device"
   Identifier "Intel Graphics"
   Driver "intel"
   Option "NoAccel" "True"
EndSection

-


案2. Intel ドライバで 3D アクセラレーションだけを無効にする:
$ cat ~/ドキュメント/20-intel.conf-2

Section "Device"
   Identifier "Intel Graphics"
   Driver "intel"
   Option "DRI" "False"
EndSection

-


案1 に設定してみる:

$ sudo cp ~/ドキュメント/20-intel.conf-1 /etc/X11/xorg.conf.d/20-intel.conf

再起動

レンダリングの確認:

$ glxinfo | grep renderer
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics (HSW GT1)

GNOME Shell は、OpenGL を使ってレンダリングしており、こちらだとハードウェアレンダリングの指定がされたままです。

ログの確認:

$ dmesg | grep i915
[    4.752880] i915 0000:00:02.0: vgaarb: deactivate vga console
[    4.753008] i915 0000:00:02.0: Invalid PCI ROM data signature: expecting 0x52494350, got 0xe938aa55
[    4.753011] i915 0000:00:02.0: [drm] Failed to find VBIOS tables (VBT)
[    4.753020] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    4.786270] [drm] Initialized i915 1.6.0 20200515 for 0000:00:02.0 on minor 0
[    4.903285] fbcon: i915drmfb (fb0) is primary device
[    4.903307] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[   16.255811] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

[ 1499.977845] i915 0000:00:02.0: [drm] GPU HANG: ecode 7:1:8edcfc79
[ 1499.977848] Please see https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs for details.
[ 1499.977849] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
[ 1499.984249] i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on rcs0
[ 1502.985826] i915 0000:00:02.0: [drm] GPU HANG: ecode 7:1:8edcfc79
[ 1502.985922] i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on rcs0

→i915 ドライバーで「 [drm] GPU HANG: ecode 7:1:8edcfc79」のエラーがあり、不具合報告を参照しなさいと通知されてます。 この件は別のディストリビューションで「drm/i915」開発者あての不具合報告がありました。

ただし、エラーは出るけど、案2 よりも軽いようです。

-


案2 に設定してみる:

$ sudo cp ~/ドキュメント/20-intel.conf-2 /etc/X11/xorg.conf.d/20-intel.conf

再起動

レンダリングの確認:

$ glxinfo | grep renderer
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: llvmpipe (LLVM 10.0.1, 128 bits)

→ハードウェアレンダリングの指定が解除されているので、llvmpipe ドライバーによって提供されるソフトウェアレンダリングが使われています。 そのせいか、ログイン画面が出るまで、ログインしてからデスクトップ画面が出るまでが長いです。

ログの確認:

$ dmesg | grep i915
[    4.990731] i915 0000:00:02.0: vgaarb: deactivate vga console
[    4.990865] i915 0000:00:02.0: Invalid PCI ROM data signature: expecting 0x52494350, got 0xe938aa55
[    4.990868] i915 0000:00:02.0: [drm] Failed to find VBIOS tables (VBT)
[    4.990878] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    5.027626] [drm] Initialized i915 1.6.0 20200515 for 0000:00:02.0 on minor 0
[    5.144136] fbcon: i915drmfb (fb0) is primary device
[    5.144150] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[   20.009930] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

→ちゃんと初期化されています。

エラーは出ないけど、重いです。

-


7. エラーは出るけど、軽い「案1」に設定しました

-


8. カーネル更新「5.8.8-200」が来ました:

$ uname -r
5.8.7-200.fc32.x86_64

$ sudo dnf update
:
インストール済み:
  kernel-5.8.8-200.fc32.x86_64
  kernel-core-5.8.8-200.fc32.x86_64
  kernel-modules-5.8.8-200.fc32.x86_64
  kernel-modules-extra-5.8.8-200.fc32.x86_64

再起動

GNOME」セッションでログイン

-

「5.8.8-200」でデスクトップの操作ができます

$ uname -r
5.8.8-200.fc32.x86_64

→重かった 5.8.7-200 よりも軽くなった印象。

-


9. さらに、カーネル更新「5.8.9-200」が来ました:

$ sudo dnf update
:
インストール済み:
  kernel-5.8.9-200.fc32.x86_64
  kernel-core-5.8.9-200.fc32.x86_64
  kernel-modules-5.8.9-200.fc32.x86_64
  kernel-modules-extra-5.8.9-200.fc32.x86_64

再起動

GNOME」セッションでログイン

-


10. しばらくして「アップデートに失敗しました」と表示

パッケージマネージャーからのエラーの詳細:

org.freedesktop.fwupd を StartServiceByName で呼び出すときにエラーが発生しました: タイムアウトしました

→fwupdate は、UEFI BIOS をアップデートするためのデーモンです。サービスを開始しようとしたら、レガシーBIOS だったので、エラーしています。 UEFI が前提、ということですね。

$ dnf search fwupd
:
fwupd.x86_64 : Firmware update daemon

→毎回立ち上げでエラーするので、削除してもよさそう。 バッサリでも良さそうだけど、サービスを停止してから削除がいいのかな。

$ sudo systemctl stop fwupd.service
$ sudo systemctl disable fwupd.service

→メッセージなし。

-

削除してみる:

$ sudo dnf remove fwupd
:
削除中:
 fwupd                x86_64       1.4.5-3.fc32           @updates        6.4 M
依存関係パッケージの削除:
 gnome-software       x86_64       3.36.1-2.fc32          @updates         20 M
未使用の依存関係の削除:
 appstream-data       noarch       32-8.fc32              @updates         18 M
 flashrom             x86_64       1.2-2.fc32             @anaconda       1.9 M
 libftdi              x86_64       1.4-2.fc32             @anaconda       106 k
 libgcab1             x86_64       1.4-2.fc32             @anaconda       211 k
 libjcat              x86_64       0.1.2-2.fc32           @updates        182 k
 libsmbios            x86_64       2.4.2-7.fc32           @anaconda       378 k
 libxmlb              x86_64       0.1.14-2.fc32          @anaconda       247 k

→「gnome-software」(ソフトウェアセンター)が削除されましたが、影響は?

設定→「このシステムについて」において

「アップデートの確認」の項目がありません。GUI でのアプリのインストールとか、アップデートの通知がされなくなりますが、コマンドで実行しているので個人的には支障なし。支障がある人は削除しない方がいいです。

-

もう一度、「gnome-software」のインストールしようとすると:

$ sudo dnf install gnome-software
:
インストール:
 gnome-software        x86_64        3.36.1-2.fc32         updates        9.9 M
依存関係のインストール:
 appstream-data        noarch        32-8.fc32             updates         17 M
 flashrom              x86_64        1.2-2.fc32            fedora         338 k
 fwupd                 x86_64        1.4.5-3.fc32          updates        2.8 M
 libftdi               x86_64        1.4-2.fc32            fedora          49 k
 libgcab1              x86_64        1.4-2.fc32            fedora          82 k
 libjcat               x86_64        0.1.2-2.fc32          updates         69 k
 libsmbios             x86_64        2.4.2-7.fc32          fedora          94 k
 libxmlb               x86_64        0.1.14-2.fc32         fedora          97 k

これでよろしいですか? [y/N]: N

→「gnome-software」をインストールすると、紐づいており、fwupd が元に戻ってしまいます。 システムの負荷が減るので、削除したままで様子を見てみます。支障があったらインストール。

-


11. 日本語入力の設定:

  • 「日本語(かな漢字)」(ibus-kkc)

-

IME オン/オフを「半角/全角」キーに割り当て

右上の電源ボタン →設定→「設定」画面 →「キーボードショートカット」タブ

タイピング

次の入力ソースへ切り替える: 「Zenkaku Hankaku」に変更。

-

日本語オン/オフを別々のキーに割り当て

パネルの「JA」をクリック→「あ」を選びます。

「あ」をクリック →Prefences →「かな漢字変換の設定」画面→「ショートカット」タブ

左側のタブを選択しながら、設定していきます:

-

設定は下記を参照:

日本語オン/オフを別々のキーに割り当て:

-

-


まとめ

Fedora 32 をカーネル「5.7」、「5.8」に更新すると、特定のPC(自分のPC のこと)で、デスクトップの描画が点滅したりしてデスクトップそのものが使えません。それが、Fedora 32 Xfce だと使えました。

そのFedora 32 Xfce で使えないアプリがありました。それが「VSCodeAtomGoogle Chrome」で、デスクトップが不調のときの現象と似ています。

-

アプリを「ハードウェアアクセラレーション(GPU の使用)を無効にする 」設定にしたら使えました。 デスクトップの問題も「ハードウェアアクセラレーション(GPU の使用)を無効にする」ことで使えそうです。 そして、ズバリ解決しました。

使えるようになりましたが、ハードウェアアクセラレーションが使えないGNOME では重すぎです。 軽くて問題の少ない「Fedora 32 Xfce」を使うことにしました。

-

-


目次

先頭

-


-