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.
Looks awesome! Thanks for this post, I’ve been looking to ditch the GoogleTV but all I could find was Plasma Bigscreen and that’s not quite ready yet.
Yeah, I’ve been looking/waiting for quite some time. hoping that a good solution would come along. I also tried Steam (big picture mode). But that still contains ads (for games) and is not that customizable. In the end, I’m really happy with flex-launcher.
Interested in how you got power on/off to work - I thought Linux couldn’t support ARC due to licensing?
Powering on/off is part of HDMI-CEC, right? And its unsupported in both Windows and Linux due to most consumer GPUs not supporting it. I think you need a USB adapter to inject the CEC code into the HDMI cable to make it work.
Ah CEC yes…I’m confusing my TLAs. I should probably do some actual research.
CEC works fine with kodi on my raspberry pi (kodi on top of RPiOS, I did not try libreElec) plugged to an old-ish TV, and it’s really nice to have. The Pi puts the TV into standby and wakes it up, and I can control Kodi with the TV’s remote
I’m powering on/off the TV through CEC, see my reply above: https://programming.dev/post/50315130/23805655
Thanks!
deleted by creator
Neat!! How did you manage to get the gamepad functionality working?
It’s simply connected by bluetooth or by dongle and Debian managed to do everything. Flex-launcher also supports it by default. I added some more key-combinations using input remapper such as closing programs, returning to launcher, changing volume.
I actually had some problems with input remapper on Debian and had to install the latest release (the one from the repository didn’t work).
I should have looked at the projects page first, it even lists gamepad support as one of its main features. Intuitively expected it to be a separate program because I’ve never seen it supported natively before!
Very cool, what hardware are you using that supports CEC?
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.
But what is the DisplayPort plugged into on the PC? Extremely few motherboards and GPUs support CEC in my experience…
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.
Yooo that’s sick! Very cool
Nice wallpaper. Do you mind to share?
It was called moss dragon and I saved it maybe 10 years ago. Unfortunately, I don’t know the author or the website anymore. I hope it’s ok to still share.

Thank you so much!
I have a home theater PC and I was really interested in making it have a “TV interface”, but it turns out just the standard dash to dock (on the left), gsconnect, with big scaling and big icons works just fine, if not better :)
I tried some of that too. But for most desktop environments, the gamepad wouldn’t work.
But great that it works for you. Nice thing about Linux :)
Oh yeah, I don’t play game on it, we only watches YouTube and movies.
So GSConnect actually is a way better experience than any controller in my use case :)
I actually thought about that, too. I looked at KDEconnect. But in the end, I wanted to add some gaming capabilities if I added a PC to the TV. But it’s great to hear that it works well :)
Do you have to login all the time? I run mint on my TV on a mini pc and it’s fine but having to login is a pita. I tried to make it login less but it didn’t like it and I think it broke some things.
I’m using autologin and sleep mostly. I don’t have to enter my password at any time (except when doing root stuff to install programs but not in everyday use). On boot, I do have to enter my disk encryption password.
You can autologin through some options in systemctl, but if you use standard DEs such as Gnome or KDE, there should be an option in the settings.
Thanks. bookmarked to read later.
deleted by creator




