Quando instalei recentemente o Ubuntu 16.10 em uma nova máquina (Placa-mãe ASRock Z170 Gaming-ITX / AC S1151 M-ITX Intel com processador Intel Core Skylake CPU Processador i5-6500 / 3.2 GHz), recebi uma tela em branco na primeira inicialização .
Depois de pesquisar bastante na web, descobri que podia inicializar corretamente no Linux usando nomodeset
na linha de comando do kernel. No entanto, isso limita minhas opções gráficas, pois xrandr -q
reporta apenas um monitor:
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*
Eu li muitos sites sugerindo que este era um problema em versões anteriores do kernel (que precisam de i915.preliminary_hw_support=1
) e que com o 4.3+ ele deveria estar bem, mas eu tenho:
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
Então, acho que isso não deveria ser um problema. Com base em alguns sites que já li, tentei todas as opções de kernel a seguir (e algumas combinações em grande parte aleatoriamente), mas nenhuma ajudou:
i915.preliminary_hw_support=1
i915.i915_enable_rc6=1
nolapic
Em todos os casos, eu removi quiet splash
para que eu pudesse ver o que estava acontecendo. Dependendo da opção, o processo de inicialização visível chega a um lugar diferente. Com nomodeset
chega até o console virtual (eu comecei com uma instalação do servidor para poder escolher melhor os pacotes que eu queria). Sem nomodeset
, chega até:
[ 5.088899] fb: switching to inteldrmfb from VESA VGA
Com nolapic
como única adição, algumas linhas posteriores (ambas relacionadas a coisas SATA eu acho). Isso pode ser relativamente aleatório, já que eu tentei isso algumas vezes e cheguei a um estágio diferente no material da SATA (mas sempre dentro de um centésimo de segundo depois da linha fb:
)
Com i915.i915_enable_rc6=1
, recebo uma mensagem dizendo:
i915: unknown parameter 'i915_enable_rc6' ignored'
Então, obviamente, isso não está fazendo nada.
Eu também tentei adicionar i915
e nvme
em /etc/modules
, mas novamente: nenhum efeito perceptível.
Todos os itens acima vieram de vários fóruns diferentes (e deste site), mas infelizmente não guardei todas as referências - por isso não estou ligando a nenhuma das perguntas originais.
No caso da linha de kernel vazia (apenas as coisas adicionadas pelo instalador e não nomodeset
), se eu ssh na máquina e startx
, posso executar xrandr
e ver:
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
... sugerindo que o driver está funcionando em algum grau, não há nada sendo desenhado na tela.
Alguém pode oferecer sugestões para o que estou fazendo de errado?
Obviamente, posso adicionar mais informações conforme necessário, mas não tenho certeza do que adicionar no momento.
Editar 1
Esta é a minha configuração atual do 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"
Esta é a parte do /boot/grub/grub.cfg que parece mais relevante:
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
}
Editar 2
O Xorg.log está aqui: link
Eu reiniciei e (na tela de edição do grub) removi o nomodeset e também removi a linha gfxmode (já que tive alguns comentários sobre a remoção de vga =, mas na verdade não removi vga =). Isso resultou na mesma tela em branco de antes.
Eu também tentei apenas ter text
na linha de inicialização, mas isso ficou no mesmo lugar que sem nada ( switching to inteldrmfb
etc como acima).
Editar 3
Seguindo uma sugestão do @Mladen:
-
Eu já tentei instalar os drivers gráficos Intel do link - ambos do Skylake - o GuC e DMC instalado de acordo com as instruções. Eu reiniciei sem nomodeset
na linha de inicialização e a tela ficou em branco no mesmo ponto que nos outros testes. Curiosamente, porém, afirmou:
W: Possível falta de firmware /lib/firmware/i915/kbl_guc_ver9_14.bin para o módulo i915
W: Possível falta de firmware /lib/firmware/i915/bxt_guc_ver8_7.bin para o módulo i915
A saída de ls -l /lib/firmware/i915
mostra:
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
que mostra muitas versões anteriores do firmware que as que o initramfs parece estar esperando
-
Depois disso, eu segui as instruções aqui para atualizar para a versão 4.8.6 do kernel (isso também relatou as linhas de firmware ausentes como acima). Então eu reiniciei (novamente sem nomodeset
) e novamente cheguei exatamente ao mesmo lugar.
-
Como o erro acima parecia estar relacionado ao firmware dos processadores Kabylake e Broxton (embora eu tenha certeza de que tenho um Skylake), eu baixei os arquivos mais recentes para esses dois de aqui - isso só parece ser algo do DMC. A instalação dos dois produziu as mesmas mensagens relativas à falta de firmware (presumivelmente, uma vez que eram arquivos DMC e os números de versão eram diferentes). Sem surpresa, o resultado é exatamente o mesmo: sem nomodeset
, a tela congela depois de fb: switching to inteldrmfb from VESA VGA
.
Pelo que eu li, esses arquivos de firmware estão relacionados a processadores não lançados, então é improvável que seja relevante, mas achei que valeria a pena tentar.
Editar 4
Caso isso ajude, colei uma saída dmesg
completa de uma inicialização nomodeset e de um non-nomodeset, boot de tela em branco . Existem algumas diferenças (incluindo o carregamento do arquivo skl_dmc_ver1_26.bin
, mas não sei o que fazer de tudo ...
Editar 5
Eu também já tentei isso com o kernel 4.8.7, mas o comportamento é o mesmo que com o 4.8.0 ou 4.8.6. A instalação da versão do microcódigo intel 3.20160714.1 também não fez nenhuma diferença notável.
Editar 6
Caso isso se torne um bug do kernel relacionado de alguma forma a este , eu criamos um bug na página do bugzilla do kernel - link