guillaumezin / nvidiabl

/!\ Please note that I don't maintain this repository anymore, please have a look at forked projects. /!\
82 stars 82 forks source link

Display Light goes full when opening new application. #56

Closed oae closed 5 years ago

oae commented 11 years ago

I have sony vaio AW290J with 9600m gt nvidia graphics. This module works fine. But when i start an application brightness goes full light. It is happening all the time. I tried it in ubuntu 12.10, elementary os luna and arch linux same results.

fragonca commented 11 years ago

Same issue on Sony Vaio FZ31S with GeForce 8600M GS. Ubuntu 12.04 and Ubuntu 12.10 (kernel 3.2 and 3.5 for each one).

guillaumezin commented 11 years ago

Hello,

Does it happen in the same situations as described here: http://www.nvnews.net/vbulletin/showpost.php?p=2375050&postcount=109 ?

Thank you.

Guillaume

oae commented 11 years ago

yes

guillaumezin commented 11 years ago

I have the same behaviour than you, and I checked, it is not the nvidiabl driver that is changing the register, it is probably the VDAPU (a library used to accelerate video playback).

Maybe should we try this release: http://www.nvidia.fr/object/linux-display-ia32-304.64-driver-fr.html because it fixes some backlight issues...

oae commented 11 years ago

i installed this nothing changed. I also installed the 310.14 beta driver no luck again :(

gertvdijk commented 11 years ago

Fixed for me in a later 310.x (now running 313.09) version of the Nvidia driver. Still on nvidiabl version 0.79 (unchanged).

Hexagon commented 11 years ago

Just dropping by to say the bug is still present to me

x@x:~$ dmesg | grep nvidia
[   16.829686] nvidiabl: loading driver version 0.80
[   16.829732] nvidiabl: FUJITSU - AMILO Pi 3560 model detected in DMI tables
[   16.829740] nvidiabl: Supported Nvidia graphics adapter 10de:0a34:1734:118d detected
[   16.829754] nvidiabl: smartdimmer register at address 0xf361c084 mapped at address 0xf8436084
[   16.829756] nvidiabl: backlight type is raw
[   16.829798] nvidiabl: backup register value 0x401
[   16.829800] nvidiabl: using value 0x10040 as maximum
[   16.829801] nvidiabl: autodetecting off
[   16.829802] nvidiabl: using value 0x0 as off
[   16.829804] nvidiabl: using value 0xcc as minimum
[   18.615365] nvidia: module license 'NVIDIA' taints kernel.

x@x:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86 Kernel Module  313.18  Wed Jan  9 16:31:26 PST 2013
GCC version:  gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 

x@x:~$ lspci -v | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GT216 [GeForce GT 240M] (rev a2) (prog-if 00 [VGA controller])
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)

x@x:~$ lspci -v | grep nvidia
    Kernel driver in use: nvidia
    Kernel modules: nvidia_313, nouveau, nvidiafb
yorickvP commented 11 years ago

This problem was gone for me after installing the new driver (310.x), but it reappeared after I upgraded my BIOS, so now I'm stuck with a resetting brightness again (the actual_brightness value does go up, so there can be a tool that checks it periodically and sets it back, I hope.)

gertvdijk commented 11 years ago

so there can be a tool that checks it periodically and sets it back, I hope.

Unless this is going to take place every infinite small amount of time you'll end up with a flickering screen. I don't think that's the way to go. Would it be possible to try out more ways to get proper brightness control? The new BIOS might have fixed up the ACPI interface and workarounds like acpi_osi=Linux acpi_backlight=vendor as kernel parameters might do the trick now.

note to other readers: I have the exact same model as yorickvP, but I haven't (yet) upgraded my BIOS.

yorickvP commented 11 years ago

Unless this is going to take place every infinite small amount of time you'll end up with a flickering screen.

I'd rather have a bit of flickering than I would need to jump to the keyboard every time a wild flash video appears to reset my brightness quickly. Also, I had this flickering with the ACPI controls when they worked (after standby+resume) as well, so I don't think that would fix anything.

One thing I did notice is that the brightness resets are to a more sane level than they used to be (maybe it uses the brightness sensor now), so I usually don't even notice when it happens or don't bother to adjust.

mmueller commented 11 years ago

