
Linux screen mirroring
This page contains the user manual for alfacast application. This complete instruction is useful for people who want to learn how to use alfacast screen mirror app on Linux OS. To use Linux screen mirroring feature with alfacast app, you need one or more of the following devices: PC (Personal Computer), laptop, tablet, SBC (Single-Board Computer) like Raspberry Pi, Orange Pi, Banana Pi, or other linux compatible device. Your device must have Linux operating system installed.
Alfacast is a screen mirroring app with streaming and viewing features. For the best understanding of this user manual, whenever the Linux screen mirroring feature is mentioned, it means alfacast app is used to mirror the screen on your Linux. You can find more detailed info about alfacast app on Home page. In this user manual we will show you how to use the application and tell you about its main functions.
System requirements
Please note, alfacast app has some requirements to use the Linux screen mirroring feature:
• Linux operating system with Snap package support.
• Minimum RAM size: 1GB. Recommended RAM size: 4GB.
• Minimum CPU: 1 GHz single-core. Recommended CPU: 2 GHz quad-core.
• Minimum display resolution 1280×800 pixels.
• Minimum 100 Mbps router. Recommended 1 Gbps router.
• Supported CPU architectures: AMD64, ARM64, ARMHF, RISCV64.
• Minimum 200 MB disk space.
• Support IPv4 networks only.
• The devices should be connected to the same network.
• The operating system must support the following video codecs: H.264, H.265, VP8, VP9 (hardware accelerated or software).
4K Ultra HD resolution and 60 FPS requirements
Please check the following points to ensure proper support for 4K Ultra HD Linux screen mirroring on your devices:
• Extended version of application on streamer and viewer side.
• Display with 4K Ultra HD resolution and 60 Hz on streamer side.
• Hardware accelerated H.264, H.265, VP8, VP9 video codec with 4K Ultra HD support.
• The final video stream resolution and refresh rate depends from the maximum resolution and refresh rate of streamer’s display, current video codec configuration and network bandwidth.
The application supports
For a better understanding, we provide the following list of features that our application supports:
• Streaming audio and video from your screen.
• Playback audio and video on the side of the viewer.
• Screen streamer and viewer in one application.
• Audio and video splitter for simultaneously streaming screen content to multiple devices in real time.
• Secure connection with end-to-end encryption.
• Display current streaming information.
• Automatic users discovery in the local area network.
• Linux screen mirroring with a local network connection only.
The application does not support
To avoid any misunderstandings, we provide the following list of what our application does not support:
• Alfacast is not DLNA™, UPnP™ media render or media server.
• Alfacast is not Apple AirPlay™ receiver or transmitter.
• Alfacast is not Google Chromecast™ receiver or transmitter.
• Alfacast is not Miracast™ receiver or transmitter.
Alfacast is an independent Linux screen mirroring application based on proprietary streaming technology. As a result, the user has to install alfacast app on both sides: on the streamer and on the viewer devices.
Installing the application
Our Linux screen mirroring solution is available in two versions. There are two separate versions of alfacast application: regular (alfacast) and extended (alfacast x). You can find current links to the application on our Downloads page. Everything described here applies to both versions of the application (regular and extended), unless the different behavior of the two versions is explicitly described.

Figure 1. Alfacast application icons for Linux.
The regular (left) and extended (right) versions
Figure 1 shows two app icons. On the left is the icon for the regular version of the “alfacast” app. On the right is the icon for the extended version of the “alfacast x” app. We use Snap Linux app distribution system, please follow all need instructions to install our snap package. We provide only short instruction how to install our apps.
To install alfacast app please execute this command in your terminal:
snap install alfacast
To install alfacast x app please execute this command in your terminal:
snap install alfacastx
The application is available in the standard Applications Menu under Audio and Video section on your Linux immediately after successful installation.
If you are using ARM CPU based device (Raspberry Pi, Orange Pi, Banana Pi and etc), to enable hardware acceleration of video codecs, run the following command in your terminal for alfacast app:
snap connect alfacast:camera
or similar for alfacast x app:
snap connect alfacastx:camera
The extended version of the application differs from the regular version by its more advanced functionality and capabilities. From the further description of this user manual, you will understand the differences between the two versions of the application.
Launching the application
Please select the application icon from the Applications Menu and launch it in any way convenient for you. If you prefer to run applications from the terminal, run the following command for alfacast app:
snap run alfacast
or to launch the alfacast x app:
snap run alfacastx
On launch the application, it will initialize and you will see the window shown in the following figure.

