I have dual boot setting (Ubuntu 16.04 + Windows 10) on my notebook (using nouveau driver). Originally there was no major issues.
But when I changed my BIOS configuration, my Ubuntu started to have screen flickering after boot in GRUB menu. All other things function properly in Ubuntu GUI, but the screen keeps flickering that I can hardly navigate. I encountered the same screen-flickering issue when booting in live USB. On windows side, everything is still fine and I can switch between integrated graphics card and my discrete graphics card.
I didn't find any similar situation as mine on my first attempt of internet search. Do anyone have any idea how to fix it?
Hardware Spec
- Lenovo Legion Y740
- Integrated Graphics Card: UHD Intel Graphics 630
- GeForce RTX 2070 Max-Q
- Both Ubuntu 16.04 and Windows installed in C:\
BIOS Configuration (Updated in 12/10/2019)
In my first dual boot attempt, I navigate to BIOS settings via "UEFI Firmware settings" in Windows "Advanced Startup" (attached below). The change I made on the BIOS configuration are the following:
- Secure Boot: Disabled (default is enabled)
- Storage mode: AHCI mode (default is RST mode)
- Graphics: default is "Discrete Graphics". I sticked with default "Discrete Graphics" in my first dual boot. No screen flickering appear on fresh installation. But when I set to "Switchable Graphics" after the installation, I was greeted with screen flickering in my Ubuntu side (everything is fine on Windows side)
UEFI Firmware Settings Screen-shot
[Update: 07/10/2019]
After a few study, I added "nomodeset" on grub configuration file and it temporarily settles the issue, but it is not desirable in the long run because such configuration disables brightness adjustment on screen and HDMI connection. I will keep looking for a more sustainable solution.
[Update: 12/10/2019 - 1]
I replaced Ubuntu 16.04 with Ubuntu 18.04. On fresh installation, screen flickering still existed but setting "nomodeset" in grub configuration file temporarily settles the issue. After I installed proprietary NVIDIA driver, screen flickering still persist and in this case setting "nomodeset" in grub config didn't solve the problem. But a good news is I finally escaped the black screen nightmare and infinite login loop nightmare this time. However, screen flickering is still an annoying issue to be settled.
I tried blacklist nouveau and setting nvidia_drm modeset = 1. But the issues still persist. I will keep trying different solutions to settle that.
[Update: 12/10/2019 - 2]
On Ubuntu side, my current state is that I have uninstalled proprietary nvidia driver by the following:
sudo apt-get purge nvidia
sudo apt autoremove
sudo apt autoclean
I also blacklisted nouveau drive in /etc/modprobe.d/blacklist-nvidia-nouveau.conf with the following lines:
blacklist nouveau
options nouveau modeset=0
With such state, screen flickering issue existed and HDMI connection didn't work. And then, I followed David suggestion to set graphics mode back to default "Discrete Graphics" in BIOS configuration. Screen flickering issue disappear. I then proceed to install proprietary NVIDIA driver again by the following steps:
1. setting "Main Server" in software updates
2. execute sudo apt-get update (sudo add-apt-repository ppa:graphics-drivers/ppa has been executed a few days ago)
3. install proprietary nvidia driver 435 in "Additional Drivers" tab. (as shown below)
After the nvidia driver installation, I didn't encounter any screen flickering issue after ubuntu reboot, also HDMI connection seems working. HOWEVER, I got stuck in a purple screen after login page, as shown below. I can navigate to tty by Alt + Ctrl + F6. When I execute nvidia-smi, my GPU device can be detected (as shown below)
1. Additional Driver Tab (showing how I install nvidia driver)
2. After nvidia driver installation, I got stuck in purple screen after login, the picture also shows HDMI works after the installation
3. When I got stuck in purple screen, I tried to press Ctrl + Alt + F7, I then got into black screen
4. nvidia-smi can detect my GPU (in execute this in my tty mode)
[Update: 12/10/2019 - 3]
Stucking in post-login for a few times, I tried to install KDE desktop in tty mode (by sudo apt-get install kubuntu-desktop). After reboot I could finally get into desktop. But screen flickering problem came again when I got into KDE desktop. However, the screen flickering issue in KDE didn't appear as serious as the one in GNOME.
I tried changing a few configurations in System Setting > Hardware > Display and Monitor > Compositor. It is suggested from Flickering in KDE Plasma 5.4 . But it didn't help.