Package Details: nvidia-bl-dkms 18.11.0-2

Git Clone URL: https://aur.archlinux.org/nvidia-bl-dkms.git (read-only, click to copy)
Package Base: nvidia-bl-dkms
Description: Driver to adjust display backlight on legacy mobile NVidia graphics adapters - DKMS edition.
Upstream URL: None
Licenses: GPL
Conflicts: nvidia-bl
Submitter: kiffmet
Maintainer: None
Last Packager: kiffmet
Votes: 4
Popularity: 0.000000
First Submitted: 2018-11-22 23:26 (UTC)
Last Updated: 2018-11-26 20:17 (UTC)

Latest Comments

1 2 Next › Last »

sumdudelr commented on 2024-06-23 17:42 (UTC)

This is a small update to the patch posted earlier by moormaster working with 6.9.5-arch1-1 .

diff --git a/Makefile b/Makefile
index 4c16ce1..1121cf6 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ KDIR    := /usr/lib/modules/$(KVER)/build
 PWD    := $(shell pwd)

 default:
-       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+       $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) modules

 clean:
-       $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
+       $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) clean
diff --git a/PKGBUILD b/PKGBUILD
index 2ffb049..374fea7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,9 +20,9 @@ source=('nvidia_bl.c'
         'nvidia_bl.conf'
         'nvidia_bl_ml.conf'
         'dkms.conf')
-md5sums=('52131bc4de928fbc13c00a44a3538486'
-         'e6a6a05f27e49c53783243e278ad6551'
-         '897ee78c30e6b498d0e3ce07c06dabc5'
+md5sums=('9291ed4649fb3d49af475ab9951bb6ea'
+         'ab33e47171098009a47d11574bbc6ebd'
+        '897ee78c30e6b498d0e3ce07c06dabc5'
          '5771d2ea826f76d8f27bd9fdcb78a76f'
          'b5547c594e8c2d72620e95888bd79d7f')

diff --git a/nvidia_bl.c b/nvidia_bl.c
index c1d3593..152d495 100644
--- a/nvidia_bl.c
+++ b/nvidia_bl.c
@@ -145,7 +145,7 @@ static int nv4x_set_intensity(struct driver_data *dd, unsigned intensity)
        return 0;
 }