Figure 2. Application splash screen window
After some time, but no more than 90 seconds, the window will show the main controls. Main application window displays the streaming devices found on the local network in a special area, see the following figure.

Figure 3. Main application window
The Main application window contains the following controls:
1 – Menu button. Show and hide menu button.
2 – 4K Ultra HD switch button. This button is used to review with the extended version of the application.
3 – Multichannel streamer button. The button switches the streamer to multichannel streaming mode.
4 – Performance evaluation button. The button opens a window with a system performance evaluation.
5 – Incoming connection button. The button opens a window with information about the incoming connection.
6 – Instruction button. The button opens a window with instructions for the application.
7 – Settings button. The button opens a window with the application settings.
8 – About button. The button opens a window with information about the application.
9 – License key button. The button opens a window with license key information.
10 – Letter logo for the application. This space is used to display notifications.
11 – Display area of discovered network nodes. List of network nodes with streamer functionality.
12 – Network node icon with name – “Android Smart“.
13 – Network node icon with name – “Raspberry Pi 4“.
14 – Current status of the application with activity indicator. The values for this field can be:
• “Initializing…” – the application is in the initialization state.
• “Please wait…” – need to wait for some time.
• “No connection” – there is no network connection on your Linux device.
• “Discovery…” – the application is ready to work and is discovering all network nodes within the local network.
15 – Multichannel streamer mode indicator. This indicator always appears on network nodes with enabled multichannel streaming mode.
In this manual we will use the concept of a network node – this is a network host on which alfacast application is running. Alfacast is both a streaming and a viewing app. Accordingly, each network node may have either the streaming function, the viewing function, or both functions available. Linux based network nodes support both streaming and viewing functions to provide Linux screen mirroring functionality.
After starting, the application immediately tries to detect all network interfaces and start the network node discovery process on each network interface. If no network interfaces are detected, you will see the corresponding application status – “No connection“. In this case, you should provide at least one network interface to start the network node discovery process. Please connect to the Wi-Fi router or use wired connection between router and your Linux device. If the network interface is present, the application will change its status to – “Discovery…“. The “Discovery…” status means that network discovery is currently in progress. The discovery process is typically quick and takes no more than 30 seconds.
The Menu button is designed for user convenience. The Menu button allows you to show and hide side menu items. If you click this button, the side menu labels will be hidden, leaving only the side menu icons.
The 4K Ultra HD switch button is a reminder that there is a more advanced, extended version of the app. This button is only available in the regular version of the app and is hidden in the extended version. Click this button to see options for switching to the extended version of the application.
The functionality of all buttons is discussed further, please see the following sections of this user manual. A description of how the Multichannel streamer button works can be found in the Multichannel streamer section of this manual. For information about the Performance evaluation button, see the Performance evaluation section. Interacting with the Incoming connection button is described in the Incoming connection section. For more information on how the Instruction button and About button works, please refer to the App instruction and About sections. The Settings button is described in the App settings section.
Click the License key button if you have one and want to activate it. All necessary steps for activating the license key are described in the App license key activation section.
The display area of discovered network nodes will reflect all detected network nodes with steaming function. In simple terms, these are streamers on your local network. To start the Linux screen mirroring process, you need to select a network node from this area. Click on any network node to start the playback process.
The Multichannel streamer mode indicator is displayed if the network node has enabled multichannel streaming mode. The multichannel streaming mode is described further in this user manual.
Closing the main program window terminates the application. Below we provide a description with the minimum set of steps to start streaming or viewing on your Linux device.
Steps for screen streaming
To start streaming your remote desktop with Linux screen mirroring, please follow the steps below on your streaming device:
• Download alfacast application on your devices.
• Connect your devices to the same network.
• Run alfacast application on your devices.
• Now you are ready to accept incoming connection.
Steps for screen viewing
To start viewing your remote desktop with Linux screen mirroring, please follow the steps below on your viewing device:
• Download alfacast application on your devices.
• Connect your devices to the same network.
• Run alfacast application on your devices.
• Wait end of the discovery process (approximately 15-30 seconds).
• Select the required streamer from the list and wait end of the connection process.
• Now you will view remote screen.
App notifications
The application will generate notifications while it is running. Not all Linux distributions provide user notification services. If the Linux distribution does not provide support for displaying user notifications, the application will use the Letter logo located on the Main application window to display notifications and in this case you cannot disable notifications. If your Linux provides a service for sending user notifications, you can enable or disable this option. App notifications are important, and we recommend leaving them enabled. In the following figure you can see an example of a notification from the alfacast application in Linux OS.

