Package Details: macbook12-spi-driver-dkms 0+git.315-1

Git Clone URL: https://aur.archlinux.org/macbook12-spi-driver-dkms.git (read-only, click to copy)
Package Base: macbook12-spi-driver-dkms
Description: Driver for the keyboard, touchpad and touchbar found in newer MacBook (Pro) models
Upstream URL: https://github.com/marc-git/macbook12-spi-driver
Licenses: GPL2
Submitter: christoph.gysin
Maintainer: christoph.gysin
Last Packager: christoph.gysin
Votes: 3
Popularity: 0.000000
First Submitted: 2017-04-19 10:17 (UTC)
Last Updated: 2024-06-10 09:54 (UTC)

Pinned Comments

christoph.gysin commented on 2024-10-21 18:06 (UTC)

Unfortunately I don't have any hardware anymore that is using this driver. If you would like to take over maintenance of this package please get in touch.

Latest Comments

1 2 3 Next › Last »

christoph.gysin commented on 2024-10-21 18:06 (UTC)

Unfortunately I don't have any hardware anymore that is using this driver. If you would like to take over maintenance of this package please get in touch.

orangey456 commented on 2024-10-13 21:08 (UTC) (edited on 2024-10-13 21:12 (UTC) by orangey456)

With kernel 6.11, I get these errors with the DKMS build:

/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-tb.c: At top level:
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-tb.c:1293:19: error: initialization of ‘void (*)(struct platform_device *)’ from incompatible pointer type ‘int (*)(struct platform_device *)’ [-Wincompatible-pointer-types]
 1293 |         .remove = appletb_platform_remove,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-tb.c:1293:19: note: (near initialization for ‘appletb_platform_driver.<anonymous>.remove’)
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-als.c:679:19: error: initialization of ‘void (*)(struct platform_device *)’ from incompatible pointer type ‘int (*)(struct platform_device *)’ [-Wincompatible-pointer-types]
  679 |         .remove = appleals_platform_remove,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-als.c:679:19: note: (near initialization for ‘appleals_platform_driver.<anonymous>.remove’)
make[3]: *** [scripts/Makefile.build:244: /var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-als.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:244: /var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ib-tb.o] Error 1
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.c:192:6: warning: no previous prototype for ‘appleib_detach_and_free_hid_driver’ [-Wmissing-prototypes]
  192 | void appleib_detach_and_free_hid_driver(struct appleib_device *ib_dev,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.c:901:10: error: ‘struct acpi_driver’ has no member named ‘owner’
  901 |         .owner          = THIS_MODULE,
      |          ^~~~~
In file included from ./arch/x86/include/asm/mem_encrypt.h:15,
                 from ./include/linux/mem_encrypt.h:17,
                 from ./arch/x86/include/asm/processor-flags.h:6,
                 from ./arch/x86/include/asm/irqflags.h:5,
                 from ./include/linux/irqflags.h:18,
                 from ./include/linux/spinlock.h:59,
                 from ./include/linux/mmzone.h:8,
                 from ./include/linux/gfp.h:7,
                 from ./include/linux/slab.h:16,
                 from ./include/linux/resource_ext.h:11,
                 from ./include/linux/acpi.h:13,
                 from /var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.c:45:
./include/linux/init.h:180:21: error: initialization of ‘const struct acpi_device_id *’ from incompatible pointer type ‘struct module *’ [-Wincompatible-pointer-types]
  180 | #define THIS_MODULE (&__this_module)
      |                     ^
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.c:901:27: note: in expansion of macro ‘THIS_MODULE’
  901 |         .owner          = THIS_MODULE,
      |                           ^~~~~~~~~~~
./include/linux/init.h:180:21: note: (near initialization for ‘appleib_driver.ids’)
  180 | #define THIS_MODULE (&__this_module)
      |                     ^
/var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.c:901:27: note: in expansion of macro ‘THIS_MODULE’
  901 |         .owner          = THIS_MODULE,
      |                           ^~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:244: /var/lib/dkms/macbook12-spi-driver/0+git.315/build/apple-ibridge.o] Error 1
