HGAME(4)
๐ฎ HGAME(4) โ Kernel Interfaces Manual ๐ฎ
okay so bestie, buckle up, we're talking about hgame today and honestly? she's iconic. this is the Kernel Interfaces Manual entry, and it's giving "your controller finally works on FreeBSD" energy ๐
โจ NAME โจ
hgame โ the generic HID gamepad, joystick, and controller evdev driver ๐น๏ธ
like, the whole vibe: any generic game controller that speaks HID? she handles it, and she hands it straight to your apps through evdev. periodt.
๐ธ SYNOPSIS ๐ธ
the lineup, no cap:
device hgame
device hid
device hidbus
device hidmap
device evdev
then, over in sysctl.conf(5):
dev.hgame.X.debug
and in loader.conf(5):
hw.hid.hgame.debug
hgame_load
that's the whole guest list ๐
๐ฆ DESCRIPTION ๐ฆ
so hgame is the driver that supports generic game controllers โ the kind that attach to the HID transport backend โ and she presents them to your applications over the evdev interface. literally the matchmaker of hardware and software ๐ซถ
if the appropriate hardware gets detected, the driver will load itself automatically thanks to devmatch(8). she's self-sufficient like that, main character energy fr.
wanna load her manually at boot instead? two options, both slay:
- set the
hgame_loadvariable toYESat theloader(8)prompt, or - add it to
loader.conf(5)
and listen โ to actually give your user applications access to the game controllers, you gotta allow user access to the/dev/input/event*nodes. how? by including your user in thegamesgroup. don't skip this step bestie, otherwise your controller is just sitting there like ๐
๐ฅ HARDWARE ๐ฅ
she supports HID gamepads, joysticks, and controllers, such as:
- 8bitdo USB Wireless Adapter 2 โญ
(that's the one listed in the manual โ yes, exactly that one, no more no less ๐)
๐ SYSCTL VARIABLES ๐
the following variable is available as both a sysctl(8) variable and a loader(8) tunable:
dev.hgame.X.debugโ the debug output level ๐ where0means debugging is disabled, and larger values increase how verbose those debug messages get. default is0.
its default value is set with the loader(8) tunable:
hw.hid.hgame.debug
so if you want her chatty from the jump, that's your girl โจ
๐ FILES ๐
/dev/input/event*โ the input event device (evdev) node ๐
๐ SEE ALSO ๐
iichid(4), ps4dshock(4), usbhid(4), xb360gp(4), devfs.rules(5)
the whole friend group, honestly ๐ซถ go say hi.
โญ HISTORY โญ
the hgame driver first appeared in FreeBSD 13.0. a queen since day one ๐โจ
๐ AUTHORS ๐
the hgame driver was written by Val Packett <val@packett.cool> ๐ธ
this manual page was written by Vladimir Kondratyev <wulf@FreeBSD.org> ๐ฆ
ngl they ate with this one. thank you for coming to my TED talk ๐ค๐
Debian ยท November 30, 2025 ยท HGAME(4) โ mwah, bye bestie, go plug in a controller ๐ฎ๐
๐ฆ where this page comes from
- freebsd 15.1: base 15.1
- ๐ the page's license: BSD-2-Clause
- Copyright (c) 2020 Vladimir Kondratyev <wulf@FreeBSD.org>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms