Score:4

Brightness buttons not working when nomodeset is set

cn flag

I installed "Brightness Controller", didn't help. I tried to change grub to acpi_osi=Linux and similar. Nothing helps. It is on max setting by default unchangeable. When I remove nomodeset, my screen starts blinking violently on each mouse move... What's going on?

uname -a                                              
Linux x 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed x86_64 x86_64 x86_64 GNU/Linux

ubuntu-drivers devices
 - empty


Graphics:  Device-1: Intel vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
           Display: x11 server: X.Org 1.20.11 driver: intel resolution: 2880x1800~90Hz 
           OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.0.3 direct render: Yes 

My computer is Lenovo Yoga. It's kinda better now that I use nvidia-drm.modeset=1 (doesn't flicker anymore) but it still has many issues, there are sometimes weird spots appearing on a screen. How can I force it to use NVIDIA drivers?

ChanganAuto avatar
us flag
The "what's going on"part can't be answered without knowing the hardware specifications and proprietary drivers versions, if applicable. Re: the other part please understand what `nomodeset` is for (temporary workaround, troubleshooting) and what it does (overrides graphical drivers forcing a generic fallback video mode).
cn flag
@ChanganAuto So I will try to update graphical drivers
ChanganAuto avatar
us flag
Please edit the question to add the requested information (and confirm you're using standard Ubuntu or other flavor, DEs really make a difference) so someone can bring forth suggestions about the flicker. Updating graphics drivers isn't always possible or even recommended.
cn flag
I can't understand how on earth it is allowed for it to be so god damn buggy
cn flag
I am using Ubuntu 20.04, when I go to Additional Drivers there are no Nvidia drivers (it's just empty)
ChanganAuto avatar
us flag
If there's no Nvidia drivers suggested it has no Nvidia graphics. Again, please, post hardware specifications.
sancho.s ReinstateMonicaCellio avatar
pl flag
Without further details on your system, I suggest you update kernel/video drivers, if possible. This usually solves a lot of problems. ## Info to post In the meantime, please post the following info 1. Output of commands $ uname -a $ inxi -Fxz $ xrandr $ ubuntu-drivers devices If you don't have `inxi` and/or `ubuntu-drivers` you can install them with `sudo apt install inxi ubuntu-drivers`. 2. Brand/model of your computer 3. Why and how (the exact commands you used) you installed Brightness Controller.
in flag
As @ChanganAuto has suggested many times, hardware information will be needed to answer this question with any real specificity. Can you [edit] your question to include the brand and model of the machine?
darth_epoxy avatar
nl flag
What if yiou try GRUB_CMDLINE_LINUX_DEFAULT="rhgb quiet splash acpi_enforce_resources=lax pcie_ports=compat"
cn flag
@darth_epoxy Nope, doesn't work, screen is blinking on mouse move...
Score:0
cn flag

Add i915.enable_psr=0 i8042.direct i8042.dumbkbd to GRUB_CMDLINE_LINUX_DEFAULT.

David avatar
kz flag
Thanks for the tip. So far I couldn't find the time to try it but once I will, I will let you know about the result. In the meantime could you please explain how does this solution work?
Score:0
pl flag

EDIT: For the Lenovo Yoga slim 7, the graphics cards is possibly Intel Iris Xe Graphics, and there is likely no NVIDIA GPU (yet to be confirmed).

The card apparently has some issues with the standard kernel of Ubuntu 20.04 (e.g., #1, #2).

Possible solutions:

  1. Disable Secure boot in the BIOS.
  2. Update to 20.10 or 21.04.
  3. Install OEM kernel 20.04 with sudo apt install linux-oem-20.04 && sudo reboot 0. You could also try with the newer linux-oem-20.04c, and further check available options with apt-cache search linux-oem-2.

Alternatively, you could try building/installing a newer 5.12 or even 5.13/5.14 kernel, YMMV. Or you can wait a short time with a current, workable condition, until newer kernels become standard.

I am not sure which of these options takes full advantage of both graphic units.


You did not post all requested info. There are plenty of Lenovo Yoga models. This potential solution may work, depending on your hardware.

Post the output of

$ dpkg -l | grep nvidia
$ dmesg | grep drm 
$ sudo lshw -c video
$ glxinfo -B
$ sudo lshw -C display
$ hwinfo --gfxcard
$ sudo update-pciids
$ lspci -v | egrep -i --color 'vga|3d|2d'

You will see one or two lines of output of lspci... The first line will likely be something like

00:02.0 VGA compatible controller: Intel Corporation ...

The first field 00:02.0 is the device ID. The second line (if present) will likely be something like

01:00.0 VGA compatible controller: NVIDIA Corporation ...

Then post the output of

$ sudo lspci -v -s <devide #1 ID>
$ sudo lspci -v -s <devide #2 ID>

If the second line reports an NVIDIA GPU, install the drivers with

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install xserver-xorg-video-nouveau 
$ sudo apt install nvidia-driver-470

and reboot. The first line provides the open source nouveau drivers, which might be useful on occasion (and having them doesn't hurt). The second line provides proprietary drivers, which are generally preferred if they work.

After booting post the output of

$ ubuntu-drivers devices
$ dpkg -l | grep nvidia
$ nvidia-smi

Source: (one of many) https://www.cyberciti.biz/faq/ubuntu-linux-install-nvidia-driver-latest-proprietary-driver/

Nate T avatar
it flag
Dang it, Sancho, you always beat me to the punch. XD Good answer.
cn flag
I did this. It's still not working... I tried everything online it seems. It works only when I set nomodeset but then brightness buttons are not working.
cn flag
lenovo yoga slim 7
Nate T avatar
it flag
@mrSuperEvening `man systemcmd` read it. or `systemctl` you can set up aliases in bashrc. First use the commands to write a command which turns volume up by like 2%. Next do the same for down. then set them to aliases `volup` and `voldown` respectively.
sancho.s ReinstateMonicaCellio avatar
pl flag
@mrSuperEvening - Please post the output of the commands listed. That is the best way to help others help you. I can hardly see a reason for not doing that. Otherwise, you are driving the way of "reverse engineering" the solution, which will only make it slower, or possibly making it not to happen.
cn flag
@sancho.sReinstateMonicaCellio `sudo apt install linux-oem-20.04` - thank you, it is much better now. The screen sometimes flickers (and produces weird patches on the screen), but it's better, I can use brightness buttons.
sancho.s ReinstateMonicaCellio avatar
pl flag
@mrSuperEvening - I think you are facing a much current issue. It is up to you to post further info to get a better solution.
sancho.s ReinstateMonicaCellio avatar
pl flag
@mrSuperEvening - You could also try with the newer `linux-oem-20.04c`.
cn flag
upgraded to 21.04, still the same
cn flag
```ubuntu-drivers devices == /sys/devices/:00/0000:00:06.0/0000:01:00.0 == modalias : vendor : NVIDIA Corporation model : TU117M [GeForce MX450] driver : nvidia-driver-460-server - distro non-free driver : nvidia-driver-470 - distro non-free recommended driver : nvidia-driver-460 - distro non-free driver : nvidia-driver-450-server - distro non-free driver : nvidia-driver-470-server - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin```
cn flag
Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/128657/discussion-between-mrsuperevening-and-sancho-s-reinstatemonicacellio).
David avatar
kz flag
@mrSuperEvening Did you find a solution in the end? I am having basically the same Issue with Lenovo IdeaPad 5 Pro 14ITL06 with Intel Iris Xe GPU. Either I put 'nomodeset' into grub but I lose the ability to control brightness or I remove the 'nomodeset' option and I can control the brightness but the screen flickers whenever I move the mouse. I have Ubuntu 21.10 and tried many solutions like the one anove or the ones related to this question but to no avail. Any help appreciated.
cn flag
@David Add `i915.enable_psr=0 i8042.direct i8042.dumbkbd` to GRUB_CMDLINE_LINUX_DEFAULT
Score:0
in flag

The nomode set is for disabling the gpu drivers. When the GPU drivers are not loaded the brightness control won't work. Remove the nomodeset line. Then reboot normally. The brightness control should be working properly

cn flag
Then my screen is blinking violently.
Score:0
ag flag

Although it's like a brute force method it worked for me. Initially, when my Ubuntu was stuck at the purple screen:

I restarted the system.
Pressed E key and added nomodeset as: ro quiet splash &vt_handoff nomodeset.
Pressed F10 and once the system restarts , open terminal.
Write sudo gedit /etc/default/grub/ in the terminal.
Add nomodeset like this, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
Save the file and write sudo update-grub.

Now the main part:

Go to applications and open software and update.
Click additional drivers and choose the recommended one and NOT X.Org xserver.
Once Done with this, restart the system.
But this time again press E on grub menu and (remove) nomodeset and press F10.
The system will start normally.
Once started, open the grub file again as in step 4, but this time remove nomodeset and save the file.
Write sudo update-grub and restart the system.

Congratulations! Now your system will work perfectly with normal boot, without nomodeset and you would be able to inc/dec the screen brightness.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.