{"id":49076,"date":"2025-06-13T16:03:33","date_gmt":"2025-06-13T16:03:33","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=49076"},"modified":"2025-06-13T16:03:33","modified_gmt":"2025-06-13T16:03:33","slug":"one-click-turn-linux-second-monitor","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2025\/06\/one-click-turn-linux-second-monitor\/","title":{"rendered":"This App can One Click Turn Your Linux Screen into Second Monitor"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-49077\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p>Need to use your Linux laptop, desktop PC, or mobile screen as a second monitor for another Linux device? Here&#8217;s an application that can do the job easily.<\/p>\n<p>As you may know, GNOME since v41 added support Remote Desktop (RDP) protocol support with ability to create virtual monitors. And, I&#8217;ve written about <a href=\"https:\/\/ubuntuhandbook.org\/index.php\/2023\/07\/share-extended-screen-gnome\/\" target=\"_blank\" rel=\"noopener\">how to manually create virtual monitor<\/a> in Ubuntu to share with others.<\/p>\n<div id=\"attachment_49078\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49078\" class=\"size-large wp-image-49078\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display-700x525.webp\" alt=\"\" width=\"610\" height=\"458\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display-700x525.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display-300x225.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display-768x576.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/removevirtual-display.webp 1280w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-49078\" class=\"wp-caption-text\">My Laptop is using Desktop PC screen as a second monitor<\/p><\/div>\n<p><!--more--><\/p>\n<p>To make life easier, <b><a href=\"https:\/\/gitlab.gnome.org\/r\/mirrorhall\" target=\"_blank\" rel=\"noopener\">Mirror Hall<\/a><\/b>, a free open-source Python app was born allowing to do the job just by a single mouse click.<\/p>\n<p>It promotes itself as &#8220;<i>low-latency virtual display app<\/i>&#8220;, which uses GNOME&#8217;s built-in feature to create virtual monitors. And, it uses <b>UDP<\/b> port (open the port if firewall enabled) for video streaming based on <code>gstreamer<\/code> and <code>mutter<\/code> screen sharing API.<\/p>\n<p>The app support <b>hardware accelerated encoding<\/b> for modern Intel\/AMD CPUs through VA-API and Qualcomm CPUs via v4l2. For un-supprted CPU\/GPU, it will fallback to software rendering at the expense of some performance and CPU load.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-light.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-49079\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-light.webp\" alt=\"\" width=\"622\" height=\"618\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-light.webp 622w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/mirrorhall-light-300x298.webp 300w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/a><\/p>\n<p>As you screen in screenshot above, in the app window just click &#8220;<b>Turn Into Mirror<\/b>&#8221; will turn the device&#8217;s screen as virtual monitor. On another machine with the app installed, just click on that devices under nearby mirror list will connect and use it as an extended display.<\/p>\n<p>By going to <b>Display<\/b> setting panel in GCC (Gnome Control Center), you may configure to mirror display, set the display as primary, or configure more just as it&#8217;s physically connected.<\/p>\n<div id=\"attachment_49080\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49080\" class=\"size-large wp-image-49080\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration-700x514.webp\" alt=\"\" width=\"610\" height=\"448\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration-700x514.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration-300x220.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration-768x563.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/virtual-display-configuration.webp 1089w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-49080\" class=\"wp-caption-text\">Configure the connected virtual display<\/p><\/div>\n<p>Besides that, it supports creating virtual screen over <b>RTSP<\/b>, e.g., for use with VLC, and connect by manually inputting remote IP and port number.<\/p>\n<h3>How to Install Mirror Hall<\/h3>\n<p><b>Mirror Hall is NOT usable at production level, as this GNOME feature is experimental! And, the video stream is not encrypted!<\/b><\/p>\n<p>The app <b>requires GNOME 41<\/b> or higher. Though, in my case it works partly in Linux Mint 22 Cinnamon, it can create virtual monitor (may fallback to RTSP) but can NOT connect.<\/p>\n<p>For <b>Fedora<\/b> Workstation with 3rd party repository enabled, the app can be installed from GNOME Software.<\/p>\n<p>While <b>Debian<\/b>, <b>Ubuntu<\/b>, and other Linux with GNOME may run the commands below one by one to install:<\/p>\n<ul>\n<li>First, open terminal (Ctrl+Alt+T) and run command to install Flatpak daemon:\n<pre>sudo apt install flatpak<\/pre>\n<p>For other Linux, follow this <a href=\"https:\/\/flatpak.org\/setup\" target=\"_blank\">setup guide<\/a> instead to enable Flatpak support.<\/li>\n<li>Then, install the <a href=\"https:\/\/flathub.org\/apps\/eu.nokun.MirrorHall\" target=\"_blank\">app package<\/a> by running command:\n<pre>flatpak install https:\/\/dl.flathub.org\/repo\/appstream\/eu.nokun.MirrorHall.flatpakref<\/pre>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/flatpak-mirrorhall.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/flatpak-mirrorhall-700x475.webp\" alt=\"\" width=\"610\" height=\"414\" class=\"aligncenter size-large wp-image-49081\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/flatpak-mirrorhall-700x475.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/flatpak-mirrorhall-300x204.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/flatpak-mirrorhall.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/li>\n<\/ul>\n<p>After installed the app, either search for and launch from GNOME Overview (log out and back in if app icon no visible), or run the command below to start from terminal which is useful for debugging purpose.<\/p>\n<pre>flatpak run eu.nokun.MirrorHall<\/pre>\n<h3>Uninstall:<\/h3>\n<p>To uninstall Mirror Hall virtual display app, open terminal and run command:<\/p>\n<pre>flatpak uninstall --delete-data eu.nokun.MirrorHall<\/pre>\n<p>Optionally run <code>flatpak uninstall --unused<\/code> to remove useless runtime libraries.<\/p>","protected":false},"excerpt":{"rendered":"<p>Need to use your Linux laptop, desktop PC, or mobile screen as a second monitor for another Linux device? Here&#8217;s an application that can do the job easily. As you may know, GNOME since v41 added support Remote Desktop (RDP) protocol support with ability to create virtual monitors. And, I&#8217;ve written about how to manually [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":49077,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[689],"class_list":["post-49076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-gnome"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=49076"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/49077"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=49076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=49076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=49076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}