17 ms·
Deskreen – Turn any device with a web browser to a second computer screen
- simplecto 6y agoNeat idea. Do you have a video demo somewhere?
- avipars 6y agohttps://www.youtube.com/watch?v=rmg5tZ4iSx8&feature=emb_title https://www.youtube.com/watch?v=rmg5tZ4iSx8&feature=emb_titl...
- d99kris 6y agoPrevious discussion: https://news.ycombinator.com/item?id=25820533 https://news.ycombinator.com/item?id=25820533
- blittle 6y agoDemo video: https://www.youtube.com/watch?v=rmg5tZ4iSx8 https://www.youtube.com/watch?v=rmg5tZ4iSx8
- unnouinceput 6y agoIs this a TeamViewer/AnyDesk level of interactivity or just a Twitch level of interactivity from 2nd screen? As in 2nd screen can be used to control the main source screen or just to watch what happens there?
- flaxton 6y agoWorks the same as an additional monitor- which is what it is. The Dummy Plug creates the second monitor thru native support in the OS. Deskreen connects your additional device to it via a web browser. I installed it on Ubuntu and had it working in two minutes, using my iPad Pro 12.9” as a second monitor ;-) Looks and works good and decent latency.
- em-bee 6y agocan that second monitor be controlled with the mouse and keyboard from the device where the browser is running?
- unnouinceput 6y agoTwitch does the same. Run Twitch in browser and broadcast with OBS your main screen. Then any device can see your main screen
- Krasnol 6y agoThe main issue I see here is the interaction on the "customer" side. There are too many buttons to click.
- z3t4 6y agoYou could also use built in browser screen share. (instead of electron app)
- pavlobu 6y agoIt usually requires you to have an access to internet due to how WebRTC works signals should be exchanged on internet somewhere. Deskreen solves this problem by running local signaling server, so you don't need access to internet
- ducktective 6y agoAnyone knows how to have the same functionality using X window system?
- yoz-y 6y agohttps://xpra.org/trac/wiki/Clients/HTML5 https://xpra.org/trac/wiki/Clients/HTML5 this seems like a start. Never tried it though.
- aruggirello 6y agoLooks like Weylus is what you're looking for: https://github.com/H-M-H/Weylus https://github.com/H-M-H/Weylus
- avipars 6y agorequires a dummy hdmi dongle, but far cheaper than DUET
- amrrs 6y agoNot required for Mirroring but if you want to use as a second new screen then it's!
- BossingAround 6y agoDoes this add any sort of touch capacity to the OS if the input device has touch screen? In other words, can I use this app to draw from a tablet to something like Gimp on my main computer?
- supermatt 6y agoNo, it is just for display.
- rahimnathwani 6y agoIf you're on Linux, Weylus will let you use your tablet as an input device for Gimp.
- pavlobu 6y agoHi, this may be added in the future releases depending on how we collaborate on making new cool features. Cheers
- tomcam 6y agoAmazing accomplishment. Does anyone know if it works on Kindle Fires?
- pavlobu 6y agoHi thanks! It can be anything that has LAN or wifi and runs a web browser that supports WebRTC
- MayeulC 6y agoFor those interested in something similar with sway, you can: - Add a headless display with `swaymsg create_output SOME_NAME` - Configure its resolution and position like you do for other outputs - Start a VNC server on that output with `wayvnc --output=SOME_NAME` - Start a VNC client somewhere else you want to use your second screen (there are some that are browser-based) Unfortunately it is somewhat undocumented: https://github.com/swaywm/sway/issues/5553 https://github.com/swaywm/sway/issues/5553 but you can find some info on the net: https://www.reddit.com/r/swaywm/comments/k1zl41/thank_you_devs_free_ipad_repurposed_as_a_second/ https://www.reddit.com/r/swaywm/comments/k1zl41/thank_you_de... I saw in that readme that they wanted ways to get rid of dummy adapters. That above is one such possible way for sway.
- pdxandi 6y ago> with sway This made me think, "Sway. Sway. Sway. Sway in the Morning." Not sure how many hip hop fans there are here...
- phlofy 6y agoSame! Made me smile :)
- 12bits 6y agoI know we'll be downvoted to death for this. Sway is so deeply rooted in the game and remains a solider for the culture to this day. Always a positive beam of positivity from him.
- pdxandi 6y agoAre we being downvoted because it's not related?
- mjcohen 6y agoI'm so much older that it made me think of Dean Martin.
- RMPR 6y ago
- bennofs 6y agoOn Linux, I've used https://github.com/rhofour/evdi-vnc https://github.com/rhofour/evdi-vnc to make a secondary screen that you can connect to with any VNC client.
- franga2000 6y agoBoy would this comment have saved me a lot of time had it been posted on the original discussion a couple of days back! I did eventually find that project, but only after having written what is essentially the non-VNC half (creating and managing evdi displays) of it from scratch...
- amelius 6y agoWhat are people using their second screens for? And why not use a virtual workspace manager instead?
- emeraldd 6y agoI tend to run both. The second screen let's me have source/editor on one and reference material on the other. My daily driver is a three screen setup( laptop display and two external monitors). There's usually some combination of logs, app ui, source, and refence material across all three so I can switch between them without having to think about which virtual display they are on. In support situations, I'll have a screen share running on one, chat on another, and likely reference material on a third. You could do it with a single huge display, but it would need to be huge and have a way to subdivide it into reasonable slices for easy window snapping. Plus, you aren't going to get that in anything that can be used as a laptop ...
- GordonS 6y agoVirtual desktops are useful, but often a physical screen is better. For example, it's much more convenient to glance to and fro from code and logs/stack trace.
- amelius 6y agoBut keeping track of where the mouse pointer is is much easier using a virtual desktop.
- chii 6y agosucks that to get a non-mirrored screen you'd currently need a fake dongle. Kinda takes the value proposition away a lot.
- deleted 6y ago[deleted]
- pavlobu 6y agoHi. It's open source so expectations can be lower than for commercial projects. It's made on pure enthusiasm. And we are figuring out a way of how to hack the OSes to get rid from dummy display plugs. (just look at repo README.md) So stay tuned, in future releases wi will be updating on that. Cheers
- beyondcompute 6y ago“Dummy Display Plug” sounds like something from Neon Genesis Evangelion. :)
- apricot 6y agoBaka! You're the dummy, Shinji! Now get in the robot!
- zenlot 6y agoFor those lucky to have VGA port, I've recently did a setup with iPad 3 as second display for laptop [0] with VGA and a few resistors to create dummy display. [0] https://blog.zenlot.xyz/post/ipad_second_display/ https://blog.zenlot.xyz/post/ipad_second_display/
- jstanley 6y agoCool hack, but is that seriously the easiest way to ask Windows for a second display? That is nuts!
- zenlot 6y agoThanks! I didn't find a way to create a dummy display with native Win10 tools. There was a way to do it in previous minor releases, but with recent Win10 updates Microsoft has removed it or disabled. So went for a hardware solution instead, as I didn't want to install any 3rd party software. That's quite reliable solution, just need to be careful if moving laptop too much :)
- jackbrookes 6y agoYou can buy dummy headless display dongles very cheaply, e.g.: https://www.amazon.co.uk/Headless-Display-Emulator-Headless-1920x1080-generation/dp/B06XT1Z9TF https://www.amazon.co.uk/Headless-Display-Emulator-Headless-...
- jstanley 6y agoBut why do you need hardware for this? Surely this is a purely software problem.
- dmingod666 6y agoYea, they want to get rid of that but need to know more about how to handle it in the lower levels of the OS (mentioned on the github page).
- pbalau 6y ago
- bjoli 6y agoI have a 2016 iMac which has an amazing screen, but sadly apple removed target display mode in 2012, which makes it useless for me. It has been collecting dust, since I can't stand Mac OS except when I really have to use it (mostly some sound production things at work). I am very much looking forward to try this.
- rasengan 6y agoYou could also try Shells [1] to breathe life into an old computer. [1] https://shells.com https://shells.com
- tootie 6y agoI can't fully vouch for this setup but there are some dirt cheap HDMI-to-USB devices on Amazon (got mine for $15) now. You can run HDMI out from your main machine to the USB of your iMac and then capture the input with OBS and run it full screen. A little hacky but it should work. I've been using one to pipe an old Android phones camera to a virtual cam on my laptop.
- bjoli 6y agoThis is amazing. Thank you.
- tootie 6y agoHere's the doodad: https://www.amazon.com/gp/aw/d/B08Q7V4V4L?ref=ppx_pt2_mob_b_prod_image https://www.amazon.com/gp/aw/d/B08Q7V4V4L?ref=ppx_pt2_mob_b_...
- Nextgrid 6y agoLatency could be a slight issue though. The display underneath should be connected via LVDS, so it should be relatively easy to give it native inputs.
- DenisM 6y agoWhy not dual boot Windows or Linux? VMs work fine too, been using them for a decade now.
- ignoramous 6y agoSee also Vysor: https://github.com/koush/vysor.io https://github.com/koush/vysor.io by the creator of ClockworkMod. It streams Android and iOS UI to desktops with actionable controls.
- Causality1 6y agoHow's the latency on that? I've been looking for a good "dock" solution for my phone but as it's type-c port is only USB 2 it doesn't support video out with charging.
- cfn 6y agoPretty good. I used it for a couple of years doing mobile development from a Windows machine and it was very responsive. The setup was a bit odd (licensing issues) and I ended up switching to scrcpy which is free and also very good: https://github.com/Genymobile/scrcpy https://github.com/Genymobile/scrcpy
- bloopernova 6y agoThank you very, very much for putting an architecture and state diagram in the README.md. Nice work!
- aidos 6y agoCame here to say the same. If everybody included just a single high level picture like that, you’d give newcomers a real head start in understanding the code.
- pavlobu 6y agoThat is exactly what I think when I see any project on github without such a diagram. I would contribute to more simply if they had a brief diagram like the one I did :)
- pavlobu 6y agoWelcome! :)
- gambiting 6y agoFor those on windows(and with an Intel WiFi card) there is a hidden but an extremely useful feature - "project" can be used to turn any other windows PC/Laptop/Tablet into a second screen, just enable "cast to this PC" in settings, then from the host PC press Win+P from anywhere and the second machine becomes a secondary display instantly. To windows it appears as a normal display, without any hackery involved.
- negativegate 6y agoHuh, I never knew about this. Go to Settings > Projecting to this PC to enable it. You may need to install the Wireless Display optional feature first.
- interestica 6y agoThe fact that this part isn't linked to from the "Cast to wireless display" section of settings is absurd. Win10 control panel is a mess. I actually made a real effort to find the setting. Your post was the only thing to point me in the right direction.
- ianai 6y agoHow laggy is it over Wi-Fi?
- mlacks 6y agoNothing to measure it with but i never think about the lag when i do it over hotel wifi
- nickysielicki 6y agoI believe this exclusively uses WiFi direct and skips the AP completely, but I can't completely confirm with a quick google.
- gambiting 6y ago
- m-p-3 6y agoI guess I'll have to get a dummy display connector for my current video card. I'm still wondering how Duet Display is able to do so without it.
- pavlobu 6y agoYeah, me too. They don't disclose it coz their whole business is running on this small ad-hoc hack :)
- vyrotek 6y agoWould it be possible to run a 2nd screen as small PIP on the desktop?
- traceroute66 6y agoFor those on Mac, there is Sidecar to use your iPad as secondary display for Mac (https://support.apple.com/en-us/HT210380 https://support.apple.com/en-us/HT210380). So, combined with @gambiting saying something similar exists on Windows, I'm struggling to see the utility of Deskreen given the two main OS's already have such functionality built in. I guess cross-platform might be the only use ?
- mjs7231 6y agoTo me, this project seems much more useful than these platform specific apps. ANY screen with a browser means much more compatibility than iPad only for the second screen.
- jimsmart 6y agoSidecar is only possible if your Mac and iPad are fairly new models. Also, it doesn't allow one to use e.g. another MacBook or iMac as a screen.
- mibzman 6y agoI use YAM display[1] with a 2012 macbook and an ipad mini from 2015, which works great! I don't think you can use another mac as a second screen though. [1]: https://www.yamdisplay.com/ https://www.yamdisplay.com/
- mronge 6y agoAlso check out Luna Display if you want to use another Mac as a display: https://astropad.com/product/lunadisplay/ https://astropad.com/product/lunadisplay/
- manojlds 6y agoWhat about my Mac and my Android tablet?
- amrrs 6y agoThis demo has got latency at the end of the video https://youtu.be/adY2SnGT358 https://youtu.be/adY2SnGT358 (very small latency)
- pavlobu 6y agoHi, I have to mention the latency will be if you use slow wifi, slow or old devices. Cheers
- f430 6y agois it possible to output the image buffer to a file or stream it over the internet? I have favorited this submission.
- pavlobu 6y agoIt's based on WebRTC and is way more flexible than a file stream:)
- midwestemo 6y agoI really want something that's like spacedesk (another one of these) but without using a HDMI dummy plug, spacedesk is glitchy however doesn't need a plug and can support many devices.
- edward 6y agoI corrected some spelling mistakes. https://github.com/pavlobu/deskreen/pull/34 https://github.com/pavlobu/deskreen/pull/34
- walrus01 6y agofor anyone that's interested in this general concept, also take a look at 'barrier', which is the continuation and fork of synergy. use one keyboard and mouse to drive multiple independent PCs at one desk, roll the mouse/keyboard off the edge of one screen and onto the other. sort of an inverse KVM. and without the ridiculous cost/licensing issues of the official synergy. https://github.com/debauchee/barrier https://github.com/debauchee/barrier
- Tossrock 6y agoI now regret paying for Synergy!
- wccrawford 6y agoI often have problems with barrier. Sometimes, it'll just refuse to stop when press "stop". It'll continue replicating the mouse to the other computer. Other times, it'll refuse to start working again, requiring me to restart one or both computers, with know way to know which is messed up. If I could guarantee one of the non-subscription ones would work properly, I'd probably pay. But since Barrier is apparently a fork of Synergy, I don't trust it. And most of the others have weird monetization, or I've heard bad things about their customer service... So I don't trust any of them. In the end, I'm still using Barrier and just dealing with its problems.
- worldsayshi 6y agoI had quite a few problems with it but I think they mostly went away when I stopped closing the barrier window. It can't properly handle picking up the running session when you open up a new window so when you close the window the service becomes an orphan. Then it will try to start a new session on top of the other which can result in confusing behaviour.
- wccrawford 6y agoI never close the window, though. Just minimize it. Thanks for the info, though.
- 6y ago
- dheera 6y agoIt might be super interesting if someone could make a native Android/iOS app for this since mobile web browsers can't do "real" full screen. Would be useful for turning spare tablets into displays and also perhaps for quickly checking color calibrations of photo adjustments on mobile displays.
- Hnaomyiph 6y agoI've tried this the past three times it's made it to the front page. Using both an iPhone and iPad with safari I was unable to even connect the server. It acts like it's loading then fails.
- pavlobu 6y agoHi its not normal, coz other users don't have these kinds of things happening. It may be a firewall on your desktop, wifi or even your phone. Also you need to have an access to private networks if you are on Windows. Cheers
- Hnaomyiph 6y agoThank you for replying! I've actually been using and enjoying your product for the past day or so. "Also you need to have an access to private networks if you are on Windows." This was the problem. Being the bonehead that I am, my home network profile was accidentally set to Public network, rather than private.
- pavlobu 6y agohey, I have this awkward feeling when my original post got less hype on hackernews than the current one :) my original post: https://news.ycombinator.com/item?id=25820533 https://news.ycombinator.com/item?id=25820533
- Scoundreller 6y agoDon't let it stress 'ya. Happens all the time here :)
- pavlobu 6y agoHaha no problem. I'll not post during working days here anymore :D only weekends from now on
- stanislavb 6y agoI think, it’s not only timing. It’s how HN works. Usually, you need someone with “good karma” to submit and upvote it. Otherwise - good luck.
- pavlobu 6y agoAlright, will keep a note on that ^
- pavlobu 6y agoThank you all! Tons of great ideas, now I scratch my head and thinking on how to get them into a simple API. Here is what I think virtual display API should look like: https://github.com/pavlobu/deskreen/tree/master/drivers https://github.com/pavlobu/deskreen/tree/master/drivers
- stanislavb 6y agoBtw, deskreen has been shared enough times now to become popular on "TypeScript LibHunt" too https://www.libhunt.com/lang/typescript https://www.libhunt.com/lang/typescript (disclosure: LibHunt founder). Definitely seems like a helpful project. The stars on GitHub have jumped from 1 to 1,900+ in just one week! Enjoy the ride and thanks for open-sourcing your work.
- pavlobu 6y agoHey, that is great news! Thanks for sharing it! :D
- danielEM 6y agoSince android 10 and its desktop mode would be nice to have virtual displays there as well. On rooted phones it shouldn't be hard to get such a driver into a kernel. Android distros like LineageOS would be probably more than happy to incorporate such a solution. Another thing is Linux, drivers for virtual screen already exist, check xvfb and xorg-video-dummy
- franga2000 6y agoNote that it is definitely possible to use this without those horrible dongles and even if you don't have any spare video ports at all. Unfortunately, on both Windows and Mac, open-source solutions don't exist because no single developer wants to deal with driver signing. On Linux, you can do this a number of ways: - the evdi kernel module can create fake video outputs (I'm currently working on a CLI for it - stay tuned) - xrandr can force-enable disconnected video outputs (I believe even if you've used up all the CRTCs) - xrandr with Intel drivers can create virtual screens - swaywm has a config option to make virtual screens
- pavlobu 6y agoThanks for sharing! Is drivers signing that painful ?
- franga2000 6y agoWell to start, it costs like 500$ a year [0]. This does seem to be changing [1], but I haven't looked into what the new procedure is/will be. [0] https://www.digicert.com/code-signing/driver-signing-certificates.htm https://www.digicert.com/code-signing/driver-signing-certifi... [1] https://docs.microsoft.com/en-us/windows-hardware/drivers/install/deprecation-of-software-publisher-certificates-and-commercial-release-certificates https://docs.microsoft.com/en-us/windows-hardware/drivers/in...
- shadycuz 6y agoIs this the correct tool if you are trying to use a cheap tablet as a wireless display for a raspberry pi? Edit: I don't think this would be a good solution. It mentions getting a qr code from the host machine and approving the connection inside the application. These things would be really hard to do on a pi with no screen over an ssh connection.
- niutech 6y agoYou don't need Deskreen, you can extend your Windows desktop to a second screen on any device easily by using: Zonescreen (https://zoneos.com/zonescreen/ https://zoneos.com/zonescreen/) or TightVNC with DFMirage Driver (https://www.tightvnc.com/download.php https://www.tightvnc.com/download.php). For an in-browser VNC client there are: noVNC (https://novnc.com/ https://novnc.com/) or Apache Guacamole (https://guacamole.apache.org/ https://guacamole.apache.org/) or ThinVNC (https://sourceforge.net/projects/thinvnc/ https://sourceforge.net/projects/thinvnc/). As you can see, there are already many solutions for this use case. I also have made a VNC-like remote screen using Kindle 3 (https://github.com/niutech/kindle-vnc https://github.com/niutech/kindle-vnc).