• Godot Help
  • Using gamepad with Godot in Chromebook Linux (Crostini)

I'm trying to find a way for kids to create and play Godot games that run on Linux on a Chromebook (Crostini) using a gamepad. Unfortunately, Crostini doesn't support sharing gamepads with Linux. It can only share generic USB keyboards and mice with Linux.

I suspect I need a gamepad that can act as a USB keyboard/mouse. It's common for people to run software on Windows that maps the gamepad buttons to keyboard/mouse buttons but I don't think anything like that exists for ChromeOS so it would have to be done by the controller itself. I've been searching for controllers but haven't found any that clearly say they can do that.

I thought I would ask here in case I'm missing something obvious or someone has already figured this out. It's a long shot but is anyone here aware of a way to make this work?

  • In case anyone else runs into this issue, here is where I landed. There doesn't seem to be a good solution for using gamepads in Crostini. There is another Crostini-like project for ChromeOS called Borealis which is intended for Steam gaming and does (obviously) support gamepads but it's still in beta and it's not on our Chromebooks.

    I decided to go a different direction. I'm going to use Raspberry Pi 4 as a game console. We'll develop games on our Chromebooks (without gamepads) but play them on the Pi 4 connected to a TV with gamepads. Relevant discussions are here and here if you're interested.

    Update: I ended up going with an Orange Pi 4 LTS running Android instead due to Godot 4's Vulkan or OpenGL 3.3 requirement. Works great!

not aware of any, I have a mouse which features programmable keys that systems detect as a mouse + keyboard combo - the button programming is stored on the mouse itself. But in as far as these key remapping programs on windows, they basically install their own stub drivers on the system. Your problem is likely missing drivers or limited access to the relevant device drivers on the system I suspect.

I still haven't found a gamepad that can do it alone 😦 but I did find a game controller adapter that might work. Looking into it. I also found this which would work but doesn't exist yet. If all else fails I think it would be possible to build an adapter with a Raspberry Pi but that would require quite a bit of work.

  • Edited
  • Best Answerset by ryan

In case anyone else runs into this issue, here is where I landed. There doesn't seem to be a good solution for using gamepads in Crostini. There is another Crostini-like project for ChromeOS called Borealis which is intended for Steam gaming and does (obviously) support gamepads but it's still in beta and it's not on our Chromebooks.

I decided to go a different direction. I'm going to use Raspberry Pi 4 as a game console. We'll develop games on our Chromebooks (without gamepads) but play them on the Pi 4 connected to a TV with gamepads. Relevant discussions are here and here if you're interested.

Update: I ended up going with an Orange Pi 4 LTS running Android instead due to Godot 4's Vulkan or OpenGL 3.3 requirement. Works great!

Interesting. I was able to play Stadia (game streaming) on a Chromebook with a Stadia and I believe an Xbox controller. So the Chrome web browser should have gamepad access. Maybe not on the Linux side, but you could export the game for HTML5 perhaps.

  • ryan replied to this.

    I've been installing Ubuntu MATE on Chromebooks with great success... you get a full OS this way! And can even do Godot dev with it.

    (Doesn't really answer your question sorry)

    • ryan replied to this.

      cybereality Yeah they work fine on the ChomeOS side. The Crostini Linux container is the problem.

      davek I did consider wiping ChromeOS and installing Linux directly but they use ChromeOS for some things too.

      It turns out Raspberry Pis are on back order now until who knows when but I ordered an Orange Pi 4 as an alternative. It actually appears to have a slightly better graphics processor so that doesn't hurt. Hopefully this works.

      7 days later

      Update: The Orange Pi 4 running Ubuntu 22.04 works great with Godot executables made using the unofficial Raspberry Pi export template. There's even a proposal to add arm as an official platform. 🤞

      It's just regular Ubuntu and it works with Playstation 3 controllers out of the box. This turned out to be a great solution. I no longer need to run games in Crostini and the kids now have a console that works with game pads to play their Godot games.

      Update: This Orange Pi 4 running Ubuntu setup only worked with Godot 3. I had to switch to Android to get it working with Godot 4. https://github.com/godotengine/godot/issues/74308#issuecomment-1453898623

      4 months later

      I know you already figured it out, but if you had the experience, you could make a program that could convert Controller inputs into keyboard inputs, instead of looking for controllers that just use keyboard inputs.