xpra icon
Bug tracker and wiki

Opened 6 weeks ago

Closed 3 weeks ago

#1935 closed defect (fixed)

Client scaling is wrong on multi monitor systems connected to an Ubuntu 16.04 server

Reported by: moozaad Owned by: moozaad
Priority: critical Milestone: 2.4
Component: client Version: 2.3.x
Keywords: Cc:

Description (last modified by Antoine Martin)

I couldn't see a way to override it.

Client system is 3x 2560x1440. Server is 1x 1920x1080. The scaling factor of 1.333 x 0.562 is just bananas :)

2018-08-16 13:46:17,609 Xpra gtk2 client version 2.3.2-r19729 64-bit
2018-08-16 13:46:17,610  running on Linux openSUSE 20180812 n/a
<snip>
2018-08-16 13:24:46,677  desktop size is 7680x1440 with 1 screen:
2018-08-16 13:24:46,677   :0.0 (2032x381 mm - DPI: 96x96) workarea: 7680x1404
2018-08-16 13:24:46,677     monitor 1 2560x1440 (598x336 mm - DPI: 108x108)
2018-08-16 13:24:46,677     monitor 2 2560x1440 at 2560x0 (598x336 mm - DPI: 108x108)
2018-08-16 13:24:46,677     monitor 3 2560x1440 at 5120x0 (598x336 mm - DPI: 108x108)
2018-08-16 13:24:46,677  upscaled by 125%, virtual screen size: 6144x1152
2018-08-16 13:24:46,677   :0.0 (2032x381 mm - DPI: 76x76) workarea: 6144x1123
2018-08-16 13:24:46,678     monitor 1 2048x1152 (598x336 mm - DPI: 86x87)
2018-08-16 13:24:46,678     monitor 2 2048x1152 at 2048x0 (598x336 mm - DPI: 86x87)
2018-08-16 13:24:46,678     monitor 3 2048x1152 at 4096x0 (598x336 mm - DPI: 86x87)
2018-08-16 13:24:46,683  keyboard settings: rules=evdev, model=logitechbase, layout=gb
jon@192.168.0.120's password: 
seamless session now available on display :3
2018-08-16 13:24:58,437 enabled remote logging
2018-08-16 13:24:58,438 Xpra X11 server version 2.3.2-r19729 64-bit
2018-08-16 13:24:58,438  running on Linux Ubuntu 16.04 xenial
2018-08-16 13:24:58,453 Warning: Desktop scaling adjusted to accomodate the server
2018-08-16 13:24:58,453  server desktop size is 5760x2560
2018-08-16 13:24:58,453  using scaling factor 1.333 x 0.562
2018-08-16 13:24:58,453 Server's virtual screen is too small
2018-08-16 13:24:58,453  server: 5760x1152 vs client: 5760x2560
2018-08-16 13:24:58,453  you may see strange behavior,
2018-08-16 13:24:58,453  please see http://xpra.org/trac/wiki/Xdummy#Configuration
2018-08-16 13:24:58,460 Warning: Invalid Scale Factor
2018-08-16 13:24:58,460  cannot scale by 125% x 125% or lower
2018-08-16 13:24:58,460  the scaled client screen 7680 x 1440 -> 6144 x 1152
2018-08-16 13:24:58,460   would overflow the server's screen: 5760 x 2560

Attachments (2)

stretched konsole.png (29.9 KB) - added by moozaad 6 weeks ago.
example konsole stretched
xpra.bug.txt (141.5 KB) - added by moozaad 6 weeks ago.
xpra bug output

Download all attachments as: .zip

Change History (9)

Changed 6 weeks ago by moozaad

Attachment: stretched konsole.png added

example konsole stretched

Changed 6 weeks ago by moozaad

Attachment: xpra.bug.txt added

xpra bug output

comment:1 Changed 6 weeks ago by Antoine Martin

Description: modified (diff)
Milestone: 2.4
Owner: changed from Antoine Martin to moozaad

