! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Xubuntu 18.10 broke dual-screen dual-desktop configuration.
Status:
RESOLVED: FIXED
Product:
Xfdesktop
Component:
General

Comments

Description Jeffery Small 2019-02-05 06:24:13 CET
I've asked about this in every Ubuntu and Xubuntu form and received no responses, so I'm filing a formal bug.

I've been running Xubuntu for years with two monitors, each running an independent xfce4 desktop -- i.e., configured without Xinerama. This has worked fine for every upgrade through 18.04.  When upgrading to 18.10, something significant changed and the the second monitor (display :0.1) was disabled.  After much reading and work, I have only been able to restore some extremely hobbled functionality.  I am unable to get a second xfce4-desktop, panel or window manager running on the second screen.  I have assembled detailed screenshots and command output at the following link:

http://smallthoughts.com/xfce/xfce.html

I'm using an NVIDIA Quadro K-4000 graphics card and no hardware changes were made between 18.04 and 18.10.

The nvidia-settings tool reports both monitors active (as configured in /etc/X11/xorg.conf) but the xfce4-display-settings and aarandr tools each show only one display (although xrandr can be forced to report on the second display).

What changed in the latest release, and what needs to be done to get the second monitor running a second desktop once again?
Comment 1 Skunnyk editbugs 2019-03-24 22:33:16 CET
Hi,

Thank you for your detailed bug report.
As arandr/xrandr does not detect correctly your 2nd screen, this seems that it is not related directly to Xfce, but a bug in Xubuntu stack.
Can you please open a bug on Xubuntu project if the issue is still present for you ? 

Thank you,
Comment 2 Jeffery Small 2019-03-28 19:40:28 CET
OK, will do.

But here is a natural follow up Xfce question:  Why can I not find ANY documentation on running separate xfce4 desktops on two or more monitors where Xinerama is not used to tie the screens together into a single desktop?

I did figure out a working configuration prior to Xubuntu 18.10, but there is zero help to be found in trying to solve this problem now.  This is a common configuration and it should be documented as well as tested prior to every release of Xubuntu.  Is there any way to get this into the development and testing cycle?

Regards.
Comment 3 Jeffery Small 2019-03-28 19:58:44 CET
Here is a link to the Ubuntu bug report:

https://bugs.launchpad.net/ubuntu/+bug/1822181
Comment 4 Jim Duchek 2019-06-05 14:50:26 CEST
What is the output of 'xrandr --listmonitors'?  I am interested to see if this may be related to another issue.
Comment 5 Olivier Fourdan editbugs 2019-06-05 15:46:13 CEST
What you're running is called “zaphod heads”, ie one xserver with two X screens (:0.0 and :0.1) - Such setup will become more and more complicated to support for us as gtk/gdk have dropped support for multiple screens, and the API to access those from gtk based applications is gone.

We worked around that with ugly hacks in xfwm4 [1], but I just can't guarantee such a setup will remain supported in a near future, and wouldn't advise other components to do the same as xfwm4 - It's unfortunate, but I'd rather drop support for zaphod heads...

[1] https://git.xfce.org/xfce/xfwm4/commit/?id=b52c2f5b7
Comment 6 Jeffery Small 2019-06-05 19:39:11 CEST
Jim:

51-> xrandr --listmonitors 
Monitors: 1
 0: +DVI-I-0 1600/432x1200/324+0+0  DVI-I-0

Only the first monitor is listed.   But as I reported on the original linked notes above:

52-> xrandr -display :0.1
Screen 1: minimum 8 x 8, current 1600 x 1200, maximum 16384 x 16384
DP-3 connected primary 1600x1200+0+0 (normal left inverted right x axis y axis) 432mm x 324mm
   1600x1200     60.00*+
   1280x1024     85.02    75.02    60.02  
   1024x768      85.00    75.03    70.07    60.00  
   800x600       85.06    75.00    72.19    60.32    56.25  
   640x480       85.01    75.00    72.81    59.94  

So it is able to see the monitor/display if you force it, but it is not doing so by default.

Olivier:

