Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After update to v0.2.12 GNOME shell does not start #156

Closed
Manfred2927 opened this issue Jan 2, 2020 · 20 comments
Closed

After update to v0.2.12 GNOME shell does not start #156

Manfred2927 opened this issue Jan 2, 2020 · 20 comments

Comments

@Manfred2927
Copy link

@Manfred2927 Manfred2927 commented Jan 2, 2020

GNOME Shell 3.32 fails to start due to failed request RRSetScreenSize.
This does not occur with xorgxrdp v0.2.11
Log follows:

xrdp-sesman[123]: rdpRRScreenSetSize: width 1600 height 1024 mmWidth 424 mmHeight 271
xrdp-sesman[123]: rdpRRScreenSetSize: not allowing resize
org.gnome.Shell.desktop[1234]: X Error of failed request:  BadMatch (invalid parameter attributes)
org.gnome.Shell.desktop[1234]:   Major opcode of failed request:  139 (RANDR)
org.gnome.Shell.desktop[1234]:   Minor opcode of failed request:  7 (RRSetScreenSize)
org.gnome.Shell.desktop[1234]:   Serial number of failed request:  358
org.gnome.Shell.desktop[1234]:   Current serial number in output stream:  359
gnome-session[1235]: gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
xrdp-sesman[123]: rdpRRGetInfo:
org.gnome.Shell.desktop[1236]: Xlib:  extension "DPMS" missing on display ":10.0".
xrdp-sesman[123]: rdpRRScreenSetSize: width 1600 height 1024 mmWidth 424 mmHeight 271
xrdp-sesman[123]: rdpRRScreenSetSize: not allowing resize
org.gnome.Shell.desktop[1236]: X Error of failed request:  BadMatch (invalid parameter attributes)
org.gnome.Shell.desktop[1236]:   Major opcode of failed request:  139 (RANDR)
org.gnome.Shell.desktop[1236]:   Minor opcode of failed request:  7 (RRSetScreenSize)
org.gnome.Shell.desktop[1236]:   Serial number of failed request:  358
org.gnome.Shell.desktop[1236]:   Current serial number in output stream:  359
gnome-session[1235]: gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session[1235]: gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
gnome-session-binary[1235]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
gnome-session-binary[1235]: Unrecoverable failure in required component org.gnome.Shell.desktop
gnome-session[1235]: Unable to init server: Could not connect: Connection refused
gnome-session-f[1237]: Cannot open display:
@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Jan 2, 2020

This is a change in xorgxrdp v0.2.12. RDP sessions only can be resized by the client. I guess we'll have to think more about this. What resolution are you connecting the client with? Is it 1600x1024.

@Nexarian
Copy link
Contributor

@Nexarian Nexarian commented Jan 3, 2020

@Manfred2927
Copy link
Author

@Manfred2927 Manfred2927 commented Jan 3, 2020

This is a change in xorgxrdp v0.2.12. RDP sessions only can be resized by the client. I guess we'll have to think more about this. What resolution are you connecting the client with? Is it 1600x1024.

Yes, but I have seen the same with 1280x1024 as well.
By the way, this is specific to the Gnome shell. Other desktops (Cinnamon, Xfce) do not have this problem.

@Manfred2927
Copy link
Author

@Manfred2927 Manfred2927 commented Jan 3, 2020

I am using Gnome 3.32 (on Ubuntu 18.04) so something else is going on here.

The log is pretty clear that Gnome does not like the failed RANDR response, and the error is gone just downgrading one step to v0.12.11.

My installation of Ubuntu 18.04 uses xrdp 0.9.5.2, which is significantly different. It is also possible that Ubuntu uses a customized version of Gnome shell. In fact the version I got is 3.28.1-0ubuntu3.

Anyway, for the rest, yes done all that.

@Manfred2927
Copy link
Author

@Manfred2927 Manfred2927 commented Jan 3, 2020

This is a change in xorgxrdp v0.2.12. RDP sessions only can be resized by the client. I guess we'll have to think more about this.

Out of curiosity, what is the purpose of denying RANDR resize requests?

@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Jan 3, 2020

@Manfred2927 This change was to fix a crash that was happening when the DE is resizing the desktop to match the last login I guess.
In an RDP sessions, you don't want the DE changing the desktop size. If you connect an RDP client at 1920x1080, you can't have the DE thinking it knows better and resize the desktop.
Maybe it's setting the same size and we can just ignore and we don't have to fail.

@inahga
Copy link

@inahga inahga commented Jan 4, 2020

I'm experiencing this exact issue in CentOS 8.0 (gnome-session 3.28.1-6.el8; xrdp 0.9.11-5.el8; xorgxrdp 0.2.12-1.el8). Rolling back to xorgxrdp-0.2.11-1.el8 resolves the issue.

@jmkekala
Copy link

@jmkekala jmkekala commented Jan 7, 2020

Same with the CentOS 7.7. Downgrade to xorgxrdp-0.2.11-1.el7 "fixes" the issue.

@gdsotirov
Copy link

@gdsotirov gdsotirov commented Jan 9, 2020