make[2]: *** [/usr/lib/modules/6.11.3-arch1-1/build/Makefile:1926: /var/lib/dkms/macbook12-spi-driver/0+git.315/build] Error 2
make[1]: *** [Makefile:224: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.11.3-arch1-1/build'
make: *** [Makefile:16: all] Error 2

It does still build successfully with the 6.6 LTS kernel.

LukeShortCloud commented on 2024-06-07 23:58 (UTC)

As of last week, the linux-6.4.patch has been upstreamed. The PKGBUILD now fails because it cannot apply the patch.

https://github.com/marc-git/macbook12-spi-driver/commit/807b65b6d9d7c29bd7ff633fbb80596a343e9eb9

LukeShortCloud commented on 2024-04-13 16:04 (UTC)

makepkg refuses to build this package now with this error message: ==> ERROR: groups does not allow empty values. I found another AUR package that ran into this same problem. They had to remove groups=('') from the PKGBUILD to resolve it.

https://aur.archlinux.org/packages/zelcore#comment-963612 https://aur.archlinux.org/cgit/aur.git/commit/?h=zelcore&id=418f78ebdb076b8c50286779e08aa30ed4de3e67

JamesArchibald commented on 2023-07-15 19:25 (UTC)

Working, thanks very much!

christoph.gysin commented on 2023-07-15 07:09 (UTC)

@JamesArchibald Added patch for linux-6.4. Thanks!

JamesArchibald commented on 2023-07-15 06:17 (UTC)

When I try to run makepkg with this, I run into the following error:

DKMS make.log for macbook12-spi-driver-0+git.314 for kernel 6.4.3-arch1-1 (x86_64)
Sat Jul 15 06:07:50 PM NZST 2023
make -C /usr/lib/modules/6.4.3-arch1-1/build M=/var/lib/dkms/macbook12-spi-driver/0+git.314/build modules
  CC [M]  /var/lib/dkms/macbook12-spi-driver/0+git.314/build/applespi.o
  CC [M]  /var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ibridge.o
  CC [M]  /var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ib-tb.o
  CC [M]  /var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ib-als.o
/var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ib-tb.c: In function ‘appletb_fill_report_info’:
/var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ib-tb.c:949:9: warning: enumeration value ‘HID_REPORT_TYPES’ not handled in switch [-Wswitch]
  949 |         switch (field->report->type) {
      |         ^~~~~~
/var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ibridge.c:905:35: error: initialization of ‘void (*)(struct acpi_device *)’ from incompatible pointer type ‘int (*)(struct acpi_device *)’ [-Werror=incompatible-pointer-types]
  905 |                 .remove         = appleib_remove,
      |                                   ^~~~~~~~~~~~~~
/var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ibridge.c:905:35: note: (near initialization for ‘appleib_driver.ops.remove’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /var/lib/dkms/macbook12-spi-driver/0+git.314/build/apple-ibridge.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:2026: /var/lib/dkms/macbook12-spi-driver/0+git.314/build] Error 2
make: *** [Makefile:16: all] Error 2

Any ideas?

I'm running 6.4.3-arch1-1 on a MacBookPro13,3

I have the following modules in my mkinitcpio.conf

MODULES=(applespi intel_lpss_pci spi_pxa2xx_platform)

LukeShortCloud commented on 2023-06-21 02:54 (UTC)

Thanks for updating the PKGBUILD to use the new git repository! I can confirm that the DKMS now builds and works with linux-lts (currently 6.1.34-1-lts).

LukeShortCloud commented on 2023-06-04 02:03 (UTC)

Ever since Linux 6.0, there's been issues building this driver.

The first issue:

applespi.c:1810:38: error: invalid application of 'sizeof' to incomplete type 'struct efivar_entry'

The second issue:

applespi.c:1846.c:1846:15 error: implicit declaration of function "efivar_entry_set_safe" [-Werror=implicit-function-declaration]

Patching out the back light functionality of the touchbar driver seems to at least fix the first issue: https://github.com/marc-git/macbook12-spi-driver/commit/b50cbf3c047acbcfd66dac4e8ebb649d0f4de3c8

For more context, see: https://github.com/Dunedan/mbp-2016-linux/issues/189#issuecomment-1501535065

christoph.gysin commented on 2022-09-18 18:59 (UTC)

I don't have a device with a touchbar, check upstream for any documentation about setting it up: https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7#keyboardtouchpadtouchbar