Figure 4. App notifications
The app will send notifications every time the user connects, disconnects, or performs other actions. If you do not want notifications related to the Linux screen mirroring, click the Do Not Disturb.
Screen streaming
All Linux based network nodes already have the streamer option enabled. There is no need to enable streaming in the app separately – this option does not exist. The Linux screen mirroring streamer feature is always enabled after launching the app. The application supports the X Window System and the Wayland desktop.
If your Linux uses the Wayland desktop, the application will check for screen capture support on your OS at startup. If the Wayland desktop does not support screen capture, the application will switch to Viewer Only mode. In Viewer Only mode, the app will limit its functionality and only allow outgoing connections – viewing content from another screen. The Viewer Only mode is indicated in the application by a corresponding caption in the upper left corner, see the figure below.

Figure 5. Viewer only mode
The streamer functionality in the side menu of the Main application window is also missing in Viewer Only mode. In this case, switching Linux to desktop management mode using the X Window System will help restore the streamer’s functionality. You need to restart the window manager using the X Window System. And after restarting the application, the streamer functionality will be available again.
If your Linux uses the Wayland desktop, you will see the following window with a list of available displays when you start an incoming connection.

Figure 6. Display selection window on Wayland desktop
In this window, you need to select the display that will be used by the application as a video capture source. Description of the elements of this window:
1 – Cancel button. Cancel screen mirroring.
2 – “Samsung Electric Company 40”” display. First display for user selection.
3 – “Built-in display” display. Second display for user selection.
4 – Share button. Starting the screen mirroring process.
The figure above shows two displays for the user to select. The Display selection window contains all currently connected displays. For example: if you have only one display connected – one will be shown; if you have three displays connected – all three will be shown. First, select the desired display for streaming. To start the Linux screen mirroring process, click on the Share button. The mirroring process will begin. If you change your mind or want to cancel the mirroring operation, click the Cancel button.
For more stable functionality of Linux screen mirroring feature, we recommend using the X Window System. The X Window System is more stable and is implemented in all Linux distributions.
All incoming connections and disconnections are notified. There are two streaming modes: single channel (enabled by default) and multichannel mode (see below). Please read the Performance evaluation section if you want your broadcast system to perform optimally.
Screen viewing
To start viewing content from a remote screen, you have to select a network node in the Main application window. After selecting a network node, a Playback window will open, see below.

Figure 7. Playback window
At the connection stage, the Playback window contains the following elements:
1 – Network node name. Remote host alfaname or user name.
2 – Activity indicator.
3 – Current connection status. The values for this field can be:
• “Connecting…” – the process of connecting to a network node is in progress.
• “Buffering…” – the data buffering process is in progress.
• “Disconnecting…” – the process of disconnecting is in progress.
4 – Letter logo for the application.
5 – Network node avatar image.
We have shown above the appearance of the Playback window before the content playback process starts. All of the above elements are static and serve to display the current state of the connection. If the connection cannot be established within one minute, the playback window closes automatically. If the connection is successfully established, controls will become available in the Playback window, see below.

