×
all 69 comments

[–]Patient_SinkGNOMie 21 points22 points  (1 child)

Actually really cool, thanks for sharing this.

[–]rafay_a_kGNOMie[S] 6 points7 points  (0 children)

Yep! I had a hacky way of doing this using Deskreen and a gnome virtual display recording script, this is definitely better.

[–]Ivan_Kulagin 8 points9 points  (2 children)

This only works on Wayland, right?

[–]rafay_a_kGNOMie[S] 8 points9 points  (0 children)

I believe its a Wayland feature, not sure though. I haven't tried this on an X.org session

[–]rafay_a_kGNOMie[S] 2 points3 points  (0 children)

Confirmed does not work on x11

[–]freetoiletGNOMie 16 points17 points  (5 children)

That’s gotta be why people say gnome “just works”. I challenge you to reproduce this behaviour on another DE

[–]Sensitive_Bug7299 5 points6 points  (3 children)

[–]Super_PapayaGNOMie 4 points5 points  (2 children)

Isn't sway a window manager? when did it become a DE?

[–]Sensitive_Bug7299 1 point2 points  (0 children)

I suppose you’re right but I dont know why? It works by itself and it runs apps, including gnome and kde ones and the tray. Call it how you want, but WFM…

[–]Ullebe1 0 points1 point  (0 children)

I guess the line is a bit more blurry with Wayland. It is not a DE as it doesn't include it's own suite of apps, but since it is for Wayland it is also a compositor and Wayland server (through the wlroots library), allowing it to implement stuff like this.

[–]JJGadgets 0 points1 point  (0 children)

While not a DE, I’ve been doing this on SwayWM + WayVNC, using a headless display (either my fitHeadlessGS or virtual HEADLESS-[number] display using Sway to create and manage it). Works really well, low latency even over my home VPN used to “bridge” the 2 devices while in campus.

[–]Eyad-ElghareebGNOMie 2 points3 points  (4 children)

If there is a way to make this work via usb it would be much better in terms of lag , also you wouldn't have to worry tablet's battery , some 3rd party apps do this i think Also making it native option in sharing settings would be better

[–]rinspeedGNOMie 1 point2 points  (0 children)

Tried to just do usb tethering on an android tablet, and while it sorta worked it was rather slow. Surprised I've been trying to get a feature like this to work for about a decade.

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

I’m not sure of RDP over usb apps on either Android or iOS, the lag isn’t that bad if you’re on 5G network. Still if you get it working over usb it would be great to know

[–]Spl4tt3rB1tcH 2 points3 points  (1 child)

Laggy but it works quite well. Was using it the whole afternoon.

Sitting in the train now, using my phones hotspot for internet on both, laptop and tablet, and even now, second screen on tablet works.

Lovely

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

Yep. I use it for static content that I'm referencing, and for that lag doesn't really detract from the experience. Later, I'll be looking to improve the performance through contributions to the gnome-remote-desktop

[–]3DArtist2021GNOMie 1 point2 points  (2 children)

Are you using Wayland + NVIDIA? Nice laptop btw :D

[–]rafay_a_kGNOMie[S] 1 point2 points  (0 children)

Thanks the laptop is the Asus Zephyrus G15 and yep, Wayland on Nvidia.

[–]pktiuk 0 points1 point  (0 children)

In my case I used my Pop Os 22.04 laptop with Nvidia, but it did not work properly.

Luckily, after switching to integrated graphics works well

[–]odaman8213GNOMie 1 point2 points  (0 children)

I get "Unable to connect - your admin might have ended your session" using Arch with Nvidia

[–]grigioGNOMie 1 point2 points  (7 children)

I'm on GNOME 42.1 Manjaro/Archlinux Wayland it doesn't work

``` ~ gsettings set org.gnome.desktop.remote-desktop.rdp screen-share-mode extend No such schema “org.gnome.desktop.remote-desktop.rdp”

```

[–]rafay_a_kGNOMie[S] 4 points5 points  (0 children)

That's weird. Seems like you're running an older version of gnome-remote-desktop. You should perhaps validate that. On Fedora 36 I have the following version of gnome-remote-desktop that allows this feature:

$ dnf list installed | grep gnome-remote gnome-remote-desktop.x86_64 42.1.1-1.fc36 @updates

[–][deleted] 1 point2 points  (5 children)

