wayland-explorer VS Pion WebRTC

Compare wayland-explorer vs Pion WebRTC and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
wayland-explorer Pion WebRTC
25 85
175 12,701
- 2.2%
7.8 9.0
11 days ago 2 days ago
TypeScript Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

wayland-explorer

Posts with mentions or reviews of wayland-explorer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-26.
  • PCSX2 Disables Wayland Support
    7 projects | news.ycombinator.com | 26 Nov 2023
    Wayland is good until you hit the corner cases that they decided to abandon, without leaving any alternatives. We can always have extra protocol that can be optionally enabled, but good luck with standardizing that. It feels as if Wayland people are abusing their committee to keep Wayland as-is, instead of extending it. The protocol dashboard[1] doesn't look exactly good.

    [1]: https://wayland.app/protocols/

  • Inter-process Communication between two programs on Linux.
    3 projects | /r/rust | 12 Jul 2023
    Wayland is itself an IPC system (that uses UNIX domain sockets). I would make a custom Wayland protocol (if there isn't already an appropriate one available, look here: https://wayland.app/protocols/). You can define the protocol in XML and generate the boilerplate code in C using wayland-scanner. I assume smithay also has an equivalent of wayland-scanner.
  • The reality of Wayland input methods in 2022
    1 project | /r/linux | 27 May 2023
    https://wayland.app/protocols/ and https://wayland.freedesktop.org/docs/html/ are just API references.
  • Swingland: Recreating Java Swing for Wayland
    6 projects | dev.to | 12 May 2023
    Given I will be using most of the Wayland protocol to achieve anything (it's minimal) and Wayland is well specified then the 'start at the bottom and build up' design pattern fits. Wayland has a wire protocol based on a Unix socket, and usefully Java has supported Unix sockets since release 16, so I can write everything in Java to (de)serialise messages. This gets me going quickly, providing positive feedback that I'm on the right track..
  • Red Hat considers Xorg “deprecated” and will remove it in the next RHEL
    5 projects | news.ycombinator.com | 8 May 2023
    The core is bare-bones, there are numerous standard protocols since, and many other are in standardization. Here is a site to review their state: https://wayland.app/protocols/
  • Unix philosophy and compositor development
    2 projects | /r/wayland | 6 May 2023
    There is some lock-in in some places where tools adopt a protocol that is only implemented by wlroots compositors, or only implemented by KDE, etc, but I suspect this will improve over time as protocols stabilise ( and you can browse the available protocols here: https://wayland.app/protocols/ )
  • Wayland Explorer
    1 project | news.ycombinator.com | 27 Apr 2023
  • X12
    4 projects | news.ycombinator.com | 28 Feb 2023
    This link comes up in literally every Wayland thread and it is even more bullshit now than it was in 2013 when it was first posted (and it was bullshit then too). It is titled "the real story" but it is quite the opposite.

    A few key points:

    1) he laughs at how X has a bunch of extensions. https://wayland.app/protocols/ hypocrites much. In 2013, since it was completely unusable, it probably didn't have many. But turns out real world use leads to "useless" features being reimplemented.

    2) he complains about how X.org has broad hardware compatibility. As if that's a bad thing. Meanwhile wayland, even now it still doesn't work reliably on half the graphics chips on the market.

    3) It complains that certain X features are not fully network transparent. True, but most are and you can detect at runtime and gracefully degrade. Wayland "fixes" this by just dropping the whole feature.

    4) it flat-out lies saying the X server does nothing yet it is so much hard to maintain code. The core X protocol provides backward compatibility and is rock solid (and really easy to impelment from scratch btw, someone did it in Javascript for a tutorial for crying out loud). Meanwhile the Wayland compositor keeps accumulating everything because of point 1. Need a screenshot? Add it it the compositor. Need a hotkey? Add it to the compositor. Need drag and drop? Add it to the compositor. Need a notification icon? Add it to the compositor. In X, all those are peer to peer. Graphics are actually a relatively small part of a graphical user interface, something Wayland is still slow to learn.

    5) He complains that certain applications are written inefficiently with blocking calls which is inefficient over a network connection. Wayland's calls are ALL blocking and just has no network connection.

    6) Complains that X may draw things unnecessarily. Indeed... but there's an extension to disable that. Easy fix. Wayland even uses the same drivers!

  • A better way to read Wayland documentation
    1 project | /r/swaywm | 10 Feb 2023
  • Is it placebo or is X11 more stable than Wayland
    1 project | /r/linuxquestions | 24 Dec 2022
    So that brings me to Wayland Protocols!. In X11 land, X11 defines a lot of behaviors for you. There is no such definition in Wayland-land by design - this is to give compositors a lot more freedom and flexibility in how they function. It also means that it required time for protocols to develop to cover all of the things that we would need in a desktop window compositor to bring it up to snuff for desktop usage. These protocols evolved through the past 4-5 years of everybody seeing it's shortcomings on a Desktop system compared to a mobile phone based UI. With the latest fractional scaling protocol we have more or less finally "closed the gap" between Wayland and Xorg on the desktop - it's just a matter of compositors implementing full support for all of the protocols people want.

