multiple monitor support under KDE

98 views
Skip to first unread message

Paul Henson

unread,
Dec 5, 2015, 8:33:07 PM12/5/15
to TigerVNC User Discussion/Support
About a year ago I was trying to get multiple monitor support working. The final resolution was that tigervnc needed some fltk patches to make that work. I must confess I never got around to building a custom fltk including them, but I'm finally following up on it and it seems most if not all of the patches have been incorporated into fltk 1.3.3? I'm now using that and tigervnc 1.4.3, but unfortunately multiple monitors are still not working :(, when I go full screen it's just on one instead of spread across both. When I look at the tigervnc options, it does show multiple monitor support, and the option is enabled.

I found this post:

https://lists.centos.org/pipermail/centos/2014-March/141288.html

It seems similar to my issue, I'm also running KDE.

Any thoughts on this or how to make it work?

Thanks much...

Pierre Ossman

unread,
Dec 7, 2015, 4:59:15 AM12/7/15
to Paul Henson, TigerVNC User Discussion/Support
On Sat, 5 Dec 2015 17:33:06 -0800 (PST)
Paul Henson <hen...@acm.org> wrote:

> About a year ago I was trying to get multiple monitor support
> working. The final resolution was that tigervnc needed some fltk
> patches to make that work. I must confess I never got around to
> building a custom fltk including them, but I'm finally following up
> on it and it seems most if not all of the patches have been
> incorporated into fltk 1.3.3? I'm now using that and tigervnc 1.4.3,
> but unfortunately multiple monitors are still not working :(, when I
> go full screen it's just on one instead of spread across both. When I
> look at the tigervnc options, it does show multiple monitor support,
> and the option is enabled.
>

The multi monitor patches were changed before they were merged in
upstream FLTK. So there is a version dependency both ways. 1.4.3 might
simply be too old.

Have you tried building a newer version of TigerVNC against the updated
FLTK?

Rgds
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Phone: +46-13-214600 https://plus.google.com/+CendioThinLinc

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Paul Henson

unread,
Dec 7, 2015, 11:48:32 PM12/7/15
to Pierre Ossman, TigerVNC User Discussion/Support
On Mon, Dec 07, 2015 at 10:59:12AM +0100, Pierre Ossman wrote:

> The multi monitor patches were changed before they were merged in
> upstream FLTK. So there is a version dependency both ways. 1.4.3 might
> simply be too old.
>
> Have you tried building a newer version of TigerVNC against the updated
> FLTK?

Hmm, I had thought 1.4.3 was the latest version, but I see now there's a
1.5.0 release. Unfortunately that has the same behavior, despite "Enable
full-screen mode over all monitors" being available and selected,
enabling full screen only fills one monitor, not both :(.

Any other thoughts? Based on the other thread I referenced, it might be
a KDE issue. I haven't tried with a different window manager or desktop
environment to see if that would work with the fltk and tigervnc I have.

Thanks...

Pierre Ossman

unread,
Dec 9, 2015, 5:21:00 AM12/9/15
to Paul Henson, TigerVNC User Discussion/Support
On Mon, 07 Dec 2015 20:48:30 -0800
Paul Henson <hen...@acm.org> wrote:

>
> Hmm, I had thought 1.4.3 was the latest version, but I see now
> there's a 1.5.0 release. Unfortunately that has the same behavior,
> despite "Enable full-screen mode over all monitors" being available
> and selected, enabling full screen only fills one monitor, not
> both :(.
>
> Any other thoughts? Based on the other thread I referenced, it might
> be a KDE issue. I haven't tried with a different window manager or
> desktop environment to see if that would work with the fltk and
> tigervnc I have.
>

Shouldn't be any problems with KDE. Have you tested our nightly builds?
Or the 1.6.0 beta?

Which of our binaries are you using?

Paul Henson

unread,
Dec 9, 2015, 1:57:10 PM12/9/15
to Pierre Ossman, TigerVNC User Discussion/Support
On Wed, Dec 09, 2015 at 11:20:57AM +0100, Pierre Ossman wrote:

> Shouldn't be any problems with KDE. Have you tested our nightly builds?
> Or the 1.6.0 beta?
>
> Which of our binaries are you using?

I'm compiling from source under Gentoo Linux. I originally tested 1.4.3,
then 1.5.0, and I just compiled git master with the same result.
Enabling full-screen only uses one of the two monitors :(. Just for fun
I tried the java viewer too, it had the same behavior, full screen with
across all monitors selected only uses one monitor.

Hmm, interesting -- I killed kwin, and with it not running vncviewer
successfully full-screens across both monitors. I restart it, and it
only full-screens on one. So it is a KDE issue, for some reason the kde
window manager is preventing vncviewer from going fullscreen, or
confusing it about how many monitors there are or something.

Any thoughts on how to fix it? I guess for now I can just kill kwin when
I need to vnc ;), but that's not very convenient. I'm using kde 4.11 at
the moment.

Thanks...

Brian Hinz

unread,
Dec 9, 2015, 2:18:50 PM12/9/15
to Paul Henson, Pierre Ossman, TigerVNC User Discussion/Support
On Wed, Dec 9, 2015 at 1:56 PM, Paul Henson wrote:
Enabling full-screen only uses one of the two monitors :(. Just for fun
I tried the java viewer too, it had the same behavior, full screen with
across all monitors selected only uses one monitor.

At least on MS Windows platforms, whether or not the Java viewer spans both monitors seems to be a function of which monitor the window is in when you maximize it.  If it's within the bounds of the "primary" monitor (the one with the taskbar), then the window seems to maximize only to the monitor's bounds, regardless of the setting.  If it's in the boundry of the second monitor, then it spans both.  When the window straddles the two, the behavior seems unpredictable to me.  I tried to figure this out and haven't been able to do so thus far, but I have observed it with other applications as well, which leads me to believe that it's artifact of either the JRE or the window manager itself(?). 

-brian

Pierre Ossman

unread,
Dec 10, 2015, 12:51:54 AM12/10/15
to tigervn...@googlegroups.com
On Wed, 09 Dec 2015 10:56:55 -0800
Paul Henson <hen...@acm.org> wrote:

>
> I'm compiling from source under Gentoo Linux. I originally tested
> 1.4.3, then 1.5.0, and I just compiled git master with the same
> result. Enabling full-screen only uses one of the two monitors :(.
> Just for fun I tried the java viewer too, it had the same behavior,
> full screen with across all monitors selected only uses one monitor.
>
> Hmm, interesting -- I killed kwin, and with it not running vncviewer
> successfully full-screens across both monitors. I restart it, and it
> only full-screens on one. So it is a KDE issue, for some reason the
> kde window manager is preventing vncviewer from going fullscreen, or
> confusing it about how many monitors there are or something.
>
> Any thoughts on how to fix it? I guess for now I can just kill kwin
> when I need to vnc ;), but that's not very convenient. I'm using kde
> 4.11 at the moment.
>

It uses a different method when there is no window manager. So this
might be a build issue. A broken FLTK might behave this way. So let's
do this.

With KDE running and vncviewer connected in windowed mode, run this:

xprop -spy

and click the vncviewer window.

After that go in to full screen mode and back again. Send us the output
from xprop that appears as you go in and out of full screen.

Rgds
--
Pierre Ossman Software Development
Cendio AB http://cendio.com
Teknikringen 8 http://twitter.com/ThinLinc
583 30 Linköping http://facebook.com/ThinLinc
Phone: +46-13-214600 http://plus.google.com/+CendioThinLinc

Paul B. Henson

unread,
Dec 10, 2015, 1:36:12 PM12/10/15
to Pierre Ossman, tigervn...@googlegroups.com
On Thu, Dec 10, 2015 at 06:51:50AM +0100, Pierre Ossman wrote:

> With KDE running and vncviewer connected in windowed mode, run this:
>
> xprop -spy
>
> and click the vncviewer window.
>
> After that go in to full screen mode and back again. Send us the output
> from xprop that appears as you go in and out of full screen.

Entering fullscreen:

_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT,
_NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_FULLSCREEN
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0

Leaving fullscreen:

_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT,
_NET_WM_STATE_MAXIMIZED_HORZ
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 20, 0
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 20, 0

I also tried killing kwin and temporarily running twm to see what the
difference would be. With twm, fullscreen mode uses both monitors;
however, for some reason xprop dies when vncviewer goes fullscreen so
there's no output for the transition.

Thanks...

Pierre Ossman

unread,
Dec 11, 2015, 3:35:06 AM12/11/15
to Paul B. Henson, tigervn...@googlegroups.com
On Thu, 10 Dec 2015 10:36:10 -0800
"Paul B. Henson" <hen...@acm.org> wrote:

>
> Entering fullscreen:
>
> _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT,
> _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_FULLSCREEN
> _NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
> _KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0
>

This lacks _NET_WM_FULLSCREEN_MONITORS which suggest to me that your
FLTK isn't built correctly.

> I also tried killing kwin and temporarily running twm to see what the
> difference would be. With twm, fullscreen mode uses both monitors;
> however, for some reason xprop dies when vncviewer goes fullscreen so
> there's no output for the transition.

The window is recreated in that method, hence why xprop terminates.

Rgds
--
Pierre Ossman Software Development
Phone: +46-13-214600 https://plus.google.com/+CendioThinLinc

Paul B. Henson

unread,
Dec 11, 2015, 9:09:25 PM12/11/15
to Pierre Ossman, tigervn...@googlegroups.com
> From: Pierre Ossman
> Sent: Friday, December 11, 2015 12:35 AM
>
> This lacks _NET_WM_FULLSCREEN_MONITORS which suggest to me that
> your FLTK isn't built correctly.

Hmm, I'm using the gentoo linux 3.3 package:

https://github.com/gentoo/gentoo/tree/master/x11-libs/fltk

which is mostly stock except for a few OS integration patches:

https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.3-fl_open_display.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.3-fltk-config.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.3-visibility.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.3-xutf8-visibility.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.2-conf-tests.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.2-jpeg-9a.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.0-share.patch
https://github.com/gentoo/gentoo/blob/master/x11-libs/fltk/files/fltk-1.3.2-desktop.patch

and is compiled with the following options:

--enable-largefile \
--enable-shared \
--enable-xdbe \
--disable-localjpeg \
--disable-localpng \
--disable-localzlib \
--disable-debug \
--disable-cairo \
--enable-gl \
--enable-threads \
--enable-xft \
--enable-xinerama

In what way might the library be built incorrectly that could result in this type of issue?

Thanks…

Pierre Ossman

unread,
Dec 18, 2015, 5:16:45 AM12/18/15
to Paul B. Henson, tigervn...@googlegroups.com
On Fri, 11 Dec 2015 18:09:23 -0800
"Paul B. Henson" <hen...@acm.org> wrote:

>
> In what way might the library be built incorrectly that could result
> in this type of issue?
>

Sorry, I double checked the code and that is probably not the issue.
We're trying to set that property rather unconditionally.

So the problem seems to be the window manager. If you do:

xprop -root _NET_SUPPORTED

then you'll see all the extensions supported by your window manager.
_NET_WM_FULLSCREEN_MONITORS should be in that list.

Paul B. Henson

unread,
Dec 19, 2015, 11:08:47 PM12/19/15
to Pierre Ossman, tigervn...@googlegroups.com
On Fri, Dec 18, 2015 at 11:16:43AM +0100, Pierre Ossman wrote:

> xprop -root _NET_SUPPORTED
>
> then you'll see all the extensions supported by your window manager.
> _NET_WM_FULLSCREEN_MONITORS should be in that list.

Hmm, it is:

$ xprop -root _NET_SUPPORTED | grep _NET_WM_FULLSCREEN_MONITORS

_NET_SUPPORTED(ATOM) = _NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK,
_NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING, _NET_NUMBER_OF_DESKTOPS,
_NET_DESKTOP_GEOMETRY, _NET_CURRENT_DESKTOP, _NET_DESKTOP_NAMES,
_NET_ACTIVE_WINDOW, _NET_WORKAREA, _NET_DESKTOP_LAYOUT,
_NET_CLOSE_WINDOW, _NET_RESTACK_WINDOW, _NET_SHOWING_DESKTOP,
_NET_WM_MOVERESIZE, _NET_MOVERESIZE_WINDOW, _NET_WM_NAME,
_NET_WM_VISIBLE_NAME, _NET_WM_DESKTOP, _NET_WM_WINDOW_TYPE,
_NET_WM_WINDOW_TYPE_NORMAL, _NET_WM_WINDOW_TYPE_DESKTOP,
_NET_WM_WINDOW_TYPE_DOCK, _NET_WM_WINDOW_TYPE_TOOLBAR,
_NET_WM_WINDOW_TYPE_MENU, _NET_WM_WINDOW_TYPE_DIALOG,
_NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_SPLASH,
_KDE_NET_WM_WINDOW_TYPE_OVERRIDE, _NET_WM_STATE, _NET_WM_STATE_MODAL,
_NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ,
_NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_TASKBAR,
_NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_HIDDEN,
_NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW,
_NET_WM_STATE_DEMANDS_ATTENTION, _NET_WM_STATE_STAYS_ON_TOP,
_NET_WM_STRUT, _NET_WM_STRUT_PARTIAL, _NET_WM_ICON_GEOMETRY,
_NET_WM_ICON, _NET_WM_PID, _NET_WM_PING, _NET_WM_USER_TIME,
_NET_STARTUP_ID, _NET_WM_FULLSCREEN_MONITORS, _NET_WM_ALLOWED_ACTIONS,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE,
_NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT,
_NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN,
_NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_FRAME_EXTENTS,
_KDE_NET_WM_FRAME_STRUT, _KDE_NET_WM_TEMPORARY_RULES,
_NET_WM_FULL_PLACEMENT, _KDE_NET_WM_SHADOW

Should I open a KDE bug on kwin? I don't think I'm running the latest
released version, but I think it's a fairly recent stable version. I
can't quite make sense of how KDE is versioning things nowadays, this is
what kwin has to say for itself:

Qt: 4.8.6
KDE Development Platform: 4.14.8
KWin: 4.11.19

Thanks...

Pierre Ossman

unread,
Dec 23, 2015, 4:22:24 AM12/23/15
to Paul B. Henson, tigervn...@googlegroups.com
On Sat, 19 Dec 2015 20:08:45 -0800
"Paul B. Henson" <hen...@acm.org> wrote:

> On Fri, Dec 18, 2015 at 11:16:43AM +0100, Pierre Ossman wrote:
>
> > xprop -root _NET_SUPPORTED
> >
> > then you'll see all the extensions supported by your window manager.
> > _NET_WM_FULLSCREEN_MONITORS should be in that list.
>
> Hmm, it is:
>
> $ xprop -root _NET_SUPPORTED | grep _NET_WM_FULLSCREEN_MONITORS
>
> ...
>
> Should I open a KDE bug on kwin? I don't think I'm running the latest
> released version, but I think it's a fairly recent stable version. I
> can't quite make sense of how KDE is versioning things nowadays, this
> is what kwin has to say for itself:
>

Not sure if KDE cares about the old 4.x branch these days. :/
Reporting it to your distribution might work better.
Reply all
Reply to author
Forward
0 new messages