Please post your server log and the Xorg log that goes with it.

The default installation should be able to handle 7680x1440, as we have defaults going up to 8192x4096.

Even then, the scaling calculations look a bit bananas, I agree.
You should end up with something like 1.333 x 1.333 instead.

comment:2 Changed 6 weeks ago by moozaad

xpra server log

2018-08-16 13:23:18,393 cannot access python uinput module:
2018-08-16 13:23:18,393  No module named uinput
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
2018-08-16 13:23:18,486 created unix domain socket: /run/user/1000/xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:18,486 created unix domain socket: /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:18,486 cannot create group socket '/run/xpra/jon-ThinkPad-X1-Carbon-5th-2'
2018-08-16 13:23:18,486  [Errno 13] Permission denied
2018-08-16 13:23:18,519 pointer device emulation using XTest
2018-08-16 13:23:18,519 Warning: the 'start-child' option is used,
2018-08-16 13:23:18,519  but 'exit-with-children' is not enabled,
2018-08-16 13:23:18,519  use 'start' instead
2018-08-16 13:23:19,245 serving html content from: /usr/share/xpra/www
2018-08-16 13:23:19,318 D-Bus notification forwarding is available
2018-08-16 13:23:19,398 Warning: webcam forwarding is disabled
2018-08-16 13:23:19,399  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2018-08-16 13:23:19,399  make sure that the 'v4l2loopback' kernel module is installed and loaded
2018-08-16 13:23:19,399 found 0 virtual video devices for webcam forwarding
2018-08-16 13:23:19,405 pulseaudio server started with pid 31757
2018-08-16 13:23:19,406  private server socket path:
2018-08-16 13:23:19,406  '/run/user/1000/xpra/pulse-:2/pulse/native'
2018-08-16 13:23:20,061 GStreamer version 1.8.3 for Python 2.7.12 64-bit
2018-08-16 13:23:20,123 Warning: failed to load the mdns avahi publisher:
2018-08-16 13:23:20,123  No module named avahi
2018-08-16 13:23:20,123  either fix your installation or use the 'mdns=no' option
2018-08-16 13:23:20,123 xpra X11 version 2.3.2-r19729 64-bit
2018-08-16 13:23:20,123  uid=1000 (jon), gid=1000 (jon)
2018-08-16 13:23:20,123  running with pid 31709 on Linux Ubuntu 16.04 xenial
2018-08-16 13:23:20,124  connected to X11 display :2 with 24 bit colors
2018-08-16 13:23:20,164 xpra is ready.
2018-08-16 13:23:20,227 printer forwarding enabled using postscript and pdf
2018-08-16 13:23:20,230 started command 'konsole' with pid 31800
2018-08-16 13:23:20,233 15.4GB of system memory
QCoreApplication::arguments: Please instantiate the QApplication object first
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
2018-08-16 13:23:20,249 child 'konsole' with pid 31800 has terminated
2018-08-16 13:23:21,031 New unix-domain connection received on /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:21,166 New unix-domain connection received on /run/user/1000/xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:21,166 New unix-domain connection received on /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:21,963 New unix-domain connection received on /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:22,132 New unix-domain connection received on /run/user/1000/xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:22,137 New unix-domain connection received on /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:22,319 New unix-domain connection received on /home/jon/.xpra/jon-ThinkPad-X1-Carbon-5th-2
2018-08-16 13:23:22,328 Handshake complete; enabling connection
2018-08-16 13:23:22,343  automatic picture encoding enabled, also available:
2018-08-16 13:23:22,343   h264, vp9, vp8, png, png/P, png/L, rgb24, rgb32, jpeg
2018-08-16 13:23:22,344 Python/Gtk2 Linux openSUSE 20180812 n/a x11 client version 2.3.2-r19729 64-bit
2018-08-16 13:23:22,344  connected from 'mudkip.farm' as 'jon' - 'Jon Brightwell'
2018-08-16 13:23:22,345  client root window size is 6144x1152 with 1 display:
2018-08-16 13:23:22,345   :0.0 (2032x381 mm - DPI: 76x76) workarea: 6144x1123
2018-08-16 13:23:22,345     monitor 1 2048x1152 (598x336 mm - DPI: 86x87)
2018-08-16 13:23:22,345     monitor 2 2048x1152 at 2048x0 (598x336 mm - DPI: 86x87)
2018-08-16 13:23:22,345     monitor 3 2048x1152 at 4096x0 (598x336 mm - DPI: 86x87)
2018-08-16 13:23:22,879 Warning: failed to add resolution 6144x1152:
2018-08-16 13:23:22,880  XError: BadMatch
2018-08-16 13:23:22,880 Warning: no matching resolution found for 6144x1152
2018-08-16 13:23:22,880  using 5760x2560 instead
2018-08-16 13:23:22,881 cannot find a temporary resolution for Xinerama workaround!
2018-08-16 13:23:22,890 server virtual display now set to 5760x2560 (best match for 6144x1152)
2018-08-16 13:23:22,891 setting key repeat rate from client: 600ms delay / 40ms interval
2018-08-16 13:23:22,892 setting keymap: rules=evdev, model=logitechbase, layout=gb
2018-08-16 13:23:22,906 setting keyboard layout to 'gb'
2018-08-16 13:23:22,940 DPI set to 26 x 77
2018-08-16 13:23:22,980 client @13.312 Xpra X11 server version 2.3.2-r19729 64-bit
2018-08-16 13:23:22,980 client @13.313  running on Linux Ubuntu 16.04 xenial
2018-08-16 13:23:22,980 client @13.330 Warning: Desktop scaling adjusted to accomodate the server
2018-08-16 13:23:22,980 client @13.330  server desktop size is 5760x2560
2018-08-16 13:23:22,980 client @13.330  using scaling factor 1.333 x 0.562
2018-08-16 13:23:22,980 client @13.330 Server's virtual screen is too small
2018-08-16 13:23:22,981 client @13.330  server: 5760x1152 vs client: 5760x2560
2018-08-16 13:23:22,981 client @13.330  you may see strange behavior,
2018-08-16 13:23:22,981 client @13.330  please see http://xpra.org/trac/wiki/Xdummy#Configuration
2018-08-16 13:23:22,981 client @13.336 Warning: Invalid Scale Factor
2018-08-16 13:23:22,981 client @13.336  cannot scale by 125% x 125% or lower
2018-08-16 13:23:22,982 client @13.336  the scaled client screen 7680 x 1440 -> 6144 x 1152
2018-08-16 13:23:22,982 client @13.336   would overflow the server's screen: 5760 x 2560
2018-08-16 13:23:23,084 client @13.453 server does not support xi input devices
2018-08-16 13:23:23,084 client @13.453  server uses: xtest
Last edited 6 weeks ago by Antoine Martin (previous) (diff)

