Repository navigation
Releases
Dream Displays Beam 0.3.1
New
- Casting on Wayland without Python. Linux on x86-64 and ARM now casts the screen or a window through a small native helper that comes with the mod (written in Rust): it asks the desktop for the picture and hands it to FFmpeg. It needs nothing but PipeWire. No more PyGObject or GStreamer, and no more Python errors. Runs on distributions from about 2020 on (glibc 2.31: Fedora 32, Debian 11, Ubuntu 20.04 and newer, Arch, openSUSE). Other processors keep the Python helper.
- Window casts on Wayland show just the window. GNOME hands out a window as a bigger picture with the window somewhere inside it, plus a see-through margin for its shadow. Beam now takes only the window itself, without the black frame, and follows the window when it changes size.
- Picture choice in the cast dialog: how a picture of another shape than the display fills it.
- Fit: all of it, with black bars.
- Fill: no bars, the edges are cut off. It also cuts off a video's own black bars, e.g. a 16:9 video on a 16:10 laptop screen.
- Stretch: no bars, but distorted.
Fixed
- Switch on Wayland lets you pick again. With "Remember this selection" ticked in the desktop's dialog, Beam reused that choice for good, so another screen or window could not be picked, not even after stopping. Go Live and Switch now always show the desktop's dialog. Beam's own restarts (a change of codec) still reuse the choice.
Thanks
Thanks to Fedorista for testing on Linux: the Wayland helper, the dialog, window casts and every round of fixes.
Downloads
Pick the mod jar for your Minecraft version (every player, and a Fabric server that should relay casts):
| Minecraft | Mod jar | Java |
|---|---|---|
| 26.3 | dreamdisplays-beam-0.3.1+26.3.jar |
25 |
| 26.2 | dreamdisplays-beam-0.3.1+26.2.jar |
25 |
| 26.1.2 | dreamdisplays-beam-0.3.1+26.1.2.jar |
25 |
| 1.21.11 | dreamdisplays-beam-0.3.1+1.21.11.jar |
21 |
| 1.21.1 | dreamdisplays-beam-0.3.1+1.21.1.jar |
21 |
| 1.20.1 | dreamdisplays-beam-0.3.1+1.20.1.jar |
17 |
| 1.19.4 | dreamdisplays-beam-0.3.1+1.19.4.jar |
17 |
| 1.18.2 | dreamdisplays-beam-0.3.1+1.18.2.jar |
17 |
Paper / Purpur servers: dreamdisplays-beam-paper-0.3.1.jar in plugins/, next to Dream Displays' Paper plugin (Paper 1.20.1 and newer). The plugin itself has not changed since 0.3.0.
All versions need Fabric Loader 0.19.5+, Fabric API and Dream Displays 1.10.6+.
Tested
- Wayland on GNOME (x86-64), by Fedorista: screen and window casts, the desktop's dialog on Go Live and Switch, Fit / Fill / Stretch with a small portrait window.
- The helper in a headless sway desktop: the colours, and a screen that changes size while it is cast.
- The Picture choice on 26.3. All 8 versions build. Not tested yet: Wayland on ARM, KDE.
Dream Displays Beam 0.3.0
New
- Casting no longer makes you lag. The video used to go into the game connection as fast as it was encoded; when the line could not keep up, the game's own packets waited behind it and the caster's ping climbed to seconds. Now:
- The video goes out paced, so the game's packets always get through. A small delay probe, echoed by the server, measures what they go through, including the system's send buffer and your router.
- When the connection cannot keep up, whole frames are skipped up to the next key frame: viewers see the last whole picture a little longer, never a broken one.
- The server does the same for each viewer, so a viewer on a slow line does not lag either.
- Tested with the caster's upload limited to 4 Mbit/s (1440p60): the ping stayed mostly at 20 to 140 ms, instead of climbing to 21 seconds.
- Variable bit rate, capped at the old constant rate: a calm picture takes a fraction of it (a busy 1440p60 screen averaged 8.4 instead of about 12 Mbit/s), and quality never goes below the old one.
- HEVC, about a third less data for the same picture, when every Beam player on the server can decode it and the caster has a hardware HEVC encoder. When someone joins who can only take H.264 (an older Beam, for example), the cast goes on in H.264.
streamCodec: "h264"in the client config turns it off. - Optional stream port for servers (
streamPort, andstreamHostbehind a proxy; off by default): casts' video goes over a connection of its own, next to the game's. Players who cannot reach it use the game connection automatically.
Update the server too
Put the new Paper plugin (or the mod on a Fabric server) on your server: it answers the delay probes, tells casters who can decode HEVC, paces each viewer and offers the stream port. With an older server Beam still paces your own upload, just with less to go on.
Downloads
Pick the mod jar for your Minecraft version (every player, and a Fabric server that should relay casts):
| Minecraft | Mod jar | Java |
|---|---|---|
| 26.3 | dreamdisplays-beam-0.3.0+26.3.jar |
25 |
| 26.2 | dreamdisplays-beam-0.3.0+26.2.jar |
25 |
| 26.1.2 | dreamdisplays-beam-0.3.0+26.1.2.jar |
25 |
| 1.21.11 | dreamdisplays-beam-0.3.0+1.21.11.jar |
21 |
| 1.21.1 | dreamdisplays-beam-0.3.0+1.21.1.jar |
21 |
| 1.20.1 | dreamdisplays-beam-0.3.0+1.20.1.jar |
17 |
| 1.19.4 | dreamdisplays-beam-0.3.0+1.19.4.jar |
17 |
| 1.18.2 | dreamdisplays-beam-0.3.0+1.18.2.jar |
17 |
Paper / Purpur servers: dreamdisplays-beam-paper-0.3.0.jar in plugins/, next to Dream Displays' Paper plugin (Paper 1.20.1 and newer).
All versions need Fabric Loader 0.19.5+, Fabric API and Dream Displays 1.10.6+.
Tested
- 26.3 through Paper 26.3: the ping with a 4 Mbit/s upload limit; HEVC from caster to viewer; switching to H.264 for a viewer without HEVC; the stream port, and falling back to the game connection when it cannot be reached.
- 1.20.1 over LAN through the Fabric relay.
- All 8 versions build. Not tested yet: AMD and Intel HEVC encoders, Linux and macOS.
Dream Displays Beam 0.2.2
Changed
- The test pattern is no longer offered to players: its tile in the cast dialog and
/ddbeam start testonly appear in the development environment, or when the game is started with-Dddbeam.testPattern=true. - Goes well with Dream Displays Lumen 0.1.2, which now lights the blocks right in front of a screen and blends the cast's colors smoothly.
Downloads
Pick the mod jar for your Minecraft version (every player, and a Fabric server that should relay casts):
| Minecraft | Mod jar | Java |
|---|---|---|
| 26.3 | dreamdisplays-beam-0.2.2+26.3.jar |
25 |
| 26.2 | dreamdisplays-beam-0.2.2+26.2.jar |
25 |
| 26.1.2 | dreamdisplays-beam-0.2.2+26.1.2.jar |
25 |
| 1.21.11 | dreamdisplays-beam-0.2.2+1.21.11.jar |
21 |
| 1.21.1 | dreamdisplays-beam-0.2.2+1.21.1.jar |
21 |
| 1.20.1 | dreamdisplays-beam-0.2.2+1.20.1.jar |
17 |
| 1.19.4 | dreamdisplays-beam-0.2.2+1.19.4.jar |
17 |
| 1.18.2 | dreamdisplays-beam-0.2.2+1.18.2.jar |
17 |
Paper / Purpur servers: dreamdisplays-beam-paper-0.2.2.jar in plugins/, next to Dream Displays' Paper plugin (unchanged apart from the version).
All versions need Fabric Loader 0.19.5+, Fabric API and Dream Displays 1.10.6+.
Dream Displays Beam 0.2.1
New
- A cast and the display's video take turns. Starting a cast pauses the display's video, picture and sound, for every player near it. A new video set on the display, or play pressed by the caster, ends the cast. A viewer who presses play hides that cast for themselves until it starts again.
- Dream Displays Lumen lights the room in a cast's colors, like it does for videos, also on displays without a video. Needs Lumen 0.1.1 or newer; older Lumen versions just stay dark during casts.
Downloads
Pick the mod jar for your Minecraft version (every player, and a Fabric server that should relay casts):
| Minecraft | Mod jar | Java |
|---|---|---|
| 26.3 | dreamdisplays-beam-0.2.1+26.3.jar |
25 |
| 26.2 | dreamdisplays-beam-0.2.1+26.2.jar |
25 |
| 26.1.2 | dreamdisplays-beam-0.2.1+26.1.2.jar |
25 |
| 1.21.11 | dreamdisplays-beam-0.2.1+1.21.11.jar |
21 |
| 1.21.1 | dreamdisplays-beam-0.2.1+1.21.1.jar |
21 |
| 1.20.1 | dreamdisplays-beam-0.2.1+1.20.1.jar |
17 |
| 1.19.4 | dreamdisplays-beam-0.2.1+1.19.4.jar |
17 |
| 1.18.2 | dreamdisplays-beam-0.2.1+1.18.2.jar |
17 |
Paper / Purpur servers: dreamdisplays-beam-paper-0.2.1.jar in plugins/, next to Dream Displays' Paper plugin (unchanged from 0.2.0 apart from the version).
All versions need Fabric Loader 0.19.5+, Fabric API and Dream Displays 1.10.6+.
Tested
- 26.3 on Windows 11: a playing YouTube video paused when a cast started, setting another video ended the cast; with Lumen, the test pattern lit the room in its colors.
- All 8 versions build. Not tested yet: a viewer pressing play during someone else's cast.
Dream Displays Beam 0.2.0
Dream Displays Beam now runs on every Minecraft version Dream Displays supports on Fabric, from 1.18.2 to 26.3.
Downloads
Pick the mod jar for your Minecraft version. Every player who wants to see casts needs it, and so does a Fabric server that should relay them.
| Minecraft | Mod jar | Java |
|---|---|---|
| 26.3 | dreamdisplays-beam-0.2.0+26.3.jar |
25 |
| 26.2 | dreamdisplays-beam-0.2.0+26.2.jar |
25 |
| 26.1.2 | dreamdisplays-beam-0.2.0+26.1.2.jar |
25 |
| 1.21.11 | dreamdisplays-beam-0.2.0+1.21.11.jar |
21 |
| 1.21.1 | dreamdisplays-beam-0.2.0+1.21.1.jar |
21 |
| 1.20.1 | dreamdisplays-beam-0.2.0+1.20.1.jar |
17 |
| 1.19.4 | dreamdisplays-beam-0.2.0+1.19.4.jar |
17 |
| 1.18.2 | dreamdisplays-beam-0.2.0+1.18.2.jar |
17 |
Paper / Purpur servers: dreamdisplays-beam-paper-0.2.0.jar goes into plugins/, next to Dream Displays' Paper plugin (Paper 1.20.1 and newer). It now loads as a Paper plugin.
All versions need Fabric Loader 0.19.5+, Fabric API and Dream Displays 1.10.6+.
New
- All 8 Fabric versions of Dream Displays: 1.18.2, 1.19.4, 1.20.1, 1.21.1, 1.21.11, 26.1.2, 26.2, 26.3. The cast data is the same on every version.
- Camera mode: for a camera, the cast dialog lists what the camera itself can send (size, frame rate and format) and remembers the choice per camera. Many webcams reach 1080p at 60 FPS only as MJPEG and fall back to a slow uncompressed mode without a choice.
- Servers without Beam: "Stream to players" is greyed out and struck through, and its tooltip says why. Casting still works; only you see it.
- Select menus open as a list like Minecraft's own selection lists, and scroll when they are long.
Fixed
- Cast sound now follows the master volume on 1.21.11 and newer too.
- The Paper plugin loads as a Paper plugin instead of a Bukkit plugin.
Tested
- Windows 11, each version's test client: casting, the Cast button in the display menu, the dialog and its tooltips, sound.
- Paper 26.3 (build 230) with Dream Displays 1.10.6: a 1440p60 cast reached a second player with sound; without the plugin, "Stream to players" is greyed out.
- A USB webcam in 1080p60 MJPEG.
- Not tested: AMD / Intel encoders, Linux (X11, Wayland) and macOS, including their camera mode lists. They are implemented; please report what you see.
Dream Displays Beam 0.1.0
First release of Dream Displays Beam, an addon for Dream Displays: cast your screen, an application window or a camera onto a display, with sound, and stream it live to the players near it.
Downloads
| File | What | Where |
|---|---|---|
dreamdisplays-beam-0.1.0+26.3.jar |
The mod (client, and the relay for Fabric servers) | mods/ of every player, and of a Fabric server |
dreamdisplays-beam-paper-0.1.0.jar |
Relay plugin for Paper / Purpur servers | plugins/, next to Dream Displays' Paper plugin |
Features
- Cast button in Dream Displays' display menu and the
Bkey while looking at a display: a "go live" dialog with tabs for screens, applications and cameras, live previews, and resolution (480p – 1440p) and frame rate (15 / 30 / 60) menus. - Screens, application windows (Windows Graphics Capture, so browsers and other GPU-drawn apps work and the window is followed while its title changes) and cameras / capture cards.
- Drawn through Dream Displays' own display renderer: same place, rotation and shader pack handling as its videos.
- Streaming to other players at the cast's own resolution and frame rate as H.264 (about 1.4 MB/s for 1440p60), encoded on the GPU where there is one (NVIDIA NVENC, AMD AMF, Intel Quick Sync, Media Foundation, VAAPI, VideoToolbox; libx264 otherwise) and decoded by the viewers with Dream Displays' FFmpeg.
- Sound: screen and window casts send the computer's (or that application's) sound to the others only, without the game's own sound on Windows; camera casts use the camera's audio input and everyone hears it from the display.
- Server side: who may cast (display owner and operators by default), a 96 block range and a bandwidth limit, on Fabric (
config/ddbeam-server.json) and Paper (plugins/DreamDisplaysBeam/config.yml). - English and German.
Requirements
- Minecraft 26.3, Fabric Loader 0.19.5+, Fabric API, Dream Displays 1.10.6+, Java 25.
- Streaming to others needs Beam on the server (the mod on Fabric, or the plugin on Paper / Purpur) and on every viewer. Without it, casting works and only you see it.
- FFmpeg: the one Dream Displays downloads is used.
Tested
- Windows 11: screens, browser windows, test pattern, 1440p60 casts, streaming over LAN and through a Paper 26.3 server (build 230) with Dream Displays 1.10.6 to a second player at about 60 fps with sound.
- Not tested: AMD / Intel encoders, Linux (X11, Wayland through the desktop portal) and macOS. They are implemented; please report what you see.
- Folia is not supported by the Paper plugin.