Got the same error. Turns out gnome-remote-desktop wasn't even installed. Installed it (version 42.2-1). Remote desktop settings now appear in the sharing settings.

Still figuring out the rest...

[–]haptein23 0 points1 point  (4 children)

extend

Did you figure it out? In my case (also Manjaro) I can connect to it but no virtual monitor is created :/

[–][deleted] 0 points1 point  (0 children)

Yeah, I couldn't get it working either, similar observation - seemed to make a connection but no monitor. Gave up.

[–]haptein23 0 points1 point  (2 children)

I figured it out (for the case where setting 'extend' with gsettings does nothing), setting screen-share-mode to extend with dconf was needed.

[–]robano_ 0 points1 point  (1 child)

On my repos from ubuntu 22.04 I get that `42.0-4ubuntu1` is the newest version.
`dconf read /org/gnome/desktop/remote-desktop/rdp`
only allows to read/write (see/change) values for

enable - (enable/disable rdp)
tls_certificates

cant set value extend for RDP.

[–]haptein23 0 points1 point  (0 children)

FWIW my dconf shows additional keys: enable, screen-share-mode, tls-cert, tls-key, view-only.
Maybe it's a version difference (I was on 42.2 when I wrote that message) or an Ubuntu/dependency thing, I'm not sure.

[–]buddimantudu 1 point2 points  (3 children)

will this work only with Wayland ?

I use Pop_OS 22.04 which used X11 by default

[–]rafay_a_kGNOMie[S] 1 point2 points  (2 children)

I tried on Pop but weirdly I couldn't get it up and running. I think Pop has an older version of gnome-remote-desktop and shoddy implementation of pipewire, which might be causing problems.

[–]buddimantudu 0 points1 point  (1 child)

then what to do ? I did update, but no use

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

There are a few ways to have the same functionality, although they are a bit hacky compared to the inbuild gnome feature. What you'll have to do is: create a virtual display through mutter and pipe it to pipe wire. Then you can capture the virtual display through something like Deskreen and show it on your tablet/phone/pc.

I can add this to the bottom of my original post perhaps, as a separate hack in case you're on an older gnome version or are on a distro with incomplete gnome implementation.

[–]unlikeyGNOMie 0 points1 point  (4 children)

Grrr.

I have been avoiding/delaying upgrading from F35 to F36 since, for me at least (and this was true for me when I initially installed F34 and later when I upgraded to F35) Fedora is "flaky" when a version is initially released and takes several months to get completely stable. Again, my experience at least.

But man do I really want this feature...per /u/rafay_a_k I have been considering various hacky ways to achieve this.

[–]unlikeyGNOMie 0 points1 point  (3 children)

Well, you caused me to bite the bullet and upgrade just to get this feature. Naturally the extend feature does not work for me. The client app just sits there "connecting" after user/pass.

If I reset the gsettings back to the default 'mirror-primary' I can display the screen as-is. Oh well.

[–]rafay_a_kGNOMie[S] 1 point2 points  (2 children)

Oh man🙈. Did you try switching up resolutions on the RDP app? I faced this problem, too on certain resolutions. If you follow journal logs and see DMA buffer errors as soon as the virtual display connects then switching up the resolutions might get you going. Try the resolutions I’m using in my post

[–]unlikeyGNOMie 2 points3 points  (1 child)

Wow. I called myself paying attention to what your instructions said but...after your reply here I went back and tried each display resolution option one at a time. They all failed the same way until I got to 1280x622 (I was testing to see if it worked on my iPhone) and that worked!

Not sure what Gnome is doing as it resets my normal monitors' layout (3 monitors) and one monitor's resolution whenever I connect the phone as a fourth display. I can still set them how I want after connecting my phone as a fourth, but it has to be done every time. Once I disconnect, the three monitors go back to their normal layout/resolution settings.

But, it works! Thanks!

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

Ayeee!! Glad you got it working. Yeah I also noticed that the display configurations get messed up once a virtual screen connects. Perhaps I should make a bug report for that

[–]GunzAndCamoGNOMie 0 points1 point  (2 children)

What's a good guide to setting up RDP from one Arch/Wayland/GNOME machine to another? I need to know that I'll be able to log into my work machine from home if I'm ever forced to WFH.

Bonus points if it features Remmina.

