Sunshine master
Self-hosted game stream host for Moonlight.
wl Namespace Reference

Classes

class  display_t
 Wayland display connection used to dispatch capture events. More...
 
class  dmabuf_t
 Listener state for Wayland screencopy frames backed by DMA-BUFs. More...
 
class  frame_t
 Captured Wayland frame metadata and DMA-BUF surface state. More...
 
struct  img_t
 Captured frame buffer shared between capture and encode stages. More...
 
class  interface_t
 Wayland registry state for screencopy, DMA-BUF, and output globals. More...
 
class  monitor_t
 Wayland output metadata used to match a configured display name. More...
 
class  wlr_ram_t
 Wayland screencopy backend that copies frames into system memory. More...
 
class  wlr_t
 Wayland screencopy capture backend shared by RAM and VRAM paths. More...
 
class  wlr_vram_t
 Wayland screencopy backend that exports frames as GPU resources. More...
 

Typedefs

using display_internal_t = util::safe_ptr<wl_display, wl_display_disconnect>
 Owning pointer for a Wayland display connection.
 

Functions

int init ()
 Initialize Wayland registry interfaces required for capture.
 
std::vector< std::unique_ptr< monitor_t > > monitors (const char *display_name)
 Refresh the monitor list reported by the display server.
 

Detailed Description

The classes defined in this macro block should only be used by cpp files whose compilation depends on SUNSHINE_BUILD_WAYLAND

Function Documentation

◆ init()

int wl::init ( )

Initialize Wayland registry interfaces required for capture.

Returns
0 on success; nonzero or negative platform status on failure.

◆ monitors()

std::vector< std::unique_ptr< monitor_t > > wl::monitors ( const char * display_name = nullptr)

Refresh the monitor list reported by the display server.

Parameters
display_nameDisplay name.
Returns
Monitors reported by the Wayland compositor, optionally filtered by name.