Package Details: xboxdrv 0.8.8-7

Git Clone URL: https://aur.archlinux.org/xboxdrv.git (read-only, click to copy)
Package Base: xboxdrv
Description: Userspace gamepad driver for Linux
Upstream URL: http://pingus.seul.org/~grumbel/xboxdrv
Licenses: GPL3
Submitter: None
Maintainer: anthraxx (nvllsvm)
Last Packager: nvllsvm
Votes: 251
Popularity: 1.08
First Submitted: 2009-11-17 12:07
Last Updated: 2021-11-01 00:46

Pinned Comments

anthraxx commented on 2017-11-07 23:55

use extra-x86_64-build from devtools to build this project

Latest Comments

1 2 3 4 5 6 ... Next › Last »

Ashark commented on 2022-01-23 16:39

Please change the URL to https://gitlab.com/xboxdrv/xboxdrv
Took some time to search where the project was moved. And that http://pingus.seul.org/~grumbel/xboxdrv link is not working.

psypherium commented on 2021-10-11 03:57

After doing some research and installing "pip" the workaround now works to get this compiled. This package should be considered "broken" until the workaround steps are integrated into the package itself. Packages which require manual intervention should be classed as "broken".

parin commented on 2021-09-21 16:20

@lygamac Solution works , Follow the 6 steps menition in his comment Below

antonrud commented on 2021-09-15 18:03

@lygamac thx! Your instructions worked for me.

slack_twot commented on 2021-08-30 01:59

Clean build fails when compiling XBoxdrv with scons errors:


scons: *** [src/xboxdrv_vfs.hpp] AttributeError : 'SConsEnvironment' object has no attribute 'has_key'
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/SCons/Action.py", line 1279, in execute
    result = self.execfunction(target=target, source=rsources, env=env)
  File "/var/tmp/pamac-build-spongebob/xboxdrv/src/xboxdrv-0.8.8/SConstruct", line 39, in build_bin2h
    if env.has_key("BIN2H_NAMESPACE"):
  File "/usr/lib/python3.9/site-packages/SCons/Environment.py", line 2384, in __getattr__
    attr = getattr(self.__dict__['__subject'], name)
AttributeError: 'SConsEnvironment' object has no attribute 'has_key'
In file included from /usr/include/boost/bind.hpp:30,
                 from src/controller.cpp:21:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
src/chatpad.cpp: In constructor ‘Chatpad::Chatpad(libusb_device_handle*, uint16_t, bool, bool)’:
src/chatpad.cpp:62:9: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
   62 |   memset(m_keymap, 0, 256);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~
scons: building terminated because of errors.
==> ERROR: A failure occurred in build().

Zimmy commented on 2021-08-20 16:16

i installed everything correctly, got xboxdrv working but my system is still not detecting any input, any clues? It does vibrate (through steam gamepad controll only)

Doubl33n commented on 2021-08-17 16:02

@hardas When I tried running the patch -p1 < pkgbuild.patch command, it complained that the latter patch file is invalid Hunk #2 FAILED at 34. I think the different metadata you get when creating it makes the patch file invalid for makepkg.

But it is not going to be an issue once you run sha512sum fix-99-scons-unsupported-has_key.patch inside the source directory, copy the resulting sha512 sum, and replace 7ba08694be005eae98320957e4be6a84ff77f8b2ea2973dafc300527380074cdb6a3e0692d6c1e285d919cb6f795c494955997782c59a30e9672b65548c86a2f with your new sum.

Once I did this, it worked absolutely fine. So thanks a lot for this, I was eagerly waiting for a fix and just created this account to respond!

hardas commented on 2021-08-16 11:20

The way I installed it was as follows:

Download the file using the helper script of my choice (trizen) trizen -G xboxdrv

Create a new patch file with the necessary changes by running the following:

cat > fix-99-scons-unsupported-has_key.patch <<EOF
--- a/SConstruct        2015-11-09 12:19:35.000000000 +0200
+++ b/SConstruct        2021-08-16 13:47:50.103369128 +0300
@@ -36,7 +36,7 @@
     with open(target[0].get_path(), "w") as fout:
         fout.write("// autogenerated by scons Bin2H builder, do not edit by hand!\n\n")