Just chiming in that I see this exact problem with a Lenovo Y500, GT 750M GPU, and driver 319.17 (installed from nvidia site, since it's newer than what's in my package manager). Drivers < 310 do not support my GPU at all, so i can't really go backwards to test older drivers.

Has anyone come up with a workaround other than a script to monitor brightness and fix it whenever it jumps up?

yorickvP commented 11 years ago

Has anyone actually implemented such a script? I would be very happy if they could share it with us, because dashing for my brightness keys every time a wild youtube video appears is still not much fun.

mmueller commented 11 years ago

@yorickvP, sure. Here's a Python implementation: https://gist.github.com/mmueller/5553027

You may have to tweak the name of the BACKLIGHT variable to match whatever you have in /sys/class/backlight. You also need to run the script as root. It checks every 0.2 seconds, which doesn't seem to put too much load on my CPU. Obviously the flicker is noticeable and this is not a proper workaround for the bug.

wikihunter commented 11 years ago

@mmueller Sorry to ask here but how did you get nvidiabl to work with gt750m? As far as I can tell it is not supported because I loaded it and got: "unsupported gpu detected". Also it is not listed in nvidiabl-gpu.h file. Did you recompile it yourself?

mmueller commented 11 years ago

Yeah, it's a little off-topic, but FWIW I added this to nvidiabl-gpu.h:

/* GT 750M 319.17 */
NVIDIABL_DECLARE_GPU_MODEL(0x0fe4, nv5x_driver_data),

And this to nvidiabl-laptops.h:

NVIDIABL_DECLARE_LAPTOP_MODEL("LENOVO", "20193", PCI_ANY_ID, NVIDIABL_AUTO, NVIDIABL_AUTO, 0x1FFFF), /* Y500 */

I was planning to submit this as a pull request, but I wanted to make sure I did everything properly first. It does seem to be working well, however. Compiling & installing was very easy.

wikihunter commented 11 years ago

@mmueller Just wanted to thank you. Because of your involvement in this thread, I have a fully working y500. I hope you submit that pull request, although a new one has just been filed for the y400. And obviously an enormous thank you to guillaumezin. Merci!

ddossot commented 11 years ago

Just chiming to say I have the same issue with nvidiabl 0.80 installed on my Asus G55VW with Ubuntu 12.04 32bits.

$ dmesg | grep nvidia
[   21.313071] nvidia: module license 'NVIDIA' taints kernel.
[   21.365297] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   21.365304] nvidia 0000:01:00.0: setting latency timer to 64
[   23.788234] nvidiabl: loading driver version 0.80
[   23.788264] nvidiabl: Supported Nvidia graphics adapter 10de:0fd4:1043:2117 detected
[   23.788278] nvidiabl: smartdimmer register at address 0xf661c084 mapped at address 0xf842e084
[   23.788280] nvidiabl: backlight type is raw
[   23.788306] nvidiabl: backup register value 0x4001d09e
[   23.788307] nvidiabl: autodetecting maximum
[   23.788309] nvidiabl: using value 0x1d09e as maximum
[   23.788310] nvidiabl: autodetecting off
[   23.788311] nvidiabl: using value 0x0 as off
[   23.788312] nvidiabl: autodetecting minimum
[   23.788313] nvidiabl: minimum is 5% of maximum
[   23.788315] nvidiabl: using value 0x173b as minimum
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86 Kernel Module  304.88  Wed Mar 27 14:31:12 PDT 2013
GCC version:  gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
$ lspci -v | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0fd4 (rev a1) (prog-if 00 [VGA controller])
01:00.1 Audio device: NVIDIA Corporation Device 0e1b (rev a1)
$ lspci -v | grep nvidia
    Kernel driver in use: nvidia
    Kernel modules: nvidia_current, nouveau, nvidiafb
gertvdijk commented 11 years ago

@ddossot I see that you're still on 304.x. Have you tried a more recent Nvidia driver? I haven't seen the issue with 310.x and 313.x ever again. Only 304.x seems having this issue for my hardware. I already posted that half a year ago, by the way.

ddossot commented 11 years ago

FTR I've upgraded the Nvidia driver:

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86 Kernel Module  325.08  Wed Jun 26 18:56:07 PDT 2013
GCC version:  gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 

And I still get the issue.

elmindreda commented 10 years ago

Seeing the same issue on an ASUS G55VW (GTX 660M) running Linux Mint 17, binary driver 331.38, nvidiabl 0.87. acpi_backlight has no effect.