Built-in Miracast support (Wireless display specification)

The Wifi Display Specification (WDS) also known as Miracast is an open standard to allow computers and devices to connect wirelessly to displays, and use them as monitors. I am not an expert on it, but as far as I understand it internally uses H264 or some lossy codec to stream video data from a screen buffer to the destination screen via the device’s Wifi chip. Many devices already support this, including all Windows 8 and later devices, as well as Android devices. All smart TV’s I have used in recent years also support it. It’s not a replacement for a cable, but a great and convenient feature in general.

Currently, setting up Miracast on Linux is an awkward affair. KDE does not have built in support for this currently. From what I can tell online, there’s currently MiracleCast which is a standalone tool, but it is not very user friendly or intuitive and requires setting things up on the command line. I believe GNOME is working on a solution but from what I can tell it’s still experimental.

Ideally we should be able to press a keyboard shortcut, and a popup would appear, and it would search for nearby screens. The user would then select a screen and it would connect. If the connection is established, then the screen would be treated like any other display connected to the computer. The desktop can be mirrored, or extended to the screen. After a display is connected, there should be some easy controls over bitrate and latency, so the user can adjust depending on their application (e.g. presentations require good quality but can tolerate high latency, gaming requires low latency but can tolerate low quality). There should also be some HiDPI controls

I think this feature is a great candidate for Plasma 6, since it would probably be a lot easier to integrate with plasma using Wayland, but I’m not an expert.

7 Likes

Would be really cool, but afaik there’s no good library that implements Miracast, so this is quite difficult and time consuming to implement.

2 Likes

Wouldn’t MiracleCast work for this?

3 Likes

Maybe eventually, but the readme and some issues in the repo suggest you have to disable networkmanager for it to work, which is a deal breaker

4 Likes

I think it doesn’t support actually streaming content to devices at the moment - there’s been an issue related to this for several years that’s also listed in the README. Its networking is also a bit of a hassle to set up.

I think aethercast (which the Ubuntu Phone uses) might be more promising.

In the meantime GNOME Network Displays works OK, and in spite of the name doesn’t require much of GNOME, the only inconvenience is getting it working with your firewall.

1 Like

Maybe I am not reading this correctly but it looks like the NetworkManager conflict is when using the device as a sink, which is typically not going to be the use for us. I would think the typical use would be to cast a KDE desktop to a remote display that would already have its own handling of Miracast and the KDE desktop would be the source.

4 Likes

That’s a shame :confused: has there been any change in the viability of using something like MiracleCast (or like aethercast) for this? Or even just anything WiFi Direct related

I wonder if the Steamdeck has anything added to its KDE implementation that allows it to do anything differently for this (just one of the usecases that I had in mind for Miracast)

2 Likes

Any update on this? @ngraham, if not already, I think this should be added to KDE usability & productivity initiative priorities. It is increasingly important in educational and academic environment (where KDE software traditionally has strong user base), as well as in corporate environments; basically whenever one gives a presentation.

1 Like

There’s no update; I’m not involved in this, nor do I have the technical skills to work on it.

2 Likes

It sounds like a good target, then for development that could be sponsored by a company or academic organization that wants to improve FOSS desktop usefulness in those settings :slight_smile:

1 Like

Yeah, very demanded technology! Any phone has it, as well as win and mac. Strange it is missed in KDE! Gnome has it, however it is not production ready for now.