Package Details: hid-lg-g710-plus-dkms-git r34.8433ee4-5

Git Clone URL: (read-only, click to copy)
Package Base: hid-lg-g710-plus-dkms-git
Description: Linux DKMS kernel module allowing use of extra keys and LEDs on the Logitech G710+
Upstream URL:
Keywords: g710 g710+ logitech
Licenses: GPL2
Conflicts: hid-lg-g710-plus, logitech-g710, logitech-g710-kmod-git
Provides: hid-lg-g710-plus
Submitter: forivall
Maintainer: jonpas
Last Packager: jonpas
Votes: 9
Popularity: 0.000000
First Submitted: 2015-04-04 02:50 (UTC)
Last Updated: 2018-10-29 01:43 (UTC)

Latest Comments

jonpas commented on 2021-02-01 00:59 (UTC)

@layne Yes, I just did a clean build of it on kernel 5.10.11.

layne commented on 2021-01-31 19:15 (UTC)

Is this still working for anyone? I was not able to get this to build successfully.

jonpas commented on 2018-10-29 18:23 (UTC)

Package should now be clean and not throw any DKMS installation errors anymore (now using pacman hooks). Let me know if there are any issues!

jonpas commented on 2018-10-26 01:50 (UTC)

@aereaux Thank you, that is my next cleanup step, just wanted to get it updated first. :)

aereaux commented on 2018-10-26 01:14 (UTC)

You don't need the .install file. It should be automatically handled by the dkms pacman hooks.

forivall commented on 2018-10-25 22:05 (UTC)

Thanks @jonpas. Yeah, sorry for being absent, the computer that I use my 710+ with is usually running Windows for the games. Life gets busy, y'know?

jonpas commented on 2018-10-25 21:52 (UTC)

I have decided to take over as maintainer of this package. Thanks to forivall for maintaining it so far.

I have switched to wdouglass' fork of the driver, which includes fixed compiling (kernel version issue) and adds support for kernel LED API. General cleanup of the package was also performed.

Let me know if anything is broken and I will try to respond in a timely manner.

aereaux commented on 2018-08-11 02:32 (UTC)

@Zeth I think that should work. Only thing is that the patching should probably go in the package() function.

Zeth commented on 2018-08-09 09:11 (UTC)

@Eschwartz: yes, it's gross because I didn't know how to include a file in the src tree. @aereaux: The issue comes from the upstream module code ignoring the kernel version.

I incorporated the suggestions by Eschwartz and found this patch to work better:

The whole work looks like this:


--- a/src/kernel/dkms.conf
+++ b/src/kernel/dkms.conf
@@ -1,8 +1,8 @@
-CLEAN="make clean"
+MAKE="make KVERSION=$kernelver"
+CLEAN="make clean KVERSION=$kernelver"


# Maintainer: forivall <>

pkgdesc="Linux dkms kernel module to allow use of extra keys on the Logitech g710+ (logitech-g710-linux-driver)"
arch=('i686' 'x86_64')
depends=('dkms' 'linux-headers')
conflicts=('logitech-g710-kmod-git' 'hid-lg-g710-plus' 'logitech-g710')