Figure 8. Playback window after successful connection
At the playback stage, the Playback window contains the following controls:
1 – Network node name and remote screen source name.
2 – Currently selected channel.
3 – Current video stream resolution.
4 – Current encryption method.
5 – Current bitrate of the stream.
6 – Current connection time.
7 – Title window with network node name and current video aspect ratio.
8 – Full screen mode button.
9 – Aspect ratio button. The value of this button changes after each press in a circle. The values for this button can be:
• “Default” – do not change the video aspect ratio, use the same aspect ratio as on the remote screen.
• “Stretch” – the video aspect ratio will be the same as the aspect ratio of the Playback window.
• “16:9” – video aspect ratio 16:9.
• “16:10” – video aspect ratio 16:10.
• “21:9” – video aspect ratio 21:9.
• “1:1” – video aspect ratio 1:1.
• “2:1” – video aspect ratio 2:1.
• “4:3” – video aspect ratio 4:3.
• “5:4” – video aspect ratio 5:4.
• “3:2” – video aspect ratio 3:2.
10 – Picture button. Video image adjustment button. Clicking this button opens a window with elements for adjusting the video image.
11 – Information button. Click by this button to open a window with information about the current stream.
12 – Get low latency button. This button is used to review with the extended version of the application.
13 – Content from a remote screen. Playing video content is the main purpose of the Playback window.
As we can see from the image above, the Playback window contains standard control elements: changing the size and closing the window. The Playback window can be resized as desired. Double-clicking the mouse cursor switches the Playback window to full-screen mode. To exit full-screen viewing mode, you also need to double-click on the window. Information in text fields 1-6 is updated once per second. To finish the current playback session, simply close the Playback window, this will automatically disconnect you from the streamer.
To ensure a comfortable viewing experience when you use the Linux screen mirroring feature, we provide the following additional controls in the Playback window.
Click the Full screen mode button to enter the window into full-screen playback mode. Click this button again to exit full screen mode.
Click the Aspect ratio button to give the video image the shape you need. The Aspect ratio button changes the aspect ratio of the currently playing video frame. To understand how it works, try using it: click several times and you will see the effect on the displayed video image. The settings for these two values (scale and aspect ratio) are not stored and are set to default when starting a new video playback session. This button is only available with the X Window System and is not available on the Wayland desktop.
The Picture button opens a window where you can adjust the video image by: brightness, contrast, saturation or hue. This button is only available with the X Window System and is not available on the Wayland desktop. Click on this button and you will see the window shown in the picture below.

Figure 9. Picture window
The Picture window contains the following controls:
1 – Slider for setting the brightness of the video image and the current brightness value.
2 – Slider for setting the contrast of the video image and the current contrast value.
3 – Slider for setting the saturation of the video image and the current saturation value.
4 – Slider for setting the hue of the video image and the current hue value.
5 – Reset button. Reset all video image settings to default values.
You can adjust the video image levels using the sliders located in the window. Video picture settings are saved and applied to subsequent playback sessions. To return video picture settings to default values, click the Reset button.
To view current information about a stream, click the Information button. The app will create the Information window, see below.

Figure 10. Information window
The Information window contains the following controls:
1 – Network node avatar image.
2 – Current video stream resolution.
3 – Current encryption method.
4 – Current bitrate of the stream.
5 – Current connection time.
6 – Currently selected channel.
7 – Title window with network node name.
The Information window displays all the necessary information about the stream and duplicates the information from the Playback window. These are: current video resolution, current bitrate, encryption method, connection time and source. The information in this window is updated once per second.
The Get low latency button is only available in the regular version of the app and is hidden in the extended version. Click this button to see options for switching to the extended version of the application.
If the streamer is in single channel mode, the main channel is selected for connection. If the streamer is in multichannel mode, you will be prompted to select a channel, see the next window.

Figure 11. Channels list window
The Channels list window contains the following controls:
1 – List of channels to select.
2 – Connect button.
First, select the channel you need in the list. Then click the Connect button. After this, the connection with your streamer begins in the same way as described earlier. If you want to cancel the connection, simply close the Channels list window.
Multichannel streamer
Linux screen mirroring can be single channel or multichannel. To start broadcasting in multichannel mode, please press Multichannel streamer button on the Main application window. The multichannel streaming feature allows you to broadcast content from your Linux to multiple devices simultaneously in real time. This function splits audio and video signals and transmits content from the device screen to multiple devices. The type of viewing device does not matter and it can be: a Mac, a PC with Windows or Linux, an iPhone, an iPad, an Apple TV, an Android or Android TV device, a watch based on Wear OS, etc. The app will open Multichannel streamer setup window.

