[KERNEL]Kernel with full support for XBox 360 / One controllers[v1.3]

Search This thread

macdaddie87

Senior Member
Jan 31, 2010
259
83
Its not quite pointless i have 4 xbox one first gen controllers ide very much rather use then buy a new one

Not pointless but redundant. . It's so much work that needs to constantly be worked on every time there is an update and it has very little payoff. Just upgrade your controllers to the Bluetooth version. Its a nice idea just redundant these days
 

brandonlee96

Senior Member
May 3, 2014
282
76
Because of the annoying constantly blinking LEDs of the wireless Xbox 360 controller I decided to compile an updated kernel myself.
I was Inspired by this post.
This kernel is 100% Nvidia source. The only difference is the backported xpad driver.
It is intended for use with Nvidia Shield Marshmallow firmware including zulu99's StockRestyle and full Android Marshmallow firmwares.

I have only tested it with the Pro model. It has been reported that it works with the 16GB model also.
Xbox One controllers are working also but only wired.
You can test the kernel by booting the new kernel with fastboot boot boot_xpad.img before flashing it.
If you are using systemless SuperSU (v2.56+) keep in mind that you will lose root when you flash or boot a new kernel.

Installation:



Afterwards you can install SuperSU again by booting into recovery and installing the SuperSU.zip.

Download:
v1.4 kernel for firmware v3.3.0 with latest xpad driver from kernel.org
https://mega.nz/#!kUFHDSrY!eBMGNwKvTvr0TGyKRL2sNZQvscelxmGOA3RjKFXoaho

v1.3 kernel for firmware v3.2.0 with xpad driver from Linux kernel 4.7 rc6
https://mega.nz/#!UI1TwCaL!S8BCXWaKBU282mgW_TOtZfFN_69rG_BJnMwYdEkLUxc

v1.2 kernel for firmware v3.1.0 with latest xpad driver from Valve
https://mega.nz/#!cdExRSRI!FyhswyMsBRl3QrrPG--U0EYi_UMwjVi7e3Qiui2xKls

v1.1 kernel for firmware v3.0.0 with latest xpad driver from Valve
https://mega.nz/#!cZF3QZaD!bkQLTwECsH08cxCeef3s7ZR25hqLrr2gc6pNbvDLqm4

v1.0 kernel for firmware v3.0.0 with xpad driver from Linux kernel 4.5
https://mega.nz/#!sNNkCTZQ!TQVxESGSRadb0ueync5uGhnjf2obYzw_Mhh_tGLVgiE

Changelog:
Doea this work on the lastest 7.2 sheild experience update?
2017 16gb
 

brandonlee96

Senior Member
May 3, 2014
282
76
For use with Marshmallow.. If that does not tell you enough to know, you should overthink flashing anything on your shield. No offense meant, but you are lacking knowledge that is vital if you want to modify an android system
Thanks for being a smartass but okay prick





But I can flash anything I want on the Sheild an brick it an put it back on stock firmware! But thanks for being a smart ass prick I appreciate you
 
Last edited:

ArbiterOfPain

New member
Dec 27, 2017
1
0
Yeah, no worries. Tell that to my $200 elite controller.

