this post was submitted on 13 May 2026
123 points (98.4% liked)

Linux

13631 readers
1270 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

I set up a Linux pc to replace my smart TV and add some gaming capabilites. It took some time but I learned quite a lot (Thanks to Debian and Arch wikis). And I haven't missed any TV functionality.

The launcher is flex-launcher on a labwc environment/compositor on a Debian stable distro. (For testing and easy setup, I also did it on Ubuntu Gnome but I don't need a full DE in the background that I don't use. But it's adaptable to other distros and DEs.)

It's now fully usable with a gamepad including turning the TV on and off, so I have also fully replaced the TV remote.

I hope some people may find it interesting. It was also quite a lot of fun, actually.

you are viewing a single comment's thread
view the rest of the comments
[–] Kirk@startrek.website 3 points 21 hours ago (1 children)

Very cool, what hardware are you using that supports CEC?

[–] kegar@programming.dev 2 points 19 hours ago* (last edited 19 hours ago) (1 children)

I'm using a Displayport to HDMI-adapter and then a regular HDMI-cable (so the PC needs a DP-output). There are also some other options, but this was the easiest for me. I got most info from the Arch wiki https://wiki.archlinux.org/title/HDMI-CEC.

It also doesn't work for all DP-HDMI-adapters, they need to be modern enough/support the protocol. From what I remember about finding the specific one I got, I think ones that support 8k should be good enough. I got one from Ugreen.

[–] Kirk@startrek.website 2 points 14 hours ago (1 children)

But what is the DisplayPort plugged into on the PC? Extremely few motherboards and GPUs support CEC in my experience...

[–] kegar@programming.dev 1 points 14 hours ago* (last edited 14 hours ago)

It's just on the DP-out of the PC. I tried it on two different PCs and it worked. From my understanding, it should be supported if the PC has DIsplayport 1.3 or newer. But maybe I was just lucky.

I then had to play around a bit with cec-ctl (with the help of the Arch and Ubuntu manual pages https://man.archlinux.org/man/cec-ctl.1.en https://manpages.ubuntu.com/manpages/focal/man1/cec-ctl.1.html ). I think I also tried a bit with --cec-version-1.4, but I don't remember the details (I only saved the scripts that were working).

Sorry if I can't be of more help.