Figure 12. Multichannel streamer setup window
The Multichannel streamer setup window contains the following controls:
1 – Broadcast modes list. Selecting the maximum number of channels for broadcasting.
2 – Description of the selected broadcast mode. The description is updated each time you select a mode.
3 – Start broadcast button. Click this button to start streaming.
In the setup window, you need to select the required number of channels for streaming. Please select from the Broadcast modes list the number of channels required for broadcasting. Available modes: 4, 8, 16 and 32 channels. Click the Start broadcast button. The Multichannel streamer setup window will close. If you are using the Wayland desktop, the application will create an intermediate Display selection window (described earlier in this user manual), please select the display and confirm your selection. After that a new Multichannel streamer window will open, as shown in the figure below.

Figure 13. Multichannel streamer window
The Multichannel streamer window contains the following controls:
1 – Encoder resolution field. Current video encoder resolution.
2 – Encryption method field. The values for this field can be:
• “AES-128” – encryption using the AES-128 method.
• “AES-128/AES-256” – encryption using the AES-128 and AES-256 methods, for support regular and extended app versions.
3 – The full bitrate of broadcast stream. Total bitrate for all channels.
4 – Full broadcast time in multichannel mode. Time in hours, seconds and minutes.
5 – The number of network nodes currently connected to the multichannel streamer.
6 – Channel list selector. This list is used to select a channel.
7 – Information button. The button displays a window with information about the selected channel.
8 – Disconnect button. The button to disconnect the network node of the selected channel.
9 – Disconnect all button. The button to disconnect all connected network nodes.
10 – Stop broadcast button. This button stops multichannel streaming mode.
11 – The window title shows the current broadcast mode of the multichannel streamer.
Elements 1 through 5 are static and simply display current broadcast information. The information in this window is updated once per second. The regular application version has a video resolution limitation for multichannel streaming mode up to SD (768×432) quality. The extended version of the application can broadcast video up to HD (1280×720) quality in multichannel streaming mode. To display information on a specific channel, first select the channel using the Channel list, then press Information button. To disconnect a network node from a specific channel, first select the channel using list Channel list, then press Disconnect button. To disconnect all connected network nodes from all channels, press Disconnect all button. To end broadcasting in multichannel mode, press Stop broadcast button.
The regular version of the application always uses the AES-128 encryption method. Accordingly, in the regular version of the application, in multichannel broadcast mode, the encryption field will also be AES-128. The extended version of the application uses two encryption methods: AES-128 and AES-256. The extended version of the app supports AES-128 encryption for compatibility with the regular version of the app. Accordingly, in the extended version of the application, in multichannel broadcast mode, the encryption field will be AES-128/AES-256.
Closing the window does not stop broadcasting in multichannel mode. If you close the multichannel streamer window, you can open it again by clicking on Multichannel streamer button in the Main application window. If you press Information button on the Multichannel streamer window, a window with information about the channel is displayed.

Figure 14. Channel information window
The Channel information window contains the following elements:
1 – Display resolution of the connected network node.
2 – The encryption method used for this channel.
3 – Current bitrate on the channel.
4 – Channel connection time.
5 – Source, channel name.
6 – Disconnect button.
7 – The window title displays the name of the remote network node.
A separate window with detailed information can be opened for each channel. The information in this window is updated once per second. If you want to end the connection on the current channel, click the Disconnect button. All Channel information windows will automatically close if you finish multichannel streaming mode. Ending multichannel streaming mode will automatically disconnect all previously connected network nodes. If you close the multichannel streamer window, all windows with channel information will also be closed.
Performance evaluation
Linux screen mirroring feature is a resource-intensive process. To ensure better video quality we added a system performance evaluation feature. The test determines the maximum supported resolution of the video encoder that will be used for video streaming. If the test is not performed, the application will use the video resolution with the default value; the application chooses the default value itself. To start working with the performance evaluation, you need to click on Performance evaluation button on the Main application window. After clicking the button, the following window will appear.

Figure 15. Performance evaluation window
The Performance evaluation window contains the following elements:
1 – Notice about the importance of performance evaluation. Please read it.
2 – Start button. Click it to begin the performance evaluation.
Performance evaluation tests video codecs for the maximum supported video resolution. This process takes some time, and the exact time of the testing is not known in advance. After clicking the Start button, the window will change to the following.