comment:3 Changed 6 weeks ago by moozaad

[ 98589.689] _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
[ 98589.689] _XSERVTransMakeAllCOTSServerListeners: server already running
[ 98589.689] Failed to rename log file "/home/jon/.xpra/Xorg.S27951.log" to "/home/jon/.xpra/Xorg.S27951.log": No such file or directory
[ 98589.689] 
X.Org X Server 1.19.6
Release Date: 2017-12-20
[ 98589.689] X Protocol Version 11, Revision 0
[ 98589.689] Build Operating System: Linux 4.4.0-128-generic x86_64 Ubuntu
[ 98589.689] Current Operating System: Linux jon-ThinkPad-X1-Carbon-5th 4.15.0-24-generic #26~16.04.1-Ubuntu SMP Fri Jun 15 14:35:08 UTC 2018 x86_64
[ 98589.690] Kernel command line: BOOT_IMAGE=/vmlinuz-4.15.0-24-generic root=/dev/mapper/kubuntu--vg-root ro quiet splash vt.handoff=7
[ 98589.690] Build Date: 14 June 2018  05:12:30PM
[ 98589.690] xorg-server 2:1.19.6-1ubuntu4~16.04.1 (For technical support please see http://www.ubuntu.com/support) 
[ 98589.690] Current version of pixman: 0.33.6
[ 98589.690]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 98589.690] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 98589.690] (++) Log file: "/home/jon/.xpra/Xorg.S27951.log", Time: Thu Jul 19 13:40:08 2018
[ 98589.690] (++) Using config file: "/etc/xpra/xorg.conf"
[ 98589.690] (EE) Unable to locate/open config directory: "/home/jon/.xpra/xorgconfigdir"
[ 98589.690] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 98589.697] (==) ServerLayout "dummy_layout"
[ 98589.697] (**) |-->Screen "dummy_screen" (0)
[ 98589.697] (**) |   |-->Monitor "dummy_monitor"
[ 98589.699] (**) |   |-->Device "dummy_videocard"
[ 98589.699] (**) Option "DontVTSwitch" "true"
[ 98589.700] (**) Option "AllowMouseOpenFail" "true"
[ 98589.700] (**) Option "AutoAddDevices" "false"
[ 98589.700] (**) Option "AutoEnableDevices" "false"
[ 98589.700] (**) Not automatically adding devices
[ 98589.700] (**) Not automatically enabling devices
[ 98589.700] (==) Automatically adding GPU devices
[ 98589.700] (==) Automatically binding GPU devices
[ 98589.700] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 98589.700] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 98589.700]    Entry deleted from font path.
[ 98589.700] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/100dpi/:unscaled,
        /usr/share/fonts/X11/75dpi/:unscaled,
        /usr/share/fonts/X11/Type1,
        /usr/share/fonts/X11/100dpi,
        /usr/share/fonts/X11/75dpi,
        built-ins