pkgver() {
  cd "$srcdir/$_pkgbase"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"

# build() {
#   cd "$srcdir/$_pkgbase"
#   # make
# }

package() {
  cd "$srcdir/$_pkgbase"

  # patch kernel version detection
  patch -p1 -i "$srcdir/makefile.patch"

  local rev="$(git rev-parse --short HEAD)"

  # msg2 "Starting make install..."
  # make DESTDIR="${pkgdir}" install

  # copy dkms.conf
  # install -Dm644 src/kernel/dkms.conf "${pkgdir}/usr/src/${_pkgbase}-$pkg/dkms.conf"

  # copy sources
  msg2 "Copying sources, including dkms.conf..."
  mkdir -p "${pkgdir}/usr/src/"
  cp -r src/kernel "${pkgdir}/usr/src/${_pkgbase}-$pkgver/"

  msg2 "Copying udev rules..."
  mkdir -p "${pkgdir}/etc/udev/rules.d/"
  cp misc/90-logitech-g710-plus.rules "$pkgdir/etc/udev/rules.d/"

  msg2 "Copying .Xmodmap..."
  mkdir -p "${pkgdir}/usr/share/logitech-g710/"
  cp misc/.Xmodmap "${pkgdir}/usr/share/logitech-g710/"

# vim:set ts=2 sw=2 et:

When I down-/upgrade linux and linux-headers now, there's no error popping up for me. Can you confirm that?

aereaux commented on 2018-07-13 19:57 (UTC)

This is also still wrong as far as building for the right kernel, as well. When the kernel is updated, the build (in the hook) fails because it is looking for the wrong version. I think the variable you need to use is $kernelver, although I'm not sure that's the only change that might be needed. Anyways, this page might help:

eschwartz commented on 2018-07-11 05:03 (UTC) (edited on 2018-07-11 05:04 (UTC) by eschwartz)

That's utterly gross, what makes this package different from pretty much every other PKGBUILD ever written which uses $srcdir?

The problem with ../../ is that it's completely wrong and at the beginning of the package function (before any cd) will point to a file two directories above the actual PKGBUILD, which makes no sense whatsoever...

$startdir is just wrong because makepkg by design is supposed to unify $startdir and $SRCDEST (which might not be the same) by symlinking everything to $srcdir.

Please read the PKGBUILD(5) manpage and take heed of:


  • This contains the directory where makepkg extracts, or copies, all source files.


  • This contains the absolute path to the directory where the PKGBUILD is located, which is usually the output of $(pwd) when makepkg is started. Use of this variable is deprecated and strongly discouraged.

Zeth commented on 2018-06-26 20:08 (UTC)

Interesting, didn't know that. It works with the relative path on my system but with $srcdir is pointing to hid-lg-g710-plus-dkms-git/src/makefile.patch so it's not working, too. Just found the proper variable: $startdir

@@ -31,7 +31,7 @@

 package() {
   # patch kernel version detection
-  patch "$srcdir/$_pkgbase/src/kernel/Makefile" < "../../makefile.patch"
+  patch "$srcdir/$_pkgbase/src/kernel/Makefile" < "$startdir/makefile.patch"

   cd "$srcdir/$_pkgbase"

Sorry for that <.<

aereaux commented on 2018-06-25 01:41 (UTC)

../../makefile.patch is not always the correct path. $srcdir/makefile.patch should work instead.

forivall commented on 2018-06-24 15:48 (UTC) (edited on 2018-06-24 15:48 (UTC) by forivall)

I added @Zeth's patches.

Zeth commented on 2018-06-02 10:29 (UTC) (edited on 2018-06-02 10:33 (UTC) by Zeth)

@thorsteng Does your problem still exist? It looks like this issue:

Another thing I noticed is that this module fails to build directly after a new kernel was installed. That is because the module itself assumes you want to build for your current running kernel instead for the "next".

I did a quick fix for myself, here are the patches. PKGBUILD:

@@ -30,6 +30,9 @@
 # }

 package() {
+  # patch kernel version detection
+  patch "$srcdir/$_pkgbase/src/kernel/Makefile" < "../../makefile.patch"
   cd "$srcdir/$_pkgbase"

   local rev="$(git rev-parse --short HEAD)"

The makefile.patch looks like this:

--- a/src/kernel/Makefile
+++ b/src/kernel/Makefile
@@ -1,5 +1,7 @@

-KVERSION = $(shell uname -r)
+ifndef KVERSION
+  KVERSION = $(shell uname -r)
 KDIR := /lib/modules/$(KVERSION)/build
 PWD := $(shell pwd)

And the lastly the install file hid-lg-g710-plus-dkms.install:

--- a/hid-lg-g710-plus-dkms.install
+++ b/hid-lg-g710-plus-dkms.install
@@ -2,7 +2,8 @@
 # new version (without -$pkgrel): ${2%%-*}

 post_install() {
-    dkms install hid-lg-g710-plus/${1%%-*}
+    export KVERSION="$(pacman -Q | grep "^linux " | cut -d " " -f 2)-ARCH"
+    dkms install hid-lg-g710-plus/${1%%-*} -k $KVERSION

 pre_upgrade() {
@@ -14,5 +15,8 @@

 pre_remove() {
-    dkms remove hid-lg-g710-plus/${1%%-*} --all
+    dkms status | grep "^hid-lg-g710-plus, ${1%%-*}"
+    if [ $? -eq 0 ]; then
+       dkms remove hid-lg-g710-plus/${1%%-*} --all
+    fi

thorsteng commented on 2018-01-31 20:15 (UTC)

After the last update the module does not run anymore.

I installed with yaourt and everything runs without a error message, then I recognized that the g-keys not working anymore. I searched a bit and tried to insert the module manually with the following error:

sudo modprobe hid-lg-g710-plus modprobe: ERROR: could not insert 'hid_lg_g710_plus': Exec format error

dmesg tells me:

[12338.792998] hid_lg_g710_plus: version magic '4.4.113-1-MANJARO SMP preempt mod_unload modversions retpoline ' should be '4.4.113-1-MANJARO SMP preempt mod_unload modversions '

I'm on manjaro here with latest packages installed. Can anyone help?

Regards Thorsten

AlexanderS commented on 2017-11-12 13:29 (UTC)

I think the udev rules file should be installed into /usr/lib/udev/rules.d/.

forivall commented on 2015-04-04 02:58 (UTC)

Use instead. However, I'm currently using manjaro with the 3.18 kernel, so lompik's fork should be used instead. I'll update that package to use lompik's repository instead, whenever i decide to upgrade to 3.19 (soon).

Lompik commented on 2014-11-20 00:00 (UTC)

I managed to get it build. Also confirm its working. But I'm not using makepkg. I went to the logitech-g710-kmod-git/src/logitech-g710-linux-driver folder, applied the patch below, run make install, depmod -a, and copied to required file to /etc/udev/rules.d/. Unplugged keyboard .. and play :) see

tesfabpel commented on 2014-06-04 19:12 (UTC)

Please update this package...

trougnouf commented on 2013-12-19 18:30 (UTC)

I'm getting this error :( ==> Starting build()... ==> Connecting to GIT server.... Cloning into 'logitech-g710-linux-driver'... remote: Counting objects: 62, done. remote: Compressing objects: 100% (46/46), done. remote: Total 62 (delta 20), reused 55 (delta 13) Receiving objects: 100% (62/62), 41.06 KiB | 0 bytes/s, done. Resolving deltas: 100% (20/20), done. Checking connectivity... done. ==> GIT checkout done or server timeout ==> Starting build... Cloning into '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build'... done. for dir in src/kernel src/userspace; do make -C $dir default; done make[1]: Entering directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/kernel' make -C /lib/modules/3.12.4-1-ARCH/build M=/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/kernel modules make[2]: Entering directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/kernel' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[2]: *** /lib/modules/3.12.4-1-ARCH/build: No such file or directory. Stop. make[2]: Leaving directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/kernel' Makefile:11: recipe for target 'build' failed make[1]: *** [build] Error 2 make[1]: Leaving directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/kernel' make[1]: Entering directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/userspace' make[1]: Nothing to be done for 'default'. make[1]: Leaving directory '/tmp/yaourt-tmp-atrougnouf/aur-logitech-g710-kmod-git/src/logitech-g710-linux-driver-build/src/userspace' ==> Entering fakeroot environment... ==> Starting package()... install: cannot stat ‘src/kernel/hid-lg-g710-plus.ko’: No such file or directory ==> ERROR: A failure occurred in package(). Aborting... ==> ERROR: Makepkg was unable to build logitech-g710-kmod-git. ==> Restart building logitech-g710-kmod-git ? [y/N]