Figure 16. Performance evaluation window in process
At the progress stage, the Performance evaluation window contains the following controls:
1 – Notice about a performance evaluation process currently in progress. Please read it.
2 – Progress indicator of the evaluation process. The indicator serves as an approximate estimate of the remaining testing time.
3 – Current video encoder. The type and name of the video codec currently being tested.
4 – Cancel button. Click this button to cancel the evaluation process.
During the entire performance evaluation process, your Linux device will be busy for incoming connections. The performance evaluation indicator will be filled to the end when the process is completed, please wait for this moment. Field Current video encoder will change to reflect the type and name of the video encoder throughout the process. You can cancel the performance evaluation at any time by clicking the Cancel button. Once the performance evaluation is successfully completed, the window will change to the following.

Figure 17. Performance evaluation window at the end of the process
At the end stage, the Performance evaluation window contains the following controls:
1 – Message about successful completion of the evaluation process.
2 – Ok button. Click it to save the results.
3 – Details button. Click it to view the system test results.
4 – Reset button. Click it to reset the system test results.
Once the testing process is complete, you need to save the results. To do this, click Ok button. Clicking the Ok button will also close the window. If you simply close the window, the performance evaluation results will not be saved, and you will have to start testing from the beginning. The Reset button resets the current test results without closing the window. If you want to view the system testing results, click on the Details button. The following window will be displayed with details about the test.

Figure 18. Performance evaluation results details window
The Performance evaluation details window contains the following elements:
1 – A hint on how to view the results for each encoder. Please read it.
2 – Video encoder selection list. To select a specific video encoder.
3 – Video encoder results list. The list of test results for a specific video encoder.
4 – Ok button. This button closes the current window.
To view the test results, you need to select a video encoder from Video encoder selection list shown in the figure above. Each time you select a video encoder, the Video encoder results list will be updated. The Video encoder results list consists of three fields: Resolution – video encoder resolution; Frequency – video frame rate; Test passed – a flag indicating whether the test was successfully passed. Each video resolution is combined with a frame rate from the Video encoder results list and tested one by one. If the test is passed successfully, the result flag will be set to “Yes”, if the test fails, the result flag will be set to “No”. The application tests video resolutions from 256×144@30 Hz to 3840×2160@60 Hz. To close and finish working with this window, click the Ok button.
The test results apply to single channel and multichannel streaming modes. For example: your Linux device supports only one video encoder – H.264, with a maximum video resolution of 1024×576 with 30 Hz. In this case all incoming connections will be limited to 1024×576 video resolution with 30 Hz. If the user resets the test results, the application will revert to the default video resolution. Please note: multichannel streamer in the extended app version supports maximum video resolution up to HD quality at 30Hz.
If your system is low-performance and none of the video encoders could encode video at the minimum test resolution (256×144 with 30 Hz), the application switches to Viewer Only mode. We already described Viewer Only mode in the previous section of this user manual. If you want to restore streamer functionality in the application, you must reset the test results using the Reset button.
At startup, the application reads previously saved performance evaluation data and uses it. If support for new codecs is added to the Linux OS or to the application, the application will reset the previous test results. In this case, the test must be repeated. The user will be notified about it.
Please note: the regular version of the application limits the resolution of all video encoders to SD quality (768×768) with 30 Hz.
Incoming connection
Incoming connection information can only be displayed after successfully connecting to your streamer. First, connect to your Linux device to view content on your iPhone or Android mobile device, TV, Mac, Windows PC, or Linux PC. After successful connection, press Incoming connection button on the Main application window.

Figure 19. Incoming connection window
The Incoming connection window contains the following elements:
1 – Display resolution of the connected network node.
2 – The encryption method used for this channel.
3 – Current bitrate on the channel.
4 – Channel connection time.
5 – Source, channel name.
6 – Disconnect button.
7 – The window title displays the name of the remote network node.
Elements 1 through 5 and 7 are static and simply display current broadcast information. The information in this window is updated once per second. You can stop the Linux screen mirroring feature and end the incoming connection on your device using the Disconnect button. The Incoming connection window will be automatically closed when the remote client disconnects.
App instruction
There is a built-in instruction in the app. It is a short guide to understanding how to use the app. This instruction describes how to use Linux screen mirroring feature, including the basic steps to start streaming and viewing content from a remote screen. To display the Instruction window, press Instruction button on the Main application window or press on icon with “No streamers” label.