Than compile the kernel yourself with the extra modules. The Bluetooth controllers and Nvidias update to support them made this kernel/module redundant for most people. So it's not hard to imagine why no one wants to compile the kernel for you and keep it up to date with every Nvidia update, just to keep your elite controller from redundancy on a system it wasn't designed for. :good:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Because of the annoying constantly blinking LEDs of the wireless Xbox 360 controller I decided to compile an updated kernel myself.
    I was Inspired by this post.
    This kernel is 100% Nvidia source. The only difference is the backported xpad driver.
    It is intended for use with Nvidia Shield Marshmallow firmware including zulu99's StockRestyle and full Android Marshmallow firmwares.

    I have only tested it with the Pro model. It has been reported that it works with the 16GB model also.
    Xbox One controllers are working also but only wired.
    You can test the kernel by booting the new kernel with fastboot boot boot_xpad.img before flashing it.
    If you are using systemless SuperSU (v2.56+) keep in mind that you will lose root when you flash or boot a new kernel.

    Installation:

    Code:
    adb reboot bootloader
    
    fastboot flash boot boot_xpad.img

    Afterwards you can install SuperSU again by booting into recovery and installing the SuperSU.zip.

    Download:
    v1.4 kernel for firmware v3.3.0 with latest xpad driver from kernel.org
    https://mega.nz/#!kUFHDSrY!eBMGNwKvTvr0TGyKRL2sNZQvscelxmGOA3RjKFXoaho

    v1.3 kernel for firmware v3.2.0 with xpad driver from Linux kernel 4.7 rc6
    https://mega.nz/#!UI1TwCaL!S8BCXWaKBU282mgW_TOtZfFN_69rG_BJnMwYdEkLUxc

    v1.2 kernel for firmware v3.1.0 with latest xpad driver from Valve
    https://mega.nz/#!cdExRSRI!FyhswyMsBRl3QrrPG--U0EYi_UMwjVi7e3Qiui2xKls

    v1.1 kernel for firmware v3.0.0 with latest xpad driver from Valve
    https://mega.nz/#!cZF3QZaD!bkQLTwECsH08cxCeef3s7ZR25hqLrr2gc6pNbvDLqm4

    v1.0 kernel for firmware v3.0.0 with xpad driver from Linux kernel 4.5
    https://mega.nz/#!sNNkCTZQ!TQVxESGSRadb0ueync5uGhnjf2obYzw_Mhh_tGLVgiE

    Changelog:

    Code:
    v1.4
     - kernel for firmware 3.3.0
    v1.3
     - kernel for firmware 3.2.0
    v1.2
     - kernel for firmware 3.1.0
    v1.1
     - found a newer version of the xpad driver directly from Valve
     - support for Xbox One Elite and a few other third party controllers has been added
    3
    He has to wait for the source of the last update to get released to compile the latest kernel. In the past Nvidia releases them a few weeks after the update and socksi is on it pretty quickly. However Nvidia updated again before the source was released for the first one, so I'm unsure what kind of timeframe we're looking at.

    5.02 source has been up almost since launch of the update for Shield TV 2015. I recently tried my hand at compiling, using the excellent sources cited, and got a working kernel img for 5.02. I'm still waiting on 5.1 kernel sources, but this should help for those waiting on 5.02. It uses xpad from kernel.org.


    Thanks!
    2
    ok i've found a solution!
    into new kernel Vendor_045e_Product_0291.kl became Vendor_045e_Product_02a1.kl
    make a copy of Vendor_045e_Product_0291.kl rename an put in system/usr/keylayout whit correct permission and
    all goes fine now!
    if someone have problem this is the solution
    cheers
    2
    What modifications did you do? I've searched all across the interwebz and tried various suggestions with no luck. The dpad not working everywhere is killing me.

    Sent from my SM-G930T using XDA Labs

    I modified Vendor_045e_Product_0291.kl in /system/usr/keylayout/ to include
    Code:
    # Dpad
    key 704 DPAD_LEFT
    key 705 DPAD_RIGHT
    key 706 DPAD_UP
    key 707 DPAD_DOWN

    Also have my Xbox guide button mapped Home and back button mapped Back so those are functional too. I did notice using the d-pad on 3.2's Linux Kernel 4.7 ver Xpad module skips over a selection in the menu's which is ridiculously annoying and never happened on Valve's xpad kernel module.
    2
    Doesn't seem that I have an 0291. I see 028e and 0719, which are the files I've been modifying...... hmmm seems I have some more poking to do on this system

    Sent from my SM-G930T using XDA Labs

    ***Edit***

    Do you feel giving enough to provide a copy of your kl? If not, it's cool you've provided a lot of help already!

    Haha that's odd, I've only ever modified 0291, haven't heard of 028e. Did alot of trial and error stuff on 3.0 starting with getting the constant spin fixed, then mapping the back button for borderlands pre-sequal game menu. It seems that the wireless controller goes through it even though the text states its for usb controllers. I sourced the spin fix from here: http://xdaforums.com/showthread.php?t=1792531 which also has 0291, maybe that thread will provide some help too. Can't remember where I found the dpad fix, it wasn't on xda. The 360 controller is my personal favorite, so I didn't stop until it felt native on my shield tv.

    But here's my 0291.kl
    Code:
    # Copyright (C) 2011 The Android Open Source Project
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #      http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    #
    # XBox 360 USB Controller
    #
    
    key 304   BUTTON_A
    key 305   BUTTON_B
    key 307   BUTTON_X
    key 308   BUTTON_Y
    key 310   BUTTON_L1
    key 311   BUTTON_R1
    key 314   BACK
    key 315   BUTTON_START
    key 316   HOME
    key 317   BUTTON_THUMBL
    key 318   BUTTON_THUMBR
    
    # Left and right stick.
    # The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
    # This confuses applications that rely on the flat value because the joystick actually
    # settles in a flat range of +/- 4096 or so.
    axis 0x00 X flat 4096
    axis 0x01 Y flat 4096
    axis 0x03 Z flat 4096
    axis 0x04 RZ flat 4096
    
    # Triggers.
    axis 0x02 LTRIGGER
    axis 0x05 RTRIGGER
    
    # Hat.
    axis 0x10 HAT_X
    axis 0x11 HAT_Y
    
    # Dpad
    key 704 DPAD_LEFT
    key 705 DPAD_RIGHT
    key 706 DPAD_UP
    key 707 DPAD_DOWN