Pion WebRTC

Posts with mentions or reviews of Pion WebRTC. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • VoRS: Vo(IP) Simple Alternative to Mumble
    15 projects | news.ycombinator.com | 19 Apr 2024
  • Golang WebRTC. How to use Pion 🌐Remote Controller
    4 projects | dev.to | 16 Feb 2024
  • Pure Go Implementation of the WebRTC API
    1 project | news.ycombinator.com | 7 Jan 2024
  • Pure C WebRTC
    12 projects | news.ycombinator.com | 7 Jan 2024
    I am really excited about https://github.com/sepfy/libpeer. It has examples ready for ESP32 etc....

    When working on KVS I wasn't familiar with the embedded space at all. I saw 'heavyweight' embedded where you were running on Linux. Then you had RTOS/No OS at all. I wasn't prepared for these devices at all. If we can make WebRTC work in the embedded space I think it will really accelerate what developers are able to build!

    Remotely driven cars, security cameras, robots in hospitals that bring iPads to infectious patients etc... Creative people are building amazing things. The WebRTC/video space needs to work harder and support them :)

    -----

    I love how diverse the WebRTC space is now. Outside of this implementation you have plenty of other options!

    * https://github.com/shinyoshiaki/werift-webrtc (Typescript)

    * https://github.com/pion/webrtc (Golang)

    * https://github.com/webrtc-rs/webrtc (Rust)

    * https://github.com/algesten/str0m (Rust)

    * hhttps://github.com/sepfy/libpeer (C/Embedded)

    * https://webrtc.googlesource.com/src/ (C++)

    * https://github.com/sipsorcery-org/sipsorcery (C#)

    * https://github.com/paullouisageneau/libdatachannel (C++)

    * https://github.com/elixir-webrtc (Elixir)

    * https://github.com/aiortc/aiortc (Python)

    * GStreamer’s webrtcbin (C)

    See https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.

  • WebRTC for the Curious
    18 projects | news.ycombinator.com | 4 Jan 2024
  • Ask HN: What side projects landed you a job?
    62 projects | news.ycombinator.com | 3 Dec 2023
    I have worked four jobs related to https://github.com/pion/webrtc and one for https://webrtcforthecurious.com

    Two companies used Pion. The other two were just using the protocol (WebRTC)

  • Need help with audio calls for rooms with about 10 people in each.
    2 projects | /r/WebRTC | 5 Jun 2023
  • Possible frameworks/languages for a web/mobile application
    2 projects | /r/webdev | 29 May 2023
    In my experience Go has been relatively approachable for people that are good at PHP. It has a great standard library and a pretty solid ecosystem, though frameworks aren’t as popular in Go. There are some well regarded libraries for things like WebRTC via https://github.com/pion/webrtc WebSicket via https://github.com/nhooyr/websocket
  • Video streaming in golang
    5 projects | /r/golang | 3 May 2023
    Don't try to make RTC yourself, it looks easy, but in fact, it's a really hard problem to solve. Use https://pion.ly/ it's a pretty solid package they also have a discord/slack channel with a lot of helpful people there.
  • Datachannel video streaming?
    2 projects | /r/WebRTC | 2 May 2023
    Maybe you can reuse some of this code: https://github.com/pion/webrtc/blob/master/examples/data-channels/main.go

What are some alternatives?

When comparing wayland-explorer and Pion WebRTC you can also consider the following projects:

kondo - Cleans dependencies and build artifacts from your projects.

mediasoup - Cutting Edge WebRTC Video Conferencing

tera - A template engine for Rust based on Jinja2/Django

livekit-server - Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C#, Go, Ruby and Node. [Moved to: https://github.com/livekit/livekit]

gnome-gesture-improvements - Touchpad gesture improvements for GNOME on Wayland/X11

janus-gateway - Janus WebRTC Server

Zip Foundation - Effortless ZIP Handling in Swift

aiortc - WebRTC and ORTC implementation for Python using asyncio

rupy - HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed

libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets

fselect - Find files with SQL-like queries

SIPSorcery - A WebRTC, SIP and VoIP library for C# and .NET. Designed for real-time communications apps.