-        if env.has_key("BIN2H_NAMESPACE"):
+        if "BIN2H_NAMESPACE" in env:
             fout.write("namespace %s {\n\n" % env["BIN2H_NAMESPACE"])

         # write down data
@@ -62,7 +62,7 @@
                                     for src in source], ",\n"))
             fout.write("\n}\n\n")

-        if env.has_key("BIN2H_NAMESPACE"):
+        if "BIN2H_NAMESPACE" in env:
             fout.write("} // namespace %s\n\n" % env["BIN2H_NAMESPACE"])

         fout.write("/* EOF */\n")
EOF

Modify the existing PKGBUILD file to apply the new patch

cat > pkgbuild.patch << EOF
--- a/PKGBUILD  2021-08-16 14:10:44.000000000 +0300
+++ b/PKGBUILD  2021-08-16 14:09:15.904713382 +0300
@@ -18,13 +18,15 @@
         xboxdrv.default
         fix-60-sec-delay.patch
         scons-py3.patch
-        xboxdrvctl-py3.patch)
+        xboxdrvctl-py3.patch
+        fix-99-scons-unsupported-has_key.patch)
 sha512sums=('3f27856da211a14e27a84fa5919da7965262adc36da16c75eed9bae891098183b5751a3e707573b4ab64e69096ea74d455e8f64827c88b38b65af94cc13b34ad'
             'f1a4e7b1a06e951c3a4f5bcdec5f14db542b34963950619f0d4b1ee324d64b18ca2f63642719ef65a63e424702fb0eb33e0259937906732e587b96a9582c2e6b'
             '4f6e9a12b208254e19daba477dd7787147a8b2c8a83007d92f8cfce6212c21ce3306f23a2669080f0e46986ca102ab08c262b42c678caf1a891326b4e2c40b5f'
             '58170b3f96f02e5ba0af5f6641482fb1c612ca70650e475d68b55c05a62ec0831033190b90e591d593fd6b25c2a155e6c4975f37eef1534245947156a5e3285f'
             'b3a3bbb51fa1c4ad4dd898136c3bf7c0f13193bdd07bbcb5c8243edb747c68223fe8c5bd2fd578f6c2b18844827524abb0533ce98b6e0e60fe936597cdba811d'
-            '4e6de460523c1ddfc608b3bd6fb211a7ca0516b64a2d91e01b51deaa4fcc57d64985bb2ccfca43873efef4987e0d04741f0e97dbd6b77037a4417a97cb8d0bf9')
+            '4e6de460523c1ddfc608b3bd6fb211a7ca0516b64a2d91e01b51deaa4fcc57d64985bb2ccfca43873efef4987e0d04741f0e97dbd6b77037a4417a97cb8d0bf9'
+            '7ba08694be005eae98320957e4be6a84ff77f8b2ea2973dafc300527380074cdb6a3e0692d6c1e285d919cb6f795c494955997782c59a30e9672b65548c86a2f')

 prepare() {
   cd ${pkgname}-${pkgver}
@@ -32,6 +34,7 @@
   patch -p1 < "${srcdir}/fix-60-sec-delay.patch"
   patch -p1 < "${srcdir}/scons-py3.patch"
   patch -p1 < "${srcdir}/xboxdrvctl-py3.patch"
+  patch -p1 < "${srcdir}/fix-99-scons-unsupported-has_key.patch"
 }

 build() {
EOF

Apply the modifications patch -p1 < pkgbuild.patch

Build and install the package makepkg -si

(Updated to fix invalid sha512sum and typos)

lygamac commented on 2021-08-11 18:51

SCons has dropped support for has_key. I bypassed this error by adding has_key = __contains__ in the python file. However, a new error appears (a variable wasn't declared).

@Wodger If you want to install the package now, try this, which worked for me:

  1. Clone this repo
  2. Open the PKGBUILD file with your favorite editor
  3. Where makedepends, remove scons
  4. Where build(), change scons to python3 ~/.local/bin/scons
  5. save the file
  6. pip install 'scons==4.1' and makepkg -si

Wodger commented on 2021-08-06 05:59

Fails to build at the moment:

File "/usr/lib/python3.9/site-packages/SCons/Environment.py", line 2384, in getattr attr = getattr(self.dict['__subject'], name) AttributeError: 'SConsEnvironment' object has no attribute 'has_key' scons: building terminated because of errors. ==> ERROR: A failure occurred in build(). Aborting...