Eu recentemente decidi carregar o Ubuntu no meu HP Envy 15, ele tem uma solução gráfica dupla com HD 5500 integrado e saída discreta GTX 950M para um painel de 3200x1800. Tudo funciona no momento da inicialização, mas quando ele muda de estado de energia (ou seja, suspender), a metade inferior da tela começa a piscar como um louco.
dmesg | grep -i VGA
[ 3.013926] vgaarb: setting as boot device: PCI:0000:00:02.0
[ 3.013928] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[ 3.013931] vgaarb: loaded
[ 3.013932] vgaarb: bridge control possible 0000:00:02.0
[ 3.579780] fb0: EFI VGA frame buffer device
[ 3.812165] fb: switching to inteldrmfb from EFI VGA
[ 3.812290] [drm] Replacing VGA console driver
[ 3.819308] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 7.073169] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[ 7.073175] bbswitch: Found discrete VGA device 0000:04:00.0: \_SB_.PCI0.RP05.PXSX
lspci -k | grep nvidia
04:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev ff)
Kernel modules: nvidiafb, nouveau, nvidia_340
lspci -k | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
O painel de detalhes do sistema informa que o "Intel® HD Graphics 5500 (Broadwell GT2)" está sendo usado, o que implica que o driver oficial também está sendo usado. Já passei por aproximadamente 4 novas instalações (3 de 16.04 e 1 de 14.04). Eu também tentei quase todas as versões aplicáveis do driver da Nvidia (364, 361, 341, 331, 361-updates, etc), mas uma das duas coisas acontece. Ou os gráficos são estáveis na inicialização e até uma suspensão, ou os gráficos são apagados imediatamente. Atualmente eu também tenho nouveau lista negra (não tenho certeza porque apareceu no lspci, mas seja qual for)
sudo lsmod
Module Size Used by
rfcomm 69632 0
bnep 20480 2
bbswitch 16384 0
arc4 16384 2
hp_wmi 16384 0
sparse_keymap 16384 1 hp_wmi
nls_iso8859_1 16384 1
intel_rapl 20480 0
iwlmvm 311296 0
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
coretemp 16384 0
mac80211 737280 1 iwlmvm
kvm_intel 172032 0
kvm 536576 1 kvm_intel
irqbypass 16384 1 kvm
uvcvideo 90112 0
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
iwlwifi 200704 1 iwlmvm
aesni_intel 167936 0
aes_x86_64 20480 1 aesni_intel
lrw 16384 1 aesni_intel
gf128mul 16384 1 lrw
glue_helper 16384 1 aesni_intel
ablk_helper 16384 1 aesni_intel
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
cryptd 20480 2 aesni_intel,ablk_helper
v4l2_common 16384 1 videobuf2_v4l2
input_leds 16384 0
videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
cfg80211 565248 3 iwlwifi,mac80211,iwlmvm
joydev 20480 0
serio_raw 16384 0
rtsx_pci_ms 20480 0
intel_pch_thermal 16384 0
memstick 20480 1 rtsx_pci_ms
lpc_ich 24576 0
media 24576 2 uvcvideo,videodev
mei_me 36864 0
snd_hda_codec_realtek 81920 1
shpchp 36864 0
snd_hda_codec_generic 77824 1 snd_hda_codec_realtek
btusb 45056 0
snd_hda_codec_hdmi 53248 1
btrtl 16384 1 btusb
btbcm 16384 1 btusb
btintel 16384 1 btusb
mei 98304 1 mei_me
bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
snd_soc_ssm4567 16384 0
snd_soc_rt286 36864 0
snd_soc_rl6347a 16384 1 snd_soc_rt286
snd_hda_intel 36864 5
snd_hda_codec 135168 4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_soc_core 212992 2 snd_soc_ssm4567,snd_soc_rt286
snd_hda_core 73728 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_compress 20480 1 snd_soc_core
snd_hwdep 16384 1 snd_hda_codec
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_pcm 106496 7 snd_soc_core,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_soc_rt286 snd_pcm_dmaengine,snd_hda_core
int3403_thermal 16384 0
snd_rawmidi 32768 1 snd_seq_midi
snd_seq 69632 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 32768 2 snd_pcm,snd_seq
snd 81920 23 snd_hda_codec_realtek,snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_compress
dw_dmac 16384 0
dw_dmac_core 24576 1 dw_dmac
i2c_designware_platform 16384 0
processor_thermal_device 16384 0
snd_soc_sst_acpi 16384 0
intel_soc_dts_iosf 16384 1 processor_thermal_device
soundcore 16384 1 snd
8250_dw 16384 0
hp_accel 28672 0
i2c_designware_core 20480 1 i2c_designware_platform
lis3lv02d 20480 1 hp_accel
spi_pxa2xx_platform 24576 0
int3402_thermal 16384 0
input_polldev 16384 1 lis3lv02d
int340x_thermal_zone 16384 3 int3402_thermal,processor_thermal_device,int3403_thermal
int3400_thermal 16384 0
acpi_thermal_rel 16384 1 int3400_thermal
wmi 20480 1 hp_wmi
hp_wireless 16384 0
acpi_pad 20480 0
mac_hid 16384 0
parport_pc 32768 0
ppdev 20480 0
lp 20480 0
parport 49152 3 lp,ppdev,parport_pc
autofs4 40960 2
rtsx_pci_sdmmc 24576 0
i915 1208320 5
i2c_algo_bit 16384 1 i915
psmouse 126976 0
drm_kms_helper 139264 1 i915
ahci 36864 3
syscopyarea 16384 1 drm_kms_helper
r8169 81920 0
sysfillrect 16384 1 drm_kms_helper
libahci 32768 1 ahci
sysimgblt 16384 1 drm_kms_helper
mii 16384 1 r8169
fb_sys_fops 16384 1 drm_kms_helper
rtsx_pci 53248 2 rtsx_pci_ms,rtsx_pci_sdmmc
drm 360448 6 i915,drm_kms_helper
sdhci_acpi 16384 0
video 40960 1 i915
sdhci 45056 1 sdhci_acpi
i2c_hid 20480 0
hid 118784 1 i2c_hid
fjes 28672 0
O Bumblebee também informa que o cartão discreto não está em uso.
Estou começando a ter a impressão de que é menos uma questão gráfica do que algo relacionado ao subsistema de gerenciamento de energia, mas, para ser sincero, não tenho certeza de nada neste momento. Também às vezes é dependente de atividade, como em se eu não tocar em nada, ele não pisca. Eu também tentei a opção force-full redraws
do Unity, mas ela não fez praticamente nada. Há um link abaixo para um vídeo do problema depois de uma suspensão.
Obrigado por ajudar!