It's no secret that Android runs on top of the Linux kernel, which means whenever there's a new Linux kernel feature, it (should) eventually trickle down to Android devices. While the PS5 controller — officially called the DualSense Wireless Controller — works out of the box on many Android devices, its two best features (ie. its advanced haptic feedback system and adaptive triggers) aren't supported by the Linux kernel and by extension Android. Despite this, the Linux kernel will still add support for more PS5 controller features.

Late last year, Phoronix spotted a new Linux kernel driver submitted by Sony engineers that adds support for the DualSense game controller when connected via USB or Bluetooth. The kernel driver adds all key controller functionality, including the LEDs, motion sensors, the touchpad, reading the battery level, the lightbar, and rumble. According to haptics firm Lofelt, the driver will allow Android apps to control the left and right actuators independently, though they'll only be able to control the intensity and not the frequency or waveform of the vibration. Furthermore, the key features that are "not yet supported" by the driver include the adaptive triggers and the VCM based haptics, which unfortunately couldn't be supported due to limitations in Linux's force feedback framework.

Nonetheless, the kernel driver was merged in Linux 5.12 and is in the process of being ported over to the Android Common Kernel. It has already been merged to the android12-5.4 and android12-5.10 branches, so flagship Snapdragon 888 devices running Android 12 should get the new driver. Google's upcoming Pixel 6 series will likely launch with Linux kernel version 5.10, so it, too, will likely have the new Linux kernel driver for the PS5 controller. The driver is also being backported to the android-4.9-q, android-4.14-stable, and android-4.19-stable branches, giving OEMs the option to cherry pick the patches.

If you haven't had the chance to try the DualSense controller yet, I highly recommend you give it a try. It has quickly become my favorite gaming controller of all time. It's very ergonomic, it has great button feedback, and its haptic feedback, when implemented correctly, feels incredibly immersive. "When implemented correctly" is the key issue, as it isn't even possible for Android apps to vibrate the DualSense controller as precisely as a PS5 game can. Android also doesn't support the controller's adaptive triggers feature, which can add a bit of resistance to shoulder button presses and better recognizes a half squeeze from a full press. On Windows, users can install a program called DS4Windows to enable support for more controller features like rumble support and the lightbar, but to date only the new Metro Exodus Enhanced Edition can take full advantage of the controller's advanced haptic feedback system and adaptive triggers.

In the future, I hope full support for the PS5 controller comes to Android so we can get the same gameplay experience both remotely and at home.