web-dev-qa-db-ja.com

Ubuntu 16.10のIntel SkyLakeブランク画面

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`

したがって、それは明らかに何もしていません。

i915nvme/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 bootnomodeset、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

6
DrAl

ディスプレイポートを使用していますか?また、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です)

1
MisterZ

バグレポート

あなたのエラー:

[    5.088899] fb: switching to inteldrmfb from VESA VGA

2014バグレポートで説明されているこれに似ています:( 「fb:シンプルからinteldrmfbへの切り替え」 )で起動時に画面がフリーズします。ただし、カーネル3.17/3.18で修正されるはずでした。

カーネルバージョン4.8.7

カーネルバージョン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フリーズ

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がフリーズした場合は、ハードウェアアクセラレーションを無効にする必要があります。

最新のIntelファームウェア

もう1つの重要な考慮事項は、このAU記事で説明されているIntelファームウェア( Ubuntu 16.04 Skylake overheating )であり、バージョン3.20160714.1以降である必要があります2016年9月27日。

2

私は同じマザーボードを持っているので、最初に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でいっぱいになり、診断目的では役に立たなくなるという問題が解決されました。

1
Mike P

それが役立つかどうかはわかりませんが、Intel Skylakeを使用してAsusにUbuntuをインストールしようとすると、同様の問題が発生することを覚えています。問題がどこにあるのか正確にはわかりませんが、これは私を助けてくれました。

  • カーネル行から「静かなスプラッシュ」を削除し、以前と同じように「nomodeset」を追加します。これにより有用な情報が得られ、次の2つの手順でシステムにアクセスできる場合があります。
  • その他のオプション:「静かなスプラッシュ」を削除するが、「テキスト」を挿入してテキストモードで起動する
  • それが機能する場合は、最新のLinuxカーネルに更新してみてください(執筆中の4.8.6になります)。 here のガイドがあります。
  • また、 here からインテルグラフィカルドライバー/ファームウェアをインストールすることをお勧めします。

それが役に立てば幸い。

0
lemdan