Code Monkey home page Code Monkey logo

hid-ghlive-dkms's Introduction

HID driver for Activision GH Live PS3, Wii U, and PS4 Guitar devices

This driver module supports the GH Live devices for PS3, Wii U, and PS4. This module notably allows you to play songs with the 6-fret guitar in Clone Hero with your PS3, Wii U, or PS4 dongle.

Many thanks to InvoxiPlayGames for figuring out the magic control message to send to the PS3 and Wii U device. Also thanks to the authors of the xpadneo and rtlwifi modules, I've used their modules as examples of how to do things. Monkey see, monkey do!

Related Projects

  • GHLPokeMachine: An application for Windows 7+ that allows you to use a GH Live PS3/Wii U or PS4 dongle.
  • GHLtar Utility: An application for MS Windows that allows you to use a GH Live PS3/Wii U dongle, or iOS Bluetooth Guitar, by emulating an Xbox 360 controller.

Getting started

Prerequisites specific to the Steam Deck

  • Disable read-only filesystem: sudo steamos-readonly disable
  • Initialize the pacman keyring: sudo pacman-key --init
  • Populate the keyring with the default keys: sudo pacman-key --populate archlinux

Common Prerequisites

Easiest route is using dkms:

  • On the SteamDeck: sudo pacman -S dkms linux-neptune-headers
  • On Arch and Arch-based distros (like Antergos): sudo pacman -S dkms linux-headers
  • On Debian-based systems (like Ubuntu): sudo apt install dkms linux-headers-`uname -r`
  • On Fedora: sudo dnf install dkms make kernel-devel-`uname -r` kernel-headers-`uname -r`
  • On Manjaro: sudo pacman -S dkms linux-latest-headers
  • On OSMC: sudo apt install dkms rbp2-headers-`uname -r` sudo ln -s "/usr/src/rbp2-headers-`uname -r`" "/lib/modules/`uname -r`/build" (as a workaround)
  • On Raspbian: sudo apt install dkms raspberrypi-kernel-headers

Without dkms, you will require a configured kernel source tree.

How to Install

  1. Clone the git repository: git clone https://github.com/evilynux/hid-ghlive-dkms
  2. Move to the newly created folder: cd hid-ghlive-dkms
  3. With dkms, run sudo ./install.sh or
  4. Without dkms, run cd hid-ghlive && make modules && sudo make modules_install
  5. Done!

How to Update

  1. Move to the cloned-repository folder
  2. Update the cloned repository: git pull
  3. With dkms, run sudo ./uninstall.sh && sudo ./install.shor
  4. Without dkms, run cd hid-ghlive && make reinstall

How to Uninstall

  1. Move to the cloned-repository folder
  2. With dkms, run sudo ./uninstall.sh or
  3. Without dkms, you are on your own, I can't reasonably cover all possibilities

Remarks Specific to the Steam Deck

  • A SteamOS update will wipe out the module, i.e., you will have to reinstall the module after an update.
  • Each time you want to make modifications, you'll first need to make the filesystem writable with sudo steamos-readonly disable.

hid-ghlive-dkms's People

Contributors

dynamix1337 avatar evilynux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hid-ghlive-dkms's Issues

[FR/BUG]add logic to deal with more than one controller pairing

Currently if a second GHlive controller attempts to pair with the dongle it kicks off any existing paired controller.

This happens with the merged hid_sony codebase in mainline as well as with the dkms version.

The original dongle supports at least 2 controllers simultaneously (and likely 4 given the 4 indicator LEDs).

Do the windows drivers support multiple controllers?

Am happy to provide usb pcap if helpful.

Tested on Fedora 37 with 5.19 mainline, fedora and xanmod kernels on x86_64

Can't Install on SteamOS 3.5

Been using this string of commands (as root) for months now every OS update with no issues:

sudo steamos-readonly disable && sudo pacman -Syy && sudo pacman-key --init && sudo pacman-key --populate archlinux && sudo pacman-key --populate && sudo pacman -S dkms && sudo pacman -S dkms linux-neptune-headers && sudo ./install.sh

Simple reboot, and Wii U Live guitar works with no issues. As of SteamOS 3.5, the driver cannot be installed (and is not in the new kernel by default). The error shows SteamOS 3.5 uses different headers for the new kernel, but the old command only gets the old kernel's headers. The headers needed are linux-headers-6.1.52-valve9-1-neptune-61, but what's downloaded is linux-headers-5.13.0-valve37-1-neptune. Using sudo pacman -S linux-headers doesn't work either. Not sure if there's a command to specify the new headers.

Driver not working on Fedora 37

I have a PS4 GHL guitar with the dongle, and I have installed the driver on my Fedora 37 machine. I am quite sure the driver is loaded when I connect the dongle as lsmod shows it, when I connect the dongle.

The problem is that when I pair the guitar with the dongle, it pairs for a second, but then the guitar resets with slow blinking leds.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.