OMG Ubuntu is reporting that 19.10 is supposed to have "Multi-monitor GDM".  What is this and is it in any way related to the gtk/gdk issue?  (https://www.omgubuntu.co.uk/2019/05/ubuntu-19-10-release-features)

I'm on 18.10 (and could upgrade to 19.04) and would love to know how I can get the current "ugly hacks" to work for me!  Any suggestions?

How is it possible that an X11-based product can allow one of the most fundamental aspects of the design (multiple display support) to be lost?

If a single xserver truly cannot support more than one screen, then is it possible to run two xserver instantiations on one machine with each pointing to a different monitor?  If so, can you provide details on how to successfully do this?

If Xubuntu is simply going to punt and drop support for multi-monitor configurations, then it would be a huge mistake, but if that's all we can expect in the future, then please make it official so that I and others can get on with the job of replacing Xubuntu with a superior desktop.

I'm frustrated, but I do appreciate the effort in looking into this issue.
Comment 7 Olivier Fourdan editbugs 2019-06-05 21:54:34 CEST
multi-monitor and zaphod mode are two different things. Of course xrandr reports only one monitor, as xrandr connects to one screen at at time, and in zaphod mode, you have two screens (that's the whole point of using zaphod mode actually).

And Xorg itself still has support for zaphod mode, although I reckon it depends on the DDX.

Note that you can *still* use xfce with zaphod mode even if gtk doesn't support it anymore, you just have to run multiple instances of the components, one for each screen (:0.0, :0.1).

Xubuntu is not dropping multi-monitor, it's just packages upstream projects and it happens that gtk, on which xfce is based, has dropped multi-screen, nothing to do with Xubuntu.

PS: just to be clear, xfce != Xubuntu, I am not using Xubuntu or any Ubuntu derivative myself, so I cannot speak for Xubuntu.
Comment 8 Jeffery Small 2019-06-05 22:14:12 CEST
Olivier:

Thanks for the additional info.  You say that Xfce can be used to support multiple screens if you run multiple instances of the components, one for each screen (:0.0, :0.1).

I spent quite a bit of time trying to do this very thing and never found a sequence that would work.  Do you have any documentation that outlines the proper sequence to get a second independent desktop running?  This was very easy to do in 18.04 and every version of Ubuntu prior to that, but I have been unable to get anything to work on 18.10.  Another user having the same problem tried 19.04 and there was no improvement.  Any specific pointers would be greatly appreciated.
Comment 9 Olivier Fourdan editbugs 2019-06-06 09:53:23 CEST
That's right, xfdesktop will refuse to have two instances on the same display, so you can;t run it twice on :0.0 and :0.1.

Yet you can start apps on :0.0 and :0.1 independently.
Comment 10 Jeffery Small 2019-06-10 19:17:40 CEST
OK, so how do I start xfdesktop twice, with each session limited to separate displays :0.0 and :0.1?

And why can I launch certain (but not all) apps on display :0.1?  Apparently these lust float free in X11-space without benefit of a desktop, although they must be under control of xfwm4, since they get window decorations, etc.

Prior to Xubuntu 10.10 I remember the second display having a working independent desktop and I simply launched a separate panel there and everything ran as expected.

In 18.10 I've been exploring the system looking for some trick to make things work, but haven't found the magic sauce yet.  xfdesktop appears to be launched by the binary xfce4-session which does not have a --display option.  Is there a config file for xfdesktop where this could be set?

The binary, startxfce4, appears to run /etc/xdg/xfce4/xinitrc which launches xfwm4 with the line "xfwm4 --daemon" and launches xfdesktop with the line "xfdesktop&".

xfdesktop, xfwm4 and xfce4-pane each have a --display option.  Can these be used to achieve the desired results?  Currently, after the system comes up, it is impossible to manually launch xfwm4 or xfce4-panel on the :0.1 display.
Comment 11 Theo Linkspfeifer editbugs 2019-07-09 13:49:24 CEST
Did you try with the DISPLAY environment variable?

Anyway, is there actually a bug in xfdesktop that needs fixing, or can we close this bug report?
Comment 12 Jeffery Small 2019-07-09 19:04:27 CEST
Yes, I have run extensive tests with the DISPLAY variable set and using the --geometry option to all of the possible commands.

Yes, I believe that a bug exists, but where it resides is open for interpretation.  See the following thread:

https://forum.xfce.org/viewtopic.php?pid=50336#p50336

A user named gert writes:
----------
@cjsmall I can understand your frustration, as far as I can tell, there are two things involved:xfce4 switched to gtk3, and in gtk3 support for handling screens and displays has been changed some time ago.

Now this patch

https://github.com/xfce-mirror/xfwm4/commit/b52c2f5b740434803342c471d4dcb5dd62eb99a1

seems to re-add this functionality with gtk3, but it only made it into xfwm 4.13, and Ubuntu only has 4.12.
----------

GTK may be the source of the problem, and it's adoption by Xfce without proper testing may have resulted in  the breaking of multiple monitor support between 18.04 and 18.10.  my involvement is just as a user, so I don't have specialized knowledge or experience with the parts involved here.  Maybe a look at GTK might shed more light on this issue.  But in any event, multiple monitor support running multiple desktops should be made a basic part of testing of Xfce before its release.

And if GTK is the source of the problem and it has been fixed, please see if the current working version makes it into and is tested for the next 19.10 release.  If GTK isn't the problem, then lets please keep looking!

Regards.
Comment 13 Theo Linkspfeifer editbugs 2019-07-09 23:18:46 CEST
It is quite confusing to follow all the information which was posted across several reports/threads.

Was there any testing done with other Ubuntu flavors (Lubuntu, Ubuntu MATE, etc.)?
Comment 14 Jeffery Small 2019-07-09 23:46:16 CEST
Agreed regarding the confusion.

I started with a single report and got no help.  I have since posted to many other forums and this recent response that I referenced above is the only concrete piece of information I have received.  This has been going on for about a year or more now.

I have asked in many places whether other people are running multi-headed systems and got very little response, except for one other person who had an identical experience to me.  He tested Xubuntu 19.04 (and I have now upgraded to that) with no improvement.  He reverted to 18.04 while I continue to struggle along looking for a solution.

I only have one Linux system here and I have not tested this on other platforms.  However, I asked in a general Ubuntu group whether any of the other flavors were working with multi-headed multi-desktop configurations, as I was ready to dump Xfce if I had to, and I received zero responses!

It is terribly frustrating to have done so much investigative work myself and made so many inquires without getting any real answers or support.  I find it unbelievable that there are not many people out there with dual (or more) headed systems who either have a working solution or are running into this problem.

I'm willing to do reasonable testing on my system, but it is an office production machine and I cannot do drastic reconfiguration.  I am having enough problems with the failed 19.04 upgrade from over this weekend, trying to patch things back in place.  Up through 18.04, the upgrades were pretty painless, but the last two have been disasters.

Isn't there a single developer in the Xfce group running a dual headed system who would test out a dual desktop configuration and apply some of the testing tools to see what is actually going on?

Regards.
Comment 15 Theo Linkspfeifer editbugs 2019-07-10 12:10:07 CEST
Sadly, I cannot test this scenario because I lack the hardware (both monitor and NVIDIA graphics card). Maybe the display setup could be somehow recreated with a virtual machine.. but I have my doubts. In any case, it would certainly help to have testing data from other Ubuntu flavors or distributions which run Xorg Server 1.20 too.

If you want to test with xfwm4 4.13 (comment #5), please obtain it from the following Xubuntu PPA:

https://launchpad.net/~xubuntu-dev/+archive/ubuntu/staging
Comment 16 Olivier Fourdan editbugs 2019-07-10 12:29:48 CEST
I think my answer in comment 7 was pretty clear and I do not understand your comment 14.

You're complaining to xfce for a decision made in gtk years ago, and downstream for a lack of support while all the software here is free.

So I'll repeat, xfce 4.14 is moving to gtk3 and support for multiple X11 screen (:0.0, :0.1) was removed years ago from gtk3. That's a fact, there is nothing xfce can do about it.

I am now convinced that adding a hack to keep the functionality in xfwm4 was a mistake, the best way forward would be to remove that from xfwm4 as well and close the whole issue as "cantfix".

We simply cannot support Zaphod-head setup with gtk3 anymore.
Comment 17 Jeffery Small 2019-07-10 18:04:52 CEST
OK Olivier.  I simply thought that this info regarding a change being made to gtk3 might point to a solution.

Since I got no response elsewhere, I'll ask it here.  Does anyone know whether there Is there any flavor of Ubuntu that does support a Zaphod-head setup?
Comment 18 Olivier Fourdan editbugs 2019-07-10 21:38:17 CEST
(In reply to Theo Linkspfeifer from comment #15)
> Sadly, I cannot test this scenario because I lack the hardware (both monitor
> and NVIDIA graphics card). Maybe the display setup could be somehow
> recreated with a virtual machine.

FWIW, you can very easily simulate zaphod with `Xnest -scrns 2` to create a dual-screen single display setup.
Comment 19 Jeffery Small 2019-07-11 06:24:26 CEST
Olivier, thanks for the suggestion.  I'm going to take a close look at that.
Comment 20 Olivier Fourdan editbugs 2019-07-11 08:56:29 CEST
(In reply to Jeffery Small from comment #19)
> Olivier, thanks for the suggestion.  I'm going to take a close look at that.

That won't help you much I'm afraid, this is mainly for Theo who was asking for a way to reproduce the issue without the hardware.

The reason I was considering removing zaphod support from xfwm4 was for consistency, I reckon xfwm4 is the only component still having support for it, all other components (such as the panel, xfdesktop) have lost the ability to manage multiple X11 screens with the port to gtk3.

But strictly speaking, current xfwm4 (even in 4.14) will manage all screens available (:0.0, :0.1) automatically, so you can still run xfce with zaphod, but won't have the panel or desktop available on all screens, but nothing should stop you from spawning a given client on the other screen  (e.g. `xterm -display :0.1`) and it will be managed by xfwm4.
Comment 21 Jeffery Small 2019-07-18 05:31:05 CEST
Olivier:

I didn't understand from the earlier discussion that the ability to display apps on the second screen was because of the support that you still provide in xfwm4.  If gtk3 is going to add back multi-screen support, then please don't remove this.  In fact, please don't remove it in any case as it is the only thing that is allowing me ti use the 2nd monitor at all!

I understand that a lot of people are running on single screen laptops today, but what is puzzling me is why this multi-headed desktop configuration seems to be being treated with so little consideration.  Do you know why so many components have been willing to drop this support?  It's been in X11 since I started working with Sun equipment back in the early 80s and I cannot believe that people in highly technical as well as gaming environments do not rely upon this as I have all these years.  My NVIDIA graphic card will natively support three screens, so it seems like this ability is an expected norm.

And before I waste any time looking into it deeply, why wouldn't Xnest work?  Couldn't it run a 2nd nested Xserver dedicated to the second screen and then launch a complete separate desktop environment there?  I really know little about the nuts and bolts of what is going on at this level, so maybe I'm missing some important knowledge as to what can and cannot be done here.

Thanks for all of your help.
Comment 22 Olivier Fourdan editbugs 2019-07-18 08:59:39 CEST
(In reply to Jeffery Small from comment #21)
> Olivier:
> 
> I didn't understand from the earlier discussion that the ability to display
> apps on the second screen was because of the support that you still provide
> in xfwm4.  If gtk3 is going to add back multi-screen support, then please
gtk will not add this back, it was a deliberate move which makes sense from a tooklit point of view.

> don't remove this.  In fact, please don't remove it in any case as it is the
> only thing that is allowing me ti use the 2nd monitor at all!
I am not removing it now, it's too late in the development cycle of 4.14 but it's relying on a hack to force gtk to get to the second screen. If that hacks fails with future versions of gtk, I'll make no effort to keep it working.

> I understand that a lot of people are running on single screen laptops
> today, but what is puzzling me is why this multi-headed desktop
> configuration seems to be being treated with so little consideration.  Do
> you know why so many components have been willing to drop this support? 
Multi-monitor configurations are very common and not going anywhere any time soon. But Zaphod mode is kind of legacy there, very few people actually use Zaphod mode (i.e. having separate X11 screens for each output), because it's more of a limitation than a feature (you cannot move window between the monitors with Zaphod).

> It's been in X11 since I started working with Sun equipment back in the
> early 80s and I cannot believe that people in highly technical as well as
> gaming environments do not rely upon this as I have all these years.  My
> NVIDIA graphic card will natively support three screens, so it seems like
> this ability is an expected norm.
The video card being able to support multiple monitors is a different topic.

There might be some confusion, and the terminology does not help.

In X11, a "display" is a connection (:0) and "screens" are different independent subsets of that screen (aka :0.0, :0.1, :0.2 which matches different physical monitors). An X11 client connects to a pair display:screen (e.g. :0.0, :0.1, :0.2), although the screen part can be omitted in which case it's assumed to be 0 (e.g. DISPLAY=:0 is valid)

Those definitions are now mostly legacy, very few people actually run separate screens on a single display because it prevents moving windows from one screen to the other. With two separate X11 screens (:0.0 and :0.1 for example), there are two root windows and two entire separate window trees on each.

The vast majority of users now have multi-monitor setup using XRandR, which exposes the monitors as part of a single display:screen pair, avoiding the inherent limitations from the old method of using separate screens. The window manager then takes care of treating the different outputs as different areas, maximizing windows within a single monitor, mapping windows when the pointer resides, etc. XRandR offers a lot more flexibility than the legacy X11 screens, that why most people use that.

Of course both gtk and the entire xfce stack support XRandR (and even Xinerama), that hasn't changed.
 
> And before I waste any time looking into it deeply, why wouldn't Xnest work?
Because Xnest if buggy and crashes in various and creative ways.

> Couldn't it run a 2nd nested Xserver dedicated to the second screen and then
> launch a complete separate desktop environment there?  I really know little
> about the nuts and bolts of what is going on at this level, so maybe I'm
> missing some important knowledge as to what can and cannot be done here.
That's an idea, yes. Could possibly work, in which case I'd advise using Xephyr rather than Xnest for that purpose. But it's still a hack.
Comment 23 Jeffery Small 2019-07-18 18:56:22 CEST
Thanks for the detailed reply.  Very much appreciated.
Comment 24 Jeffery Small 2019-09-26 01:05:30 CEST
Olivier:

I'd like to ask you one follow up question.  Since the discussion above, I have replaced both of my old 1K monitors with new 4K ones, and as I was setting things up for the new resolution, I noticed something that I had not experienced before.

On my primary screen, I have the workspace switcher set up for eight different workspaces and have been using this configuration successfully for years.  Now, although I still cannot run a separate Xfce4 desktop manager or panel on the second screen, I was shocked to discover that I could switch to eight different workspaces on the second screen, independent of the first display!  Now, I do not know if this was possible before and I never tried it, or if this is something new that developed when both of the new screens were now attached to the Nvidia K4000's two DP ports.  (Previously, one was on DP and the other on the lower res. DVI.)

While there are still many shortcomings to not having a desktop and panel manager running on the second screen, the ability to switch workspaces there is a big improvement over what I was experiencing before.  Now, I would have expected that the workplace switcher was a part of the desktop manager, but now I'm wondering if this capability is due to xfwm4?  Can you comment?  Thanks.
Comment 25 Jeffery Small 2019-11-01 21:24:05 CET
Will an upgrade to 19.04 preserve the same dual-screen functionality I currently have in 18.10?
Comment 26 Skunnyk editbugs 2020-05-25 23:36:06 CEST
Please open new bugreports if you have new problems, thanks !

Bug #15116

Reported by:
Jeffery Small
Reported on: 2019-02-05
Last modified on: 2020-05-25

People

Assignee:
Eric Koegel
CC List:
6 users

Version

Version:
4.12.4

Attachments

Additional information