[–]Nulaccur 1 point2 points  (0 children)

honestly I just use Anydesk it vastly simplifies everything

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

I tried setting this up on Remmina on separate laptop but the RDP functionality on it might just be broken it wouldn’t even let me login

[–]StepAdministrative43GNOMie 0 points1 point  (0 children)

Thanx man. I'll try this

[–]rinspeedGNOMie 0 points1 point  (2 children)

see also https://tuxphones.com/howto-linux-as-second-wireless-display-for-linux/ , it delves into some technicals on how this could eventually be faster.

[–]rafay_a_kGNOMie[S] 0 points1 point  (1 child)

Thanks, this is a great resource. I was looking to initially build a python script for doing this exact same thing (create a virtual monitor in DBUS and piping that session to gnome-remote-desktop), this gives a lot of clarity.

[–]rinspeedGNOMie 1 point2 points  (0 children)

Good to hear! Yeah, hoping the idea spreads, don't have much hacking time but can help anyone test trying to have an Android app as a wired receiver.

[–]T3ddO_0 0 points1 point  (3 children)

Hi. How can I change the virtual desktop resolution? From the settings app I can see only one option

[–]rafay_a_kGNOMie[S] 0 points1 point  (2 children)

Gnome will create the size based on the request from the RDP client. So if you connect from an RDP app on your tab set the resolution there.

Note: not all resolutions work refer to the quirks section in my post

[–]T3ddO_0 1 point2 points  (1 child)

Thanks. I just set your resolution on the Microsoft RDP client

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

Glad it worked out ☺️

[–]himblerk 0 points1 point  (1 child)

Could it work for the steam deck?

[–]rafay_a_kGNOMie[S] 0 points1 point  (0 children)

The deck does not ship with Gnome, and this is a Gnome feature. But since the deck comes with Arch Linux there could a few ways to get this feature once the community gets the hardware and software in hand

[–]ElephantNo4563 0 points1 point  (10 children)

i get this error: Failed to create virtual monitor with size 1728x1080: Backend doesn't support creating virtual monitors

[–]rafay_a_kGNOMie[S] 0 points1 point  (9 children)

yeah, that's expected. The creation of monitors is kinda dependent on your hardware, I think. I mentioned this quirk in my post, too. Basically, try different resolutions in the RDP app till you find one that works for you.

[–]ElephantNo4563 0 points1 point  (8 children)

Unfortunately I tried all of them...

[–]rafay_a_kGNOMie[S] 0 points1 point  (7 children)

Are you on Wayland or Xorg? This is a Wayland feature only.

Secondly, what version of `gnome-remote-desktop` are you using, at the time of writing I have this working with version `42.3-1`
```

$ dnf list installed | grep gnome-remote

gnome-remote-desktop.x86_64 42.3-1.fc36

```

[–]ElephantNo4563 0 points1 point  (6 children)

it looks like i'm using xorg. Could you tell me how to change to Wayland, since I can't? i'm on fedora 36. thank you very much

[–]rafay_a_kGNOMie[S] 0 points1 point  (5 children)

Just log out, and there should be a gear icon at the bottom right side of the login screen select 'GNOME' or 'GNOME on Wayland' options from there, basically the one without Xorg.

[–]ElephantNo4563 0 points1 point  (0 children)

only GNOME and GNOME Classic appear

[–]ElephantNo4563 0 points1 point  (3 children)

Got it working now, thanks!

[–]rafay_a_kGNOMie[S] 1 point2 points  (0 children)

🚀

[–]hmnzr 0 points1 point  (1 child)

hey, tell us how please, I'm getting exact error as you are.

[–]shasherazii 0 points1 point  (0 children)

same

[–]Anonovidual1 0 points1 point  (1 child)

I can't get it to work. I am on arch. I enabled the gsettings successfully and turned on sharing and remote desktop. But when I try to connect using my local IP address, or the device hostname, it won't connect. What is everyone putting into the Microsoft rdp app to connect successfully because I am doing something wrong 😭.

I got my local IP address from the wifi ipv4 address, and put it as the "PC NAME" field in the app. I did the same with my hostname.

[–]__majR__ 0 points1 point  (0 children)

me too... microsoft rdp app is not connecting... what should I do??

[–]Miafenee 0 points1 point  (0 children)

How can I disable this? Also thank you for sharing this information.