If you love gaming on Pop!_OS, you probably use a game controller. But did you know you can use your controller to wake your computer from sleep too? This small trick can make your setup feel smoother — especially if you like playing on a couch or with a wireless controller.
In this guide, we’ll show you how to wake Pop!_OS from sleep using a game controller. You’ll learn what you need, how to set it up (for both wired and Bluetooth controllers), and how to fix common issues. Let’s get started.
Why Wake Pop!_OS with a Game Controller?
Most people wake their computer by pressing a key or moving the mouse. But if you’re using Pop!_OS for gaming, especially in Steam Big Picture Mode or a living room setup, that can be annoying.
Waking your PC with a controller means you don’t have to reach for a keyboard or mouse. Just press a button on your gamepad, and your system wakes up — ready to play.
It’s great for:
- Couch gaming or living room setups
- HTPC builds (home theater PCs)
- Gamers using Steam or Lutris
- Compact setups without a mouse and keyboard nearby
It’s also a fun project for Linux fans who want to make their system feel more like a console.
Things You Need Before Starting
Before trying this, check a few things to make sure it will work.
1. Supported Controllers
You can try this with:
- Xbox One or Series X|S controllers
- PlayStation DualShock 4 or DualSense
- 8BitDo Bluetooth controllers
- Logitech F310 (wired)
- Generic USB game controllers
Most of these work out of the box with Pop!_OS, but Bluetooth controllers may need a few extra steps.
2. Pop!_OS and Kernel Version
Make sure your Pop!_OS is up to date.
You can check your kernel version by running:
uname -r
It’s better if you’re using kernel version 6.0 or newer.
3. BIOS or UEFI Settings
Open your BIOS/UEFI (usually by pressing Del, F2, or F10 when your computer starts).
Then look for settings like:
- USB Wake Support
- Wake from Bluetooth Devices
Turn these on, save changes, and restart.
How to Wake Pop!_OS Using a Wired USB Controller
If your controller connects with a cable, this is the easiest way. You don’t need Bluetooth setup, and it usually works better.
Step 1: Plug In Your Controller
Connect your controller to a USB port.
You can check if it’s detected by typing:
lsusb
You should see your controller listed.
Step 2: Find Devices That Can Wake Your System
Type this command:
cat /proc/acpi/wakeup
You’ll see a list of hardware that can wake your system. It might look something like this:
Device S-state Status Sysfs node
XHC1 S3 *disabled
Step 3: Enable Wake for USB Controller
If your controller is connected through XHC1 or a similar USB device, you can enable it:
echo XHC1 | sudo tee /proc/acpi/wakeup
This turns on the wake function for that device.
Step 4: Test It
Put your computer to sleep:
systemctl suspend
- Wait a few seconds.
- Press a button on your controller.
If everything is set up right, your computer should wake up!
Step 5: Make It Permanent
The setting above resets when you restart. To make it permanent, add the command to your startup file:
sudo nano /etc/rc.local
Add this line before exit 0:
echo XHC1 > /proc/acpi/wakeup
Save the file and make it executable:
sudo chmod +x /etc/rc.local
Now your controller can wake Pop!_OS every time you boot up.
How to Wake Pop!_OS Using a Bluetooth Controller
Bluetooth controllers are a little trickier. They can only wake your system if your Bluetooth adapter supports it. Let’s go through it step by step.
Step 1: Pair the Controller
Open Settings → Bluetooth, and pair your controller.
Or do it from the terminal:
bluetoothctl
power on
agent on
scan on
pair <MAC address>
trust <MAC address>
connect <MAC address>
Replace <MAC address> with your controller’s actual address.
Step 2: Check Adapter Wake Support
You can find out if your adapter supports wake by running:
cat /proc/acpi/wakeup
Look for something like “BT” or “BR” — those often refer to Bluetooth devices.
If it’s disabled, enable it:
echo BT | sudo tee /proc/acpi/wakeup
Step 3: Disable USB Autosuspend
Sometimes the Bluetooth adapter goes into sleep mode and stops listening for signals. To prevent this:
sudo nano /etc/default/tlp
Find the line that says:
USB_AUTOSUSPEND=1
Change it to:
USB_AUTOSUSPEND=0
Save the file and reboot.
Step 4: Test It
Put your system to sleep, wait a few seconds, then press a button on your controller.
If your adapter and controller support it, your PC should wake up.
If it doesn’t work the first time, try reconnecting the controller and testing again.
Common Problems and How to Fix Them
1. Controller Doesn’t Wake the System
- Double-check that wake is enabled in BIOS.
- Run cat /proc/acpi/wakeup again and confirm your USB or BT device says *enabled.
- Try another USB port — some don’t support wake.
2. Controller Not Working After Wake
Sometimes the controller won’t respond right after waking. Try this:
sudo modprobe -r hid_xpad
sudo modprobe hid_xpad
That reloads the driver.
3. Bluetooth Controller Keeps Disconnecting
- Make sure it’s set as a trusted device in Bluetooth settings.
- Disable autosuspend (see above).
- Use a better Bluetooth adapter if possible — not all support wake from sleep.
4. BIOS Doesn’t Show USB Wake Option
If your motherboard doesn’t support USB wake, you may be out of luck for wired controllers.
You can try using an always-on USB port (marked with a lightning bolt symbol). Some of these ports still provide power during sleep.
Tested and Recommended Controllers
Here’s a quick list of controllers that work well on Pop!_OS for both gaming and waking:
| Controller | Connection Type | Wake Works? | Notes |
| Xbox One / Series X | S | USB / Bluetooth | ✅ USB |
| PlayStation DualSense | USB / Bluetooth | ⚠️ Partial | Needs kernel 6.0+ |
| DualShock 4 | USB / Bluetooth | ✅ | Works well with ds4drv |
| 8BitDo SN30 Pro+ | Bluetooth | ✅ | Must disable autosuspend |
| Logitech F310 | USB | ✅ | Plug and play |
If you’re just getting started, a wired Xbox or Logitech controller is the easiest choice.
Tips for Better Results
Here are some simple tricks that can make everything more reliable:
- Keep your Pop!_OS and kernel updated.
- Use powered USB hubs if you connect multiple devices.
- Disable deep sleep modes (like S4/S5) in BIOS if wake fails.
- Keep your controller firmware up to date — Xbox and PlayStation controllers often need updates.
- Avoid disconnecting Bluetooth devices after pairing.
- Try Steam Big Picture Mode for automatic controller recognition.
If something goes wrong, check the system logs using:
journalctl -b | grep wake
This shows what devices woke your system last time.
FAQ
Can I wake Pop!_OS with an Xbox controller?
Yes. It works best through USB. Bluetooth may also work if your adapter supports wake.
Does Pop!_OS support wake-on-Bluetooth?
Yes, but it depends on your Bluetooth adapter and BIOS settings.
Why doesn’t my controller wake the computer?
You might need to enable USB or Bluetooth wake in BIOS, or run the commands to activate the wake device.
Do I need special drivers?
No. Pop!_OS supports most controllers out of the box through standard Linux drivers.
Conclusion
Waking Pop!_OS with a game controller might sound like a small thing, but it makes gaming setups much more comfortable. You don’t need to reach for the keyboard or mouse — just press a button, and your system wakes up ready to play.
With the steps above, you can do it with both USB and Bluetooth controllers. Wired setups are the easiest, but Bluetooth can work fine too once configured correctly.
Whether you use an Xbox, PlayStation, or 8BitDo controller, this setup helps make your Pop!_OS computer feel more like a real gaming console.
