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

Git Clone URL: https://aur.archlinux.org/hid-lg-g710-plus-dkms-git.git (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: http://github.com/wdouglass/logitech-g710-linux-driver
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
Last Updated: 2018-10-29 01:43

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

eschwartz commented on 2018-07-11 05:03

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:

srcdir

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

startdir

  • 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

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

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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

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

forivall commented on 2018-06-24 15:48

I added @Zeth's patches.

Zeth commented on 2018-06-02 10:29

@thorsteng Does your problem still exist? It looks like this issue: https://forum.manjaro.org/t/manjaro-4-14-15-version-magic-doesnt-match-prevents-module-from-loading/39318/7

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:

--- a/PKGBUILD
+++ b/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)
+endif
 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

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

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

forivall commented on 2015-04-04 02:58

Use https://aur.archlinux.org/packages/hid-lg-g710-plus-dkms-git/ 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

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 https://github.com/Lompik/logitech-g710-linux-driver

Lompik commented on 2014-11-16 16:45

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 :)


diff --git a/src/kernel/hid-lg-g710-plus.c b/src/kernel/hid-lg-g710-plus.c
index 5100b0b..7df6485 100644
--- a/src/kernel/hid-lg-g710-plus.c
+++ b/src/kernel/hid-lg-g710-plus.c
@@ -79,8 +79,10 @@ static ssize_t lg_g710_plus_store_led_macro(struct device *device, struct device
static ssize_t lg_g710_plus_show_led_keys(struct device *device, struct device_attribute *attr, char *buf);
static ssize_t lg_g710_plus_store_led_keys(struct device *device, struct device_attribute *attr, const char *buf, size_t count);

-static DEVICE_ATTR(led_macro, S_IRUGO | S_IWUGO, lg_g710_plus_show_led_macro, lg_g710_plus_store_led_macro);
-static DEVICE_ATTR(led_keys, S_IRUGO | S_IWUGO, lg_g710_plus_show_led_keys, lg_g710_plus_store_led_keys);
+//static DEVICE_ATTR(led_macro, S_IRUGO | S_IWUGO, lg_g710_plus_show_led_macro, lg_g710_plus_store_led_macro);
+//static DEVICE_ATTR(led_keys, S_IRUGO | S_IWUGO, lg_g710_plus_show_led_keys, lg_g710_plus_store_led_keys);
+static DEVICE_ATTR(led_macro, 0660, lg_g710_plus_show_led_macro, lg_g710_plus_store_led_macro);
+static DEVICE_ATTR(led_keys, 0660, lg_g710_plus_show_led_keys, lg_g710_plus_store_led_keys);

static struct attribute *lg_g710_plus_attrs[] = {
&dev_attr_led_macro.attr,