TV as a remote desktop viewer for X (linux)
Posted: Sun Oct 18, 2026 11:37 pm
https://github.com/blak3mill3r/nv-surface-tv
I have no idea if this might be useful to anyone other than me.
I built it so I could check on one or two things happening on my computer, without returning to my home office (across the house, away from the kitchen and my bedroom).
It has proved useful for me, so I thought I might as well share it.
If you use linux, you can install minidlna 1.3 and then use this (quite silly) LD_PRELOADS hack to slip a fifo into a media directory you share with DLNA. When the TV opens the "file" (actually a fifo), it starts ffmpeg screen recording and re-encoding it, stuffing it into the fifo, and the TV is tricked into reading it as if it were a file, with this LD_PRELOADS hack (I didn't want to compile minidlna).
I am shocked that this works. I had to make it fake out `fseek` (only for fifos, which are simply unsupported by minidlna anyway).
It shows up on your TV like any other video file. Start watching it any time, and you're viewing (some screen of) your linux desktop live.
It works more or less at 30fps 1080p, depending on your home network etc, but I turned it down to 10-15fps to not burn resources needlessly on screen capture and re-encoding (which ffmpeg can do with an nvidia gpu). The latency is pretty high, ~1500ms for me, it's slow but not SO slow that I cannot type (bluetooth keyboard reaches across the house). The high latency makes a high frame rate kinda pointless ... unless you want to use it to watch a video from your computer, some format your TV doesn't support ... that works too, I tried watching some DVD .VOB files and it works just fine for that.
I have no idea if this might be useful to anyone other than me.
I built it so I could check on one or two things happening on my computer, without returning to my home office (across the house, away from the kitchen and my bedroom).
It has proved useful for me, so I thought I might as well share it.
If you use linux, you can install minidlna 1.3 and then use this (quite silly) LD_PRELOADS hack to slip a fifo into a media directory you share with DLNA. When the TV opens the "file" (actually a fifo), it starts ffmpeg screen recording and re-encoding it, stuffing it into the fifo, and the TV is tricked into reading it as if it were a file, with this LD_PRELOADS hack (I didn't want to compile minidlna).
I am shocked that this works. I had to make it fake out `fseek` (only for fifos, which are simply unsupported by minidlna anyway).
It shows up on your TV like any other video file. Start watching it any time, and you're viewing (some screen of) your linux desktop live.
It works more or less at 30fps 1080p, depending on your home network etc, but I turned it down to 10-15fps to not burn resources needlessly on screen capture and re-encoding (which ffmpeg can do with an nvidia gpu). The latency is pretty high, ~1500ms for me, it's slow but not SO slow that I cannot type (bluetooth keyboard reaches across the house). The high latency makes a high frame rate kinda pointless ... unless you want to use it to watch a video from your computer, some format your TV doesn't support ... that works too, I tried watching some DVD .VOB files and it works just fine for that.