By 2020, it's possible to do Screen Mirroring on a Samsung Smart TV as Wireless Display, without any HDMI cable (I use it every day, Samsung TV UN40J5500, with Ubuntu 20.04).
The simplest way to do it, in my opinion, is to install gnome-network-displays via flatpak.
- Download .flatpakref from Flathub: https://flathub.org/apps/details/org.gnome.NetworkDisplays
flatpak install org.gnome.NetworkDisplays.flatpakref
flatpak run org.gnome.NetworkDisplays
- Select TV to display
- Should start streaming screen to TV.
Important: check that your audio is working on TV. In my case, I need to use PulseAudio Volume Manager.
sudo apt install pavucontrol
- Select: Output Devices -> Show: Virtual Output Devices -> Set Fallback.
Finally, if your TV is not located or if screen is suddently frozen, this is what I do:
- close gnome-network-displays (if open)
systemctl stop NetworkManager.service
systemctl stop wpa_supplicant.service
systemctl start NetworkManager.service
systemctl start wpa_supplicant.service
Then, I re-open the network displays and it goes back to work.
My experience with Wireless Displays is usually very good, I manage to watch movies with audio in perfect sync. Just for extra information, I use 5GHz Wifi (maybe it helps...) on router Archer C60, and my CPU is
Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz (not very new but works fine).
For extra information, it's nice to visit the project repository: https://gitlab.gnome.org/GNOME/gnome-network-displays
Another project that "partially worked" for me was MiracleCast (at least for TV discovery and motivation to know if it COULD work possibly on linux...). I don't think it's complete yet (see Open Issue), but it's another possible alternative for the future: https://github.com/albfan/miraclecast/issues/4