You compile for the lowest possible Linux kernel and bundle your libs. Don't use container formats for stuff like this. tar.gz with an installer script is king.

I dunno why this is always so difficult.

It's mostly dealing with different backends\compositors\etc.

My reply to the comment below outlines the shape of the problem.

https://news.ycombinator.com/item?id=48434436#48435801