[ 98589.700] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[ 98589.700] (==) |-->Input Device "<default pointer>"
[ 98589.700] (==) |-->Input Device "<default keyboard>"
[ 98589.700] (==) The core pointer device wasn't specified explicitly in the layout.
        Using the default mouse configuration.
[ 98589.700] (==) The core keyboard device wasn't specified explicitly in the layout.
        Using the default keyboard configuration.
[ 98589.700] (II) Loader magic: 0x5607d8a15e00
[ 98589.700] (II) Module ABI versions:
[ 98589.700]    X.Org ANSI C Emulation: 0.4
[ 98589.700]    X.Org Video Driver: 23.0
[ 98589.700]    X.Org XInput driver : 24.1
[ 98589.700]    X.Org Server Extension : 10.0
[ 98589.703] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_397
[ 98589.703] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 98589.704] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[ 98589.704] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[ 98589.706] (--) PCI:*(0:0:2:0) 8086:5916:17aa:224f rev 2, Mem @ 0xeb000000/16777216, 0x60000000/268435456, I/O @ 0x0000e000/64, BIOS @ 0x????????/131072
[ 98589.706] (II) LoadModule: "glx"
[ 98589.706] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 98589.707] (II) Module glx: vendor="X.Org Foundation"
[ 98589.707]    compiled for 1.19.6, module version = 1.0.0
[ 98589.707]    ABI class: X.Org Server Extension, version 10.0
[ 98589.707] (II) LoadModule: "dummy"
[ 98589.707] (WW) Warning, couldn't open module dummy
[ 98589.707] (II) UnloadModule: "dummy"
[ 98589.707] (II) Unloading dummy
[ 98589.707] (EE) Failed to load module "dummy" (module does not exist, 0)
[ 98589.707] (==) Matched modesetting as autoconfigured driver 0
[ 98589.707] (==) Matched fbdev as autoconfigured driver 1
[ 98589.707] (==) Matched vesa as autoconfigured driver 2
[ 98589.707] (==) Assigned the driver to the xf86ConfigLayout
[ 98589.707] (II) LoadModule: "modesetting"
[ 98589.707] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 98589.707] (II) Module modesetting: vendor="X.Org Foundation"
[ 98589.707]    compiled for 1.19.6, module version = 1.19.6
[ 98589.707]    Module class: X.Org Video Driver
[ 98589.707]    ABI class: X.Org Video Driver, version 23.0
[ 98589.707] (II) LoadModule: "fbdev"
[ 98589.707] (WW) Warning, couldn't open module fbdev
[ 98589.707] (II) UnloadModule: "fbdev"
[ 98589.707] (II) Unloading fbdev
[ 98589.707] (EE) Failed to load module "fbdev" (module does not exist, 0)
[ 98589.707] (II) LoadModule: "vesa"
[ 98589.707] (WW) Warning, couldn't open module vesa
[ 98589.707] (II) UnloadModule: "vesa"
[ 98589.707] (II) Unloading vesa
[ 98589.707] (EE) Failed to load module "vesa" (module does not exist, 0)
[ 98589.707] (II) LoadModule: "mouse"
[ 98589.708] (WW) Warning, couldn't open module mouse
[ 98589.708] (II) UnloadModule: "mouse"
[ 98589.708] (II) Unloading mouse
[ 98589.708] (EE) Failed to load module "mouse" (module does not exist, 0)
[ 98589.708] (II) LoadModule: "kbd"
[ 98589.708] (WW) Warning, couldn't open module kbd
[ 98589.708] (II) UnloadModule: "kbd"
[ 98589.708] (II) Unloading kbd
[ 98589.708] (EE) Failed to load module "kbd" (module does not exist, 0)
[ 98589.708] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 98589.708] (EE) 
Fatal server error:
[ 98589.708] (EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
[ 98589.708] (EE) 
[ 98589.708] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[ 98589.708] (EE) Please also check the log file at "/home/jon/.xpra/Xorg.S27951.log" for additional information.
[ 98589.708] (EE) 
[ 98589.708] (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor
[ 98589.708] (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor
[ 98589.708] (EE) Server terminated with error (1). Closing log file.

Last edited 6 weeks ago by moozaad (previous) (diff)

comment:4 Changed 6 weeks ago by Antoine Martin

Owner: changed from moozaad to Antoine Martin
Priority: majorcritical
Status: newassigned

@moozaad: that log file you posted is not from xpra.
I've just checked and servers on Ubuntu 16.04 use Xvfb instead of Xdummy (something to do with Ubuntu breaking Xorg permissions with their packaging) so there is no log file.

Maybe the Xvfb version in Ubuntu doesn't support randr, or not well, or maybe the default instance doesn't have enough memory for high resolutions like this one. I'll take a look.

comment:5 Changed 5 weeks ago by Antoine Martin

Summary: Client scaling is wrong on multi monitor systemsClient scaling is wrong on multi monitor systems connected to an Ubuntu 16.04 server

Was easy enough to reproduce.
The problem only affects Ubuntu 16.04 servers because those use Xvfb instead of Xdummy by default. Ubuntu messed up something with the packaging of Xorg, so trying to use Xdummy gives tty errors.
On top of that, the version of Xvfb found in Ubuntu 16.04 doesn't support randr, so we cannot add resolutions on the fly and we're stuck with 5760x2560.

The combination of those two issues triggered some bugs in xpra. Things that needed fixing:

  • r20122: unnecessary scaling changes firing from the system tray menu code (minor)
  • r20123: better debug logging
  • r20124: more correct display size validation (minor)
  • r20125: use the same scaling factor for both x and y coordinates - so we keep the same proportions and things look better (but still upscaled a bit)

Backported to v2.3.x in r20126 without the logging bits.

@moozaad: does that fix things for you?

comment:6 Changed 5 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to moozaad
Status: assignednew

comment:7 Changed 3 weeks ago by Antoine Martin

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.