Ubuntu 16.10を新しいマシン(Intel Core Skylakeプロセッサi5-6500/3.2 GHzプロセッサCPUを搭載したASRock Z170 Gaming-ITX/AC S1151 M-ITX Intelマザーボード)に最近インストールしたとき、最初の起動時に空白の画面が表示されました。
Webを何度も検索した結果、カーネルコマンドラインでnomodeset
を使用してLinuxを正しく起動できることがわかりました。ただし、xrandr -q
は1つのモニターのみを報告するため、これによりグラフィックオプションが制限されます。
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 0mm x 0mm
1024x768 76.00*
これは以前のカーネルバージョン(i915.preliminary_hw_support=1
が必要)の問題であり、4.3 +では問題ないことを示唆する多くのWebサイトを読んでいますが、
Linux mypc 4.8.0-26-generic #28-Ubuntu SMP Tue Oct 18 14:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
だから、これは問題にならないと思います。私が読んだいくつかのウェブサイトに基づいて、私は以下のすべてのカーネルオプション(および主にランダムにいくつかの組み合わせ)を試しましたが、どれも助けませんでした:
i915.preliminary_hw_support=1
i915.i915_enable_rc6=1
nolapic
すべての場合で、何が起こっているのかを見ることができるように、quiet splash
を削除しました。オプションに応じて、表示されるブートプロセスは別の場所に移動します。 nomodeset
を使用すると、仮想コンソールに到達します(必要なパッケージを選択できるように、サーバーのインストールから始めました)。 nomodeset
がなければ、次のようになります:
[ 5.088899] fb: switching to inteldrmfb from VESA VGA
nolapic
を唯一の追加として、さらに2、3行追加します(どちらもSATAに関連すると思います)。これは比較的ランダムかもしれませんが、私はこれを数回試して、SATAスタッフの別の段階に到達しました(ただし、fb:
行の後は常に100分の1秒以内)
i915.i915_enable_rc6=1
を使用すると、次のメッセージが表示されます。
i915: unknown parameter 'i915_enable_rc6' ignored`
したがって、それは明らかに何もしていません。
i915
とnvme
を/etc/modules
に追加しようとしましたが、繰り返しますが、認識できる効果はありません。
上記のすべてはさまざまなフォーラム(およびこのサイト)から来ましたが、すべての参照をメモしていなかったため、元の質問にリンクしていません。
空のカーネル行の場合(インストーラーによって追加されたものだけでnomodeset
はありません)、マシンにsshしてstartx
を実行すると、xrandr
を実行して以下を確認できます。
Screen 0: minimum 8 x 8, current 1280 x 1024, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02 + 75.02
1920x1080 60.00 59.94
1152x864 75.00
1280x720 60.00 59.94
1024x768 75.03 72.00 70.07 60.00
800x600 72.19 75.00 60.32 56.25
720x480 60.00 59.94
640x480 75.00 72.81 60.00 59.94
720x400 70.08
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00 + 50.00 59.94 59.99
1920x1080i 60.00 50.00 59.94
1600x1200 60.00
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1366x768 59.79
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
1280x1024 (0x4a) 540.000MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 319.91KHz
v: height 1024 start 1025 end 1028 total 1066 clock 300.10Hz
...ドライバーがある程度機能していることを示唆していますが、画面には何も描画されていません。
誰かが私が間違っていることについて提案を提供できますか?
明らかに必要に応じてさらに情報を追加できますが、現時点で何を追加するのかわかりません。
編集1
これは私の現在のgrub設定です/ etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1024x768
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
これは、最も関連があると思われる/boot/grub/grub.cfgの一部です。
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c21835f3-4aaf-4880-b573-19a361a72db9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 c21835f3-4aaf-4880-b573-19a361a72db9
else
search --no-floppy --fs-uuid --set=root c21835f3-4aaf-4880-b573-19a361a72db9
fi
linux /boot/vmlinuz-4.8.0-26-generic root=UUID=c21835f3-4aaf-4880-b573-19a361a72db9 ro nomodeset
initrd /boot/initrd.img-4.8.0-26-generic
}
Edit 2
Xorg.logはここにあります: http://Pastebin.com/nvNwTPj4
再起動し、(grub編集画面で)nomodesetを削除し、gfxmode行も削除しました(vga =の削除についていくつかのコメントがありましたが、削除するvga =が実際にはないため)。これにより、以前と同じ空白の画面が表示されました。
また、ブートラインにtext
を配置しようとしましたが、これは何もない場合と同じ場所に到達しました(上記のswitching to inteldrmfb
など)。
Edit 3
@Mladenからの提案に従うと:
https://01.org/linuxgraphics/intel-linux-graphics-firmwares -Skylakeの両方-指示に従ってインストールされたGuCとDMCからIntelグラフィックドライバーをインストールしようとしました。次に、ブートラインでnomodeset
なしで再起動しましたが、他のテストと同じ時点で画面が空白になりました。興味深いことに、次のように述べています。
W:モジュールi915のファームウェア/lib/firmware/i915/kbl_guc_ver9_14.binが欠落している可能性がありますW:モジュールi915のファームウェア/lib/firmware/i915/bxt_guc_ver8_7.binが欠落している可能性があります
ls -l /lib/firmware/i915
の出力は以下を示します。
total 412
-rw-r--r-- 1 root root 8380 Aug 15 15:40 bxt_dmc_ver1_07.bin
lrwxrwxrwx 1 root root 19 Aug 15 15:40 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
-rw-r--r-- 1 root root 8616 Aug 15 15:40 kbl_dmc_ver1_01.bin
lrwxrwxrwx 1 root root 19 Aug 15 15:40 kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin
-rw-r--r-- 1 root root 8824 Sep 14 13:47 skl_dmc_ver1_23.bin
-rw-r--r-- 1 root root 8928 Nov 10 17:54 skl_dmc_ver1_26.bin
lrwxrwxrwx 1 root root 38 Nov 10 17:54 skl_dmc_ver1.bin -> /lib/firmware/i915/skl_dmc_ver1_26.bin
-rw-r--r-- 1 root root 109636 Aug 15 15:40 skl_guc_ver1.bin
-rw-r--r-- 1 root root 128320 Aug 15 15:40 skl_guc_ver4.bin
-rw-r--r-- 1 root root 129024 Nov 10 17:53 skl_guc_ver6_1.bin
lrwxrwxrwx 1 root root 37 Nov 10 17:53 skl_guc_ver6.bin -> /lib/firmware/i915/skl_guc_ver6_1.bin
これは、initramfsが期待しているものよりもはるかに古いバージョンのファームウェアを示しています
これに続いて、 here の手順に従ってカーネルバージョン4.8.6にアップグレードしました(これにより、上記のようにファームウェア行が欠落していることも報告されました)。その後、再起動し(nomodeset
なし)、再び同じ場所に到達しました。
上記のエラーはKabylakeプロセッサとBroxtonプロセッサのファームウェアに関連するように思われたので(Skylakeのプロセッサを持っていると確信しています)、これら2つの最新のファイルを here からダウンロードしました-これはDMCのものになります。これらの両方をインストールすると、欠落したファームウェアに関する同じメッセージが生成されました(おそらくそれらはDMCファイルであり、バージョン番号が異なっていたためです)。当然のことながら、結果はまったく同じです。nomodeset
がないと、fb: switching to inteldrmfb from VESA VGA
の後に画面がフリーズします。
私が読んだことから、これらのファームウェアファイルはリリースされていないプロセッサに関連しているので、とにかく関連する可能性は低いですが、試してみる価値があると思いました。
Edit 4
役に立つ場合には、 nomodeset boot と nomodeset、blank screen boot からの完全なdmesg
出力を貼り付けました。いくつかの違いがあります(skl_dmc_ver1_26.bin
ファイルの読み込みを含みますが、何をするべきかわかりません...
5を編集
カーネル4.8.7でもこれを試しましたが、動作は4.8.0または4.8.6と同じです。 Intelマイクロコードバージョン3.20160714.1をインストールしても、目立った違いはありませんでした。
Edit 6
これが何らかの方法で this one に関連するカーネルバグであることが判明した場合、カーネルbugzillaページでバグを報告しました- https://bugzilla.kernel.org /show_bug.cgi?id=187601
ディスプレイポートを使用していますか?また、Skylake、カーネル4.8、Ubuntu 16.10のi915ドライバーでも問題があります==> Intelはまだ16.10の最新のグラフィックスタックをリリースしていません。
あなたがしようとすることができます:
1)Ubuntu 16.04 LTS(およびカーネル4.4.x)に切り替えます
2)カーネル4.6.7を使用します: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.7/
3)最新のdrm-intel-nightlyカーネルを使用します: http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/ (ただし、AMD64の成功したビルドはもうありません。最後は2016-10-19です)
あなたのエラー:
[ 5.088899] fb: switching to inteldrmfb from VESA VGA
2014バグレポートで説明されているこれに似ています:( 「fb:シンプルからinteldrmfbへの切り替え」 )で起動時に画面がフリーズします。ただし、カーネル3.17/3.18で修正されるはずでした。
カーネルバージョン4.8.7には、Intel i915ドライバー(およびAUの多くが関心を持っているRadeon)のパッチが多数あります。ここで説明しているように:( Softpedia News-Linux kernel 4-8-7 update intel radeonドライバーはワイヤレスサポートを改善します )。実際、一部のワイヤレスユーザーもこのカーネルの更新を希望する場合があります。
ストーリーには、カーネルをダウンロードするためのリンクがありますが、使用しないでください。むしろ( kernel.ubuntu.com〜kernel v4.8.7 )にアクセスしてください。誰かが手順を追って説明する必要がある場合はコメントしてください。ここに追加します。
I915 DRMドライバーは、さまざまなGPUのハング、クラッシュ、さらにはシステム全体のフリーズを引き起こすことが知られています。これらの問題を回避するには、ハードウェアアクセラレーションを無効にする必要がある場合があります。
試したことのない解決策の1つは、これらの行で/etc/X11/xorg.conf.d/20-intel.conf
ファイルを編集(または作成)して、次のXorg設定を使用することです。
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "DRI" "false"
EndSection
保存して再起動します(nomodesetなし)。
黒い画面の問題が消えても、Google-ChromeまたはFire Foxがフリーズした場合は、ハードウェアアクセラレーションを無効にする必要があります。
もう1つの重要な考慮事項は、このAU記事で説明されているIntelファームウェア( Ubuntu 16.04 Skylake overheating )であり、バージョン3.20160714.1以降である必要があります2016年9月27日。
私は同じマザーボードを持っているので、最初にLinuxをセットアップしようとしたときに表示の問題がありました-ドライバーとマザーボードのファームウェアの障害か、ドライバーの障害かがわかりませんが、次のことがわかりました:
2 x HDMIモニターを差し込んだ場合-ポスト画面と初期ブートを表示しますが、GUIは表示しません
ディスプレイポートコネクタの上に1 x HDMI入力ポート(M/BユーザーマニュアルのHDMI1)-GUIなし
Display Portコネクタの左にある1 x HDMI入力ポート(m/bのHDMI2ユーザーマニュアル)-正常に動作し、GUIは正常に表示されます。
1 xディスプレイポートと1 x HDMI2接続ディスプレイ-両方の画面で正常に動作します。
1 xディスプレイポートと1 x HDMI1接続ディスプレイ-部分的に機能しますが、DP画面のGUI、xrandr出力で接続されていると表示されるHDMI1画面が空白になります。
上記はすべて、完全に更新されたUbuntu 16.04上にあり、カーネルパラメーターは必要ありません(当時のカーネルバージョンのために、最初はi915.preliminary_hw_support = 1設定が必要でしたが、これは必要ありません)
Linuxでは3つのディスプレイを動作させることができませんでしたが、Windows 10では正常に動作します。
注:最近、M/Bを最新のファームウェアに更新しました。これにより、ACPIエラーメッセージがdmesgでいっぱいになり、診断目的では役に立たなくなるという問題が解決されました。
それが役立つかどうかはわかりませんが、Intel Skylakeを使用してAsusにUbuntuをインストールしようとすると、同様の問題が発生することを覚えています。問題がどこにあるのか正確にはわかりませんが、これは私を助けてくれました。
それが役に立てば幸い。