Figure 20. Instruction window
Please read the instruction before using the application. This instruction will cover some of the issues on using the Linux screen mirroring feature and how to fix them.
App settings
Today it is difficult to imagine the Linux screen mirroring function without settings. To fine-tune the application to your needs, use the Settings window. Click the Settings button on the Main application window to open the window. The Settings window contains 3 tabs.

Figure 21. Settings window. General tab
The Settings window with the General tab active contains the following elements:
1 – Current avatar picture. Click on the avatar image to change it.
2 – Current alfaname. This option is used to select the name of your network node.
3 – Capture mouse pointer option. Enable or disable capture of mouse pointer.
4 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
5 – Ok button. Click this button to save the current settings and close the Settings window.
6 – Default button. Click this button to reset the current settings to their default values.
7 – Cancel button. Click this button to discard all current changes and close the Settings window.
8 – Tabs of the Settings window. Each tab displays the desired type of settings:
• General tab – general application settings.
• Streamer tab – streamer application settings.
• Viewer tab – viewer application settings.
The procedure for working with the Settings window is simple: first, select the tab you need, then change the desired option, and click the Ok button to apply all settings. The Default button resets all settings to default values without applying. Use the Default button if you are confused about the current application settings or if you have selected the wrong option and want to undo it. The Cancel button discards all changes you have made to the settings and closes the window. Use the Cancel button if you have changed settings, but do not want to save current settings. All options in the Settings window are accompanied by tooltips.
The first tab contains the app’s general settings. These are the basic settings of the application.
An avatar image is an icon of your network node. This icon is displayed on the viewing device in the Main application window (the area of detected devices). In fact, this icon symbolizes your network node or Linux device, it is used to better perceive the different network nodes by the user. Click on the current avatar, and the app will display a standard image selection dialog. Supported image formats for avatar selection: BMP, JPEG, and PNG.
Alfaname is the name of your network node. This field looks like a nickname. This field has certain character requirements. Click this field to edit it and review the requirements.
The Capture mouse pointer option allows you to capture the mouse pointer during screen capture, the mouse pointer will be visible on the viewing device.

Figure 22. Settings window. Streamer tab
The second tab contains the app’s streamer settings. The Streamer tab contains the following controls:
1 – Audio capture source list. This audio device will be used by the application as the audio capture source.
2 – Disable audio capture option. This option disables audio capture in the application.
3 – Video capture source list. This display will be used by the application as the video capture source.
4 – Video encoder resolution list. List of supported resolutions for the currently selected video display.
5 – Bitrate policy list. The values for this list can be:
• “Adaptive bitrate” – the stream bitrate will adapt to the network bandwidth.
• “Constant bitrate” – unchanging constant bitrate of the stream.
6 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
7 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
8 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
9 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
On the streamer tab you can manage the streamer’s audio and video signal sources. Simply select the device you need from the corresponding list and click the Ok button. You can disable audio capture by selecting the Disable audio capture option. If you activate Disable audio capture option application will capture only the screen of a device without audio support. Please note: screen capture cannot be disabled.
It is also possible to select the required video resolution of the encoder using the Video encoder resolution list. This list includes video resolutions up to the maximum physical resolution of the selected display. There are two resolution options in the list: 30 and 60 Hz frequency. If you select Automatic best, the application will automatically determine the best resolution from all available ones. If Wayland desktop is used, the display resolution cannot be determined in advance and the resolutions in the list will be presented as names: Maximum resolution, Super resolution, High resolution, Medium resolution, Classic resolution, Low resolution. The regular version of the application limits this value to the minimum resolution with 30 Hz frequency. The extended version of the application supports resolution up to 4k Ultra HD (3840×2160) with a frequency of 60 Hz.
Another useful feature is bitrate policy. The bitrate policy can be adaptive or constant. Adaptive bitrate policy – adjusts the bitrate to network conditions. With the Adaptive bitrate policy enabled, the bitrate will change dynamically depending on the maximum network bandwidth. Constant bitrate policy – a consistent, high bitrate throughout the entire broadcast. Constant bitrate policy is useful when you are confident in your network’s bandwidth and always want excellent video quality. This option has an effect only for single channel broadcasting mode and does not affect multichannel mode. The multichannel streamer always operates with an Adaptive bitrate policy. The regular version of the application always uses the Adaptive bitrate policy.
The app supports system audio capture. The Linux OS sounds you currently hear through your speakers will be captured by the app. The app also supports capturing audio from your device’s microphone or line-in port. The device type does not matter; it can be a built-in microphone, USB or PCI-e audio sound card with a microphone and line-in port.
The app supports automatic detection of new audio and video capture devices. If you connect a new audio device or display, the app will display it in its settings without the need to restart. If you have connected a new device to your Linux device and do not see it in the list, try restarting the app.