I'm having similar problem on Fedora 31 with xrdp 0.9.11 and xorgxrdp 0.2.12 when trying to use Xorg session. In the journal there's the following:

Jan 09 10:12:55 fedora systemd[4881]: gnome-shell-x11.service: Failed with result 'protocol'.
Jan 09 10:12:55 fedora gnome-shell[5157]:   Current serial number in output stream:  359
Jan 09 10:12:55 fedora gnome-shell[5157]:   Serial number of failed request:  358
Jan 09 10:12:55 fedora gnome-shell[5157]:   Minor opcode of failed request:  7 (RRSetScreenSize)
Jan 09 10:12:55 fedora gnome-shell[5157]:   Major opcode of failed request:  139 (RANDR)
Jan 09 10:12:55 fedora gnome-shell[5157]: X Error of failed request:  BadMatch (invalid parameter attributes)
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRScreenSetSize: not allowing resize
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRScreenSetSize: width 1688 height 932 mmWidth 447 mmHeight 247
Jan 09 10:12:55 fedora gnome-shell[5157]: Xlib:  extension "DPMS" missing on display ":10.0".
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRGetInfo:

The version of gnome-shell is 3.34.2 and there is no such problem with xrdp Xvnc session both connecting to Gnome desktop.

@gdsotirov
Copy link

@gdsotirov gdsotirov commented Jan 9, 2020

I'm having similar problem on Fedora 31 with xrdp 0.9.11 and xorgxrdp 0.2.12 when trying to use Xorg session.

And I just confirmed it working with xorgxrdp 0.2.11 by forcefully installing xorgxrdp-0.2.11-1.el8 package.

@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Feb 4, 2020

If someone can try a patch like this. I didn't get time to install gnome shell yet.

diff --git a/module/rdpRandR.c b/module/rdpRandR.c
index ffb9783..f96da0a 100644
--- a/module/rdpRandR.c
+++ b/module/rdpRandR.c
@@ -129,6 +129,12 @@ rdpRRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height,
     dev = rdpGetDevFromScreen(pScreen);
     if (dev->allow_screen_resize == 0)
     {
+        if ((width == pScreen->width) && (height == pScreen->height) &&
+            (mmWidth == pScreen->mmWidth) && (mmHeight == pScreen->mmHeight))
+        {
+            LLOGLN(0, ("rdpRRScreenSetSize: already this size"));
+            return TRUE;
+        }
         LLOGLN(0, ("rdpRRScreenSetSize: not allowing resize"));
         return FALSE;
     }

@Manfred2927
Copy link
Author

@Manfred2927 Manfred2927 commented Feb 6, 2020

If someone can try a patch like this. I didn't get time to install gnome shell yet.

I am using a patched build that rolls back #153 entirely, and it works just fine.
Even looking at #914 I think that this allow_screen_resize flag (i.e. #153) is best removed.

@Nexarian
Copy link
Contributor

@Nexarian Nexarian commented Feb 6, 2020

@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Mar 11, 2020

I finally got Fedora31 install and seen the issue with GNOME 3.33.2-1.fc31. The patch above does fix the issue. I'll create a PR.

@gdsotirov
Copy link

@gdsotirov gdsotirov commented Mar 12, 2020

Thank you @jsorg71! I hope new version is released soon, so new packages could be build and we could upgrade our systems the normal way.

@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Mar 12, 2020

np, I had given up on gnome 3 in the past as they didn't seem to support 'non console' sessions but it looks like they support it now, nice.
I'll make sure to test more going forward.

@jsorg71
Copy link
Contributor

@jsorg71 jsorg71 commented Mar 23, 2020

created #161 for this

uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Mar 25, 2020
Fixes the issue GNOME Shell 3.32 fails to start [1]

[1] neutrinolabs/xorgxrdp#156

Obtained from:	neutrinolabs/xorgxrdp#161
Sponsored by:	HAW International


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@529076 35697150-7ecd-e111-bb59-0022644237b5
uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Mar 25, 2020
Fixes the issue GNOME Shell 3.32 fails to start [1]

[1] neutrinolabs/xorgxrdp#156

Obtained from:	neutrinolabs/xorgxrdp#161
Sponsored by:	HAW International
Jehops pushed a commit to Jehops/freebsd-ports-legacy that referenced this issue Mar 25, 2020
Fixes the issue GNOME Shell 3.32 fails to start [1]

[1] neutrinolabs/xorgxrdp#156

Obtained from:	neutrinolabs/xorgxrdp#161
Sponsored by:	HAW International


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@529076 35697150-7ecd-e111-bb59-0022644237b5
@gavinbeatty
Copy link

@gavinbeatty gavinbeatty commented Aug 20, 2020

It would be great to have a tag containing this fix, as it seems to prevent use of xrdp in ubuntu>16 with hyper-v.

@metalefty
Copy link
Member

@metalefty metalefty commented Aug 20, 2020

@gavinbeatty We'll make a new release in August.

@metalefty
Copy link
Member

@metalefty metalefty commented Aug 31, 2020

xorgxrdp 0.9.14 has been released. xrdp 0.9.14 will be released soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants