← Back to team overview

touch-packages team mailing list archive

[Bug 1452204] [NEW] evdev device for retro-bit NES controller adapter isn't set up as a joystick

 

Public bug reported:

Games which rely on SDL2 (and tools like antimicro) can't see the retro-
bit NES controller adapter by default because SDL2 has dropped support
for the old /dev/input/jsX API and udev lacks a rule to permission the
/dev/input/eventX node appropriately and set the ID_INPUT_JOYSTICK flag.

The following rule (or equivalent) needs to be added to the system-
provided udev rules.

SUBSYSTEM=="input", ATTRS{name}=="INNEX NES Controller USB",
MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

I come to this conclusion because:
1. Until the mode is changed, feeding evtest with an explicit input device number results in a permissions error.
2. Globally allowing users to read joystick input poses no security risk and the data is already mirrored via /dev/input/jsX which is 0666 already.
3. Once the mode is changed, sdl2-jstest and antimicro still cannot see it.
4. Once ID_INPUT_JOYSTICK=1 is set, sdl2-jstest and antimicro work just as well as sdl-jstest and jstest-gtk, which use the old API.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: udev 204-5ubuntu20.11
ProcVersionSignature: Ubuntu 3.13.0-48.80-generic 3.13.11-ckt16
Uname: Linux 3.13.0-48-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.1-0ubuntu3.10
Architecture: amd64
CurrentDesktop: LXDE
CustomUdevRuleFiles: 99-escpos.rules 49-teensy.rules 99-nes-controller.rules 99-TrueRNG.rules
Date: Wed May  6 05:39:13 2015
InstallationDate: Installed on 2014-08-01 (278 days ago)
InstallationMedia: Lubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
MachineType: Gigabyte Technology Co., Ltd. GA-880GMA-USB3
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-48-generic root=UUID=d8313afd-996d-4d2c-9764-02e9336e03fd ro verbose
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/07/2011
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F2
dmi.board.name: GA-880GMA-USB3
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrF2:bd03/07/2011:svnGigabyteTechnologyCo.,Ltd.:pnGA-880GMA-USB3:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnGA-880GMA-USB3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
dmi.product.name: GA-880GMA-USB3
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

** Affects: systemd (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug third-party-packages trusty

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1452204

Title:
  evdev device for retro-bit NES controller adapter isn't set up as a
  joystick

Status in systemd package in Ubuntu:
  New

Bug description:
  Games which rely on SDL2 (and tools like antimicro) can't see the
  retro-bit NES controller adapter by default because SDL2 has dropped
  support for the old /dev/input/jsX API and udev lacks a rule to
  permission the /dev/input/eventX node appropriately and set the
  ID_INPUT_JOYSTICK flag.

  The following rule (or equivalent) needs to be added to the system-
  provided udev rules.

  SUBSYSTEM=="input", ATTRS{name}=="INNEX NES Controller USB",
  MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

  I come to this conclusion because:
  1. Until the mode is changed, feeding evtest with an explicit input device number results in a permissions error.
  2. Globally allowing users to read joystick input poses no security risk and the data is already mirrored via /dev/input/jsX which is 0666 already.
  3. Once the mode is changed, sdl2-jstest and antimicro still cannot see it.
  4. Once ID_INPUT_JOYSTICK=1 is set, sdl2-jstest and antimicro work just as well as sdl-jstest and jstest-gtk, which use the old API.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: udev 204-5ubuntu20.11
  ProcVersionSignature: Ubuntu 3.13.0-48.80-generic 3.13.11-ckt16
  Uname: Linux 3.13.0-48-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.14.1-0ubuntu3.10
  Architecture: amd64
  CurrentDesktop: LXDE
  CustomUdevRuleFiles: 99-escpos.rules 49-teensy.rules 99-nes-controller.rules 99-TrueRNG.rules
  Date: Wed May  6 05:39:13 2015
  InstallationDate: Installed on 2014-08-01 (278 days ago)
  InstallationMedia: Lubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
  MachineType: Gigabyte Technology Co., Ltd. GA-880GMA-USB3
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-48-generic root=UUID=d8313afd-996d-4d2c-9764-02e9336e03fd ro verbose
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 03/07/2011
  dmi.bios.vendor: Award Software International, Inc.
  dmi.bios.version: F2
  dmi.board.name: GA-880GMA-USB3
  dmi.board.vendor: Gigabyte Technology Co., Ltd.
  dmi.board.version: x.x
  dmi.chassis.type: 3
  dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
  dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrF2:bd03/07/2011:svnGigabyteTechnologyCo.,Ltd.:pnGA-880GMA-USB3:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnGA-880GMA-USB3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
  dmi.product.name: GA-880GMA-USB3
  dmi.sys.vendor: Gigabyte Technology Co., Ltd.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1452204/+subscriptions


Follow ups

References