Figure 23. Settings window. Viewer tab
The third tab contains the app’s viewer settings. The Viewer tab contains the following controls:
1 – Playback method option. This option sets the delay time during playback.
2 – Video decoder list. List of video decoders for user selection.
3 – Viewer window always on top option. The playback window is always on top of all other windows.
4 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
5 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
6 – A button with a hint for the corresponding item. Click the button to view the hint about the option.
All video playback app options are set in the Viewer tab. Playback method option can be used to reduce or increase the delay time between the streaming device and the viewer. The delay time is adjustable from 0 (No buffer) to 3000 milliseconds (3 seconds). This is an approximate delay time. In the regular version of the application, this option is always set to 3000 milliseconds.
The Video decoder list displays the video decoders supported by the application and the Linux OS. You can select any video decoder from the list and evaluate the image quality and bitrate of the stream. If you select a video decoder that is supported by your Linux device, but there is no similar video encoder on the streamer side, the application on the streamer side will automatically select the video encoder. In any case, the application automatically selects a video encoder on the streamer’s side. The regular version of the application limits this value to SD quality (768×768) with a frequency of 30 Hz. The extended version of the application allows viewing content up to 4k Ultra HD (3840×2160) quality with a frequency of 60 Hz.
The Viewer window always on top option allows you to view video content regardless of the current window layout on your Linux OS. This option allows you to always be aware of what is happening on the remote side of the streamer: Mac, iPhone, Android, PC with Windows or PC with Linux. Simply connect to the streamer and reduce the playback window to the minimum size. This option is disabled when using the Wayland desktop.
About
Information about the program can be found in the About window. To display the About window, press About button on the Main application window. We provide the following information about our Linux screen mirroring app: version, information about our project and website address. We also provide information about the open source libraries used, authors, and the text of the open source licenses.

Figure 24. About window
Please read the program information if you are interested in details about our software.
App license key activation
To take full benefits of the extended version of the app, you must have an activation key. After installing the extended version, you will be able to enjoy a trial period. During this trial, you will be able to evaluate all the app’s features. You can purchase an activation key on our website. After purchasing, please enter the key into the app. To begin activation, click the License key button on the Main application window. You will see the window shown in the following figure.

Figure 25. License key window
The License key window contains the following controls:
1 – License key entry field. Please provide a valid license key in the following format: xxxx-xxxx-xxxx-xxxx-xxxx (lowercase).
2 – Message about the need to activate a license key with information. Please read it.
3 – Activate button. Button to start activating the license key.
4 – Cancel button. License key activation cancel button.
Enter your license key in the License key entry field. Click the Activate button to begin the license key activation process. The application will display a dialog box with the process of activating your key. Follow the instructions provided in the activation dialog box. If activation is successful, you will receive a message about it. If the key activation process failed, carefully review the error message. If you can fix the activation error, then fix it yourself; if not, then contact the developer. The Cancel button cancels activation and closes the window.
Conclusion
We have fully described and reviewed alfacast application. Overall, the application is intuitive and easy to use. Alfacast app for Linux screen mirroring offers a wide range of features and functionality. There is a real-time streaming function. There is audio and video playback function. The connection is encrypted and secure. Each network node can broadcast its desktop content to multiple devices simultaneously. Performance evaluation allows you to use Linux screen mirroring feature in the best possible and optimal way. The extended version of the application has high quality video streaming feature up to 4K Ultra HD, it has low latency playback, more secure connection and other benefits. If you want to learn more about the application, you can watch the video on our YouTube channel.