GSR-KMS-SERVER(1)

πŸ“¦
version 6.1.6 Β· 2 versions
, in arch rolling, nixpkgs unstable

πŸ’… GSR-KMS-SERVER(1) β€” like, the KMS server for GPU Screen Recorder, bestie ✨

okay so real talk, this is the gsr-kms-server manual page, and it's literally the little companion daemon that makes screen capture work when GPU Screen Recorder needs to talk to your display hardware directly. it's giving "unpaid intern but make it kernel-level" 🫢 and yes, we're gonna go through every single detail because that's what besties do.


🌸 SYNOPSIS 🌸

gsr-kms-server <domain_socket_path> <card_path>

that's it. two little paths and you're off. no cap. ✨


πŸŽ€ DESCRIPTION πŸŽ€

gsr-kms-server is a companion daemon for GPU Screen Recorder that gives it Kernel Mode Setting (KMS) access for screen capture, in those environments where you need direct DRM access. basically it's a local server that talks over a Unix domain socket, so GPU Screen Recorder can grab screen content through the KMS interface. main character energy, but in the background πŸ’œ

you typically need this component when GPU Screen Recorder has to get at the display hardware directly, straight past the windowing system, for more efficient or lower-level capture. it lives as a separate process and communicates with the main GPU Screen Recorder instance. it's not the one recording β€” it's the one making the recording possible. icon behavior, honestly. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • domain_socket_path β€” the path to the Unix domain socket that the server will create and listen on. this socket is how GPU Screen Recorder and the KMS server chat with each other. put it somewhere where both processes have the right permissions to read and write, okay? don't just yeet it anywhere.
  • card_path β€” the path to the DRM device file (typically /dev/dri/cardX) that the server uses for KMS operations. this is your specific graphics card, bestie. one card, one path. πŸŽ€

✨ EXAMPLES ✨

start the KMS server using card0 and create the socket at /tmp/gsr-kms.sock:

gsr-kms-server /tmp/gsr-kms.sock /dev/dri/card0

start the KMS server using card1 and create the socket in a user-specific location:

gsr-kms-server ~/.cache/gsr-kms.sock /dev/dri/card1

look at us go. two whole examples. ate and left no crumbs πŸ’…


🌈 NOTES 🌈

  • the gsr-kms-server typically runs with elevated permissions to access DRM devices, and that requires root permission. so like... yes, it needs the big permissions. 🫢
  • only one instance should run per DRM card at a time. one card, one server, no drama. periodt.
  • the server will exit when the client disconnects, or when it gets terminated by a signal. it's not clingy, it knows when to leave 😭
  • the socket file is created by the server and removed when the server exits. it cleans up after itself. we love a tidy queen ✨

🧚 FILES 🧚

  • /dev/dri/card* β€” DRM device files for graphics cards
  • /tmp/gsr-kms.sock β€” typical location for the domain socket (user-configurable)

πŸ’– AUTHORS πŸ’–

gsr-kms-server was written by the GPU Screen Recorder contributors. legends, every single one. πŸ‘‘


πŸ› REPORTING BUGS πŸ›

report bugs to: dec05eba@protonmail.com. be nice about it, they're doing their best πŸ™ˆ


Copyright Β© dec05eba. Licensed under GPL-3.0-only.


πŸ”₯ SEE ALSO πŸ”₯

gpu-screen-recorder(1), drm(4)

project homepage: <https://git.dec05eba.com/gpu-screen-recorder/about/>


lowkey obsessed with how tidy this manpage is. anyway bestie, that's the whole thing β€” this page is from the GPU Screen Recorder KMS Server Manual, version 6.1.5, dated 2026-10-22. go forth and capture your screen πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from