-static const struct driver_data nv4x_driver_data __devinitconst = {
+static const struct driver_data nv4x_driver_data = {
        .bar        = 0,
        .reg_offset = NV4X_BRIGHTNESS_OFFSET,
        .reg_size   = 2,
@@ -183,7 +183,7 @@ static int nv5x_set_intensity(struct driver_data *dd, unsigned intensity)
        return 0;
 }

-static const struct driver_data nv5x_driver_data __devinitconst = {
+static const struct driver_data nv5x_driver_data = {
        .bar        = 0,
        .reg_offset = NV5X_PDISPLAY_OFFSET + NV5X_PDISPLAY_BRIGHTNESS_OFFSET,
        .reg_size   = 4,
@@ -538,17 +538,17 @@ static const unsigned nvidia_bl_subvendors[] __initdata = {
 /*
  * Machine specific quirks used below.
  */
-static const struct machine_quirks apple_quirks __initdata = {
+static const struct machine_quirks apple_quirks = {
        .dev_id         = PCI_ANY_ID,
        .max_level      = 1023
 };

-static const struct machine_quirks apple_quirks_320m __initdata = {
+static const struct machine_quirks apple_quirks_320m = {
        .dev_id         = PCI_ANY_ID,
        .max_level      = 44000
 };

-static const struct machine_quirks max_level_0x1ffff __initdata = {
+static const struct machine_quirks max_level_0x1ffff = {
        .dev_id         = PCI_ANY_ID,
        .max_level      = 0x1ffff
 };
@@ -565,7 +565,7 @@ static int nvidia_bl_dmi_match(const struct dmi_system_id *id)
        return 1;
 }

-static const struct dmi_system_id nvidia_bl_machine_table[] __initdata = {
+static const struct dmi_system_id nvidia_bl_machine_table[] = {
        /*
         * Apple machines: Intel chipset, Nvidia graphics
         */
@@ -925,7 +925,7 @@ static int nvidia_bl_map_smartdimmer(struct driver_data *dd)
                       "smartdimmer at 0x%lx\n", dd->bar, bar_start, reg_addr);

        /* Now really map (The address need not be page-aligned.) */
-       dd->smartdimmer = ioremap_nocache(reg_addr, dd->reg_size);
+       dd->smartdimmer = ioremap_cache(reg_addr, dd->reg_size);
        if (!dd->smartdimmer)
                return -ENXIO;

hias commented on 2024-06-04 16:19 (UTC)

Great! The patch from moormaster works for me on 6.6.32-1-lts. I just changed the source files manually. We should get the patches in some 0001-somthing.patch files. And manage the PKGBUID so that makepkg applies the patches, right? I don't feel ready for package maintenance yet. Maybe with some help and more time in daily life.

yaiko commented on 2024-01-10 23:57 (UTC)

Still can't build, any alternative?

`` $ cat /var/lib/dkms/nvidia-bl/18.11.0/build/make.log

DKMS make.log for nvidia-bl-18.11.0 for kernel 6.6.10-arch1-1 (x86_64) Wed Jan 10 20:42:39 -03 2024 make -C /usr/lib/modules/6.6.10-arch1-1/build SUBDIRS=/var/lib/dkms/nvidia-bl/18.11.0/build mod make[1]: Entering directory '/usr/lib/modules/6.6.10-arch1-1/build' SYNC include/config/auto.conf crypto/Kconfig:1425: can't open file "arch/arm/crypto/Kconfig" make[4]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1 make[3]: *** [Makefile:697: syncconfig] Error 2 make[2]: *** [/usr/lib/modules/6.6.10-arch1-1/build/Makefile:798: include/config/auto.conf] Err make[1]: *** [Makefile:234: __sub-make] Error 2 make[1]: Leaving directory '/usr/lib/modules/6.6.10-arch1-1/build' make: *** [Makefile:12: default] Error 2 ``

mileskanda commented on 2023-06-12 21:46 (UTC)

There is no any chance to build it on 6.x kernel?

moormaster commented on 2022-12-27 22:09 (UTC)

I managed to make the plugin build again by extending the patch below:

diff --git a/Makefile b/Makefile
index 4c16ce1..1121cf6 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ KDIR    := /usr/lib/modules/$(KVER)/build
 PWD    := $(shell pwd)

 default:
-   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+   $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) modules

 clean:
-   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
+   $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) clean
diff --git a/PKGBUILD b/PKGBUILD
index 2ffb049..c0add82 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,8 +20,8 @@ source=('nvidia_bl.c'
         'nvidia_bl.conf'
         'nvidia_bl_ml.conf'
         'dkms.conf')
-md5sums=('52131bc4de928fbc13c00a44a3538486'
-         'e6a6a05f27e49c53783243e278ad6551'
+md5sums=('ec32107661f01b63e565fedb00a6acc2'
+         'ab33e47171098009a47d11574bbc6ebd'
          '897ee78c30e6b498d0e3ce07c06dabc5'
          '5771d2ea826f76d8f27bd9fdcb78a76f'
          'b5547c594e8c2d72620e95888bd79d7f')
diff --git a/nvidia_bl.c b/nvidia_bl.c
index c1d3593..e7dfccb 100644
--- a/nvidia_bl.c
+++ b/nvidia_bl.c
@@ -538,17 +538,17 @@ static const unsigned nvidia_bl_subvendors[] __initdata = {
 /*
  * Machine specific quirks used below.
  */
-static const struct machine_quirks apple_quirks __initdata = {
+static const struct machine_quirks apple_quirks = {
    .dev_id     = PCI_ANY_ID,
    .max_level  = 1023
 };

-static const struct machine_quirks apple_quirks_320m __initdata = {
+static const struct machine_quirks apple_quirks_320m = {
    .dev_id     = PCI_ANY_ID,
    .max_level  = 44000
 };

-static const struct machine_quirks max_level_0x1ffff __initdata = {
+static const struct machine_quirks max_level_0x1ffff = {
    .dev_id     = PCI_ANY_ID,
    .max_level  = 0x1ffff
 };
@@ -565,7 +565,7 @@ static int nvidia_bl_dmi_match(const struct dmi_system_id *id)
    return 1;
 }

-static const struct dmi_system_id nvidia_bl_machine_table[] __initdata = {
+static const struct dmi_system_id nvidia_bl_machine_table[] = {
    /*
     * Apple machines: Intel chipset, Nvidia graphics
     */
@@ -925,7 +925,7 @@ static int nvidia_bl_map_smartdimmer(struct driver_data *dd)
               "smartdimmer at 0x%lx\n", dd->bar, bar_start, reg_addr);

    /* Now really map (The address need not be page-aligned.) */
-   dd->smartdimmer = ioremap_nocache(reg_addr, dd->reg_size);
+   dd->smartdimmer = ioremap_cache(reg_addr, dd->reg_size);
    if (!dd->smartdimmer)
        return -ENXIO;

hias commented on 2022-06-14 03:11 (UTC) (edited on 2022-06-15 18:30 (UTC) by hias)

seems to its broken on 5.18.3 :(


running '70-dkms-install.hook'...
==> dkms install --no-depmod nvidia-bl/18.11.0 -k 5.15.46-1-lts
==> dkms install --no-depmod nvidia-bl/18.11.0 -k 5.18.3-arch1-1
Error! Bad return status for module build on kernel: 5.18.3-arch1-1 (x86_64)
Consult /var/lib/dkms/nvidia-bl/18.11.0/build/make.log for more information.
==> WARNING: `dkms install --no-depmod nvidia-bl/18.11.0 -k 5.18.3-arch1-1' exited 10
==> depmod 5.15.46-1-lts

i found this https://forums.developer.nvidia.com/t/linux-kernel-5-18-rcx/210965

hias commented on 2022-01-07 22:10 (UTC)

The patch @rg209834 posted works all so for me on 5.15.12-arch1-1 (MacBookPro7,1)

xirxes commented on 2021-11-04 02:09 (UTC)

The patch @rg209834 posted still works for me on 5.14.16-arch1-1. I'm sure if this patch was integrated into the main pkgbuild we could drop the out of date flag here.

rg209834 commented on 2021-08-28 13:21 (UTC) (edited on 2021-08-28 13:57 (UTC) by rg209834)

Although flagged as out of date (with comment "package is for an old version of the kernel and does not work anymore") it worked for me with 5.10.60 kernel on old macbook (13" mid 2009 model) with legacy nvidia driver (nvidia-340xx-dkms - 340.108-22). This required the changes mentioned by @sapphire.

Here's a git diff -U1 of the changes that can be applied with patch:

diff --git a/Makefile b/Makefile
index 4c16ce1..1121cf6 100644
--- a/Makefile
+++ b/Makefile
@@ -11,5 +11,5 @@ PWD    := $(shell pwd)
 default:
-   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+   $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) modules

 clean:
-   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
+   $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) clean
diff --git a/PKGBUILD b/PKGBUILD
index 2ffb049..a462ba0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,4 +22,4 @@ source=('nvidia_bl.c'
         'dkms.conf')
-md5sums=('52131bc4de928fbc13c00a44a3538486'
-         'e6a6a05f27e49c53783243e278ad6551'
+md5sums=('27fa292bd130799f84fbdbf9839b7c56'
+         'ab33e47171098009a47d11574bbc6ebd'
          '897ee78c30e6b498d0e3ce07c06dabc5'
diff --git a/nvidia_bl.c b/nvidia_bl.c
index c1d3593..ab110d7 100644
--- a/nvidia_bl.c
+++ b/nvidia_bl.c
@@ -927,3 +927,3 @@ static int nvidia_bl_map_smartdimmer(struct driver_data *dd)
    /* Now really map (The address need not be page-aligned.) */
-   dd->smartdimmer = ioremap_nocache(reg_addr, dd->reg_size);
+   dd->smartdimmer = ioremap_cache(reg_addr, dd->reg_size);
    if (!dd->smartdimmer)

After makepkg -sif, I get /sys/class/backlight/nvidia_backlight.

Finally, I had to add the following to the X11 config file /etc/X11/xorg.conf.d/20-nvidia.conf under Section "Device" to get the screen backlight buttons to work:

Option "Backlight" "nvidia_backlight"