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

kepler-based GPUs #41

Closed yorickvP closed 11 years ago

yorickvP commented 12 years ago

I recently got an HP EliteBook 8570w, with an NVIDIA Quadro K1000M GPU. It does not seem to have a way to change the brightness under linux, currently. I tried adding it to the gpu file, but I still can't load the module (No such device).

lspci entry:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0ffc] (rev a1)

Would it be do-able to add support for these kepler-based GPUs?

guillaumezin commented 12 years ago

Support added in 0.79 version, if it works, would you give me the output of

cat /sys/class/dmi/id/sys_vendor cat /sys/class/dmi/id/product_name

yorickvP commented 12 years ago

It works! Thank you! The only problems are:

  1. it resets to maximum when something talks to the GPU (flash things do this, so opening and scrolling gmail or github resets my brightness). When this happens, brightness and actual_brightness are still the value I set it to.
  2. it does something strange to DPMS, I think it resets the timeout to mimimum on loading.

For some users, this notebook has ACPI backlight support, and it works for me too after a suspend+resume. With ACPI backlight adjustment, the brightness also frequently resets.

$ cat /sys/class/dmi/id/sys_vendor
Hewlett-Packard
$ cat /sys/class/dmi/id/product_name
HP EliteBook 8570w
yorickvP commented 12 years ago

My dmesg log:

[  123.745067] nvidiabl: loading driver version 0.79
[  123.745084] nvidiabl: Supported Nvidia graphics adapter 10de:0ffc:103c:176b detected
[  123.745160] nvidiabl: smartdimmer register at address 0xd861c084 mapped at address 0xffffc9001187a084
[  123.745164] ------------[ cut here ]------------
[  123.745174] WARNING: at drivers/video/backlight/backlight.c:315 backlight_device_register+0x1cd/0x210()
[  123.745176] Hardware name: HP EliteBook 8570w
[  123.745178] nvidia_backlight: invalid backlight type
[  123.745180] Modules linked in: nvidiabl(O+) joydev snd_hda_codec_hdmi snd_hda_codec_idt arc4 nvidia(PO) iwlwifi snd_hda_intel snd_hda_codec microcode uvcvideo videobuf2_vmalloc videobuf2_memops snd_hwdep s
nd_pcm mac80211 videobuf2_core snd_page_alloc aesni_intel aes_x86_64 videodev cfg80211 hp_accel lis3lv02d aes_generic ghash_clmulni_intel cryptd kvm_intel kvm acpi_cpufreq mperf hp_wmi firewire_ohci evdev inp
ut_polldev sparse_keymap firewire_core iTCO_wdt processor ppdev ac rfkill snd_timer e1000e media snd crc_itu_t soundcore coretemp iTCO_vendor_support tpm_tis i2c_i801 i2c_core sdhci_pci sdhci parport_pc parpo
rt tpm_infineon serio_raw lpc_ich psmouse video tpm mmc_core pcspkr intel_agp tpm_bios thermal button container battery mxm_wmi mfd_core mei intel_gtt wmi crc32c_intel ext4 crc
16 jbd2 mbcache sr_mod cdrom hid_generic sd_mod usbhid hid ahci libahci libata scsi_mod ehci_hcd xhci_hcd usbcore usb_common
[  123.745279] Pid: 1663, comm: modprobe Tainted: P        W  O 3.5.3-1-ARCH #1
[  123.745280] Call Trace:
[  123.745290]  [<ffffffff8105096f>] warn_slowpath_common+0x7f/0xc0
[  123.745295]  [<ffffffff81050a66>] warn_slowpath_fmt+0x46/0x50
[  123.745303]  [<ffffffff8131fec9>] ? dev_set_drvdata+0x39/0x50
[  123.745310]  [<ffffffff812a526d>] backlight_device_register+0x1cd/0x210
[  123.745318]  [<ffffffffa024a1dc>] nvidiabl_init+0x1dc/0x436 [nvidiabl]
[  123.745325]  [<ffffffffa024a000>] ? 0xffffffffa0249fff
[  123.745331]  [<ffffffff8100212a>] do_one_initcall+0x12a/0x180
[  123.745339]  [<ffffffff810b398e>] sys_init_module+0x101e/0x1e30
[  123.745343]  [<ffffffff810af190>] ? sys_getegid16+0x50/0x50
[  123.745352]  [<ffffffff814830a9>] system_call_fastpath+0x16/0x1b
[  123.745354] ---[ end trace b06018e945e24882 ]---
[  123.745414] nvidiabl: backup register value 0x40004650
[  123.745415] nvidiabl: autodetecting maximum
[  123.745417] nvidiabl: using value 0x4650 as maximum
[  123.745419] nvidiabl: autodetecting off
[  123.745420] nvidiabl: using value 0x0 as off
[  123.745422] nvidiabl: autodetecting minimum
[  123.745423] nvidiabl: minimum is 5% of maximum
[  123.745425] nvidiabl: using value 0x384 as minimum
gertvdijk commented 12 years ago

I've got the exact same machine as yorickvP and I am not experiencing the issue he mentions about his laptop is resetting the brightness to maximum. Running Ubuntu 12.04.1 with xorg-edgers PPA My kernel is started with the following parameters:

acpi_osi=Linux acpi_backlight=vendor

Without acpi_backlight=vendor nvidiabl won't work at all.

guillaumezin commented 11 years ago

Please have a look at https://github.com/guillaumezin/nvidiabl/issues/56

rickfitz commented 11 years ago

I have the same machine as gertvdijk and yorickvP (HP EliteBook 8570w), currently with Mint 14 (based on Ubuntu 12.10). Backlight control works fine with nvidiabl module loaded (v0.80), but is reset to full brightness by many applications as reported by others. Currently using Nvidia 304.43 driver. However, the 'actual_brightness' value changes to 127 when this happens, so I've added a simple daemon script to test actual_brightness>120 and re-write brightness value (just reads current brightness value and writes it back again). Not an elegant solution(!), but a usable workaround until this get resolved.

gertvdijk commented 11 years ago

@rickfitz Upgrade to a recent 310.x or 313.x Nvidia driver and your problem will vanish. :)