xpra icon
Bug tracker and wiki

Opened 2 weeks ago

Last modified 2 weeks ago

#2492 new defect

broken window rendering: 3/4 black with Cinnamon + HiDPI

Reported by: Philippe Teuwen Owned by: Philippe Teuwen
Priority: major Milestone: 4.0
Component: client Version: 3.0.x
Keywords: Cc:

Description

When using xpra as client on a Cinnamon (4.2.4-2 on Debian) with HiDPI settings, the xpra windows are rendered wrongly, see screenshot.
The image of the window (from any X app) is cropped to the lower left quarter, the other three quarters of the window are black.


https://i.imgur.com/F7ObhbV.png


If I disable Cinnamon HiDPI settings (via System Settings / Desktop Scaling or in CLI: "gsettings set org.cinnamon.desktop.interface scaling-factor 1", the problem disappears immediately in the currently opened xpra windows.

E.g.:

Cinnamon initially configured for HiDPI

$ xpra attach ssh:nuc:100 --start=gnome-terminal
2019-11-26 00:40:47,497 Xpra GTK3 X11 client version 3.0.2-r24387 64-bit
2019-11-26 00:40:47,810  running on Linux Debian testing bullseye
2019-11-26 00:40:47,812  window manager is 'Mutter (Muffin)'
2019-11-26 00:40:48,886 GStreamer version 1.16.1 for Python 3.7.5 64-bit
2019-11-26 00:40:49,099 No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
2019-11-26 00:40:49,522 OpenGL enabled with Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2)
2019-11-26 00:40:49,709 Connected (version 2.0, client OpenSSH_7.4p1)
2019-11-26 00:40:50,139 Authentication (publickey) successful!
2019-11-26 00:40:50,272  keyboard settings: rules=evdev, model=pc105, layout=us
2019-11-26 00:40:50,284  desktop size is 1920x1080 with 1 screen:
2019-11-26 00:40:50,285   :0.0 (338x190 mm - DPI: 144x144) workarea: 3840x2110
2019-11-26 00:40:50,285     SHP eDP-1 (346x194 mm - DPI: 140x141)
2019-11-26 00:40:50,307 no ethtool interface speed available for wlp2s0
2019-11-26 00:40:50,999 enabled remote logging
2019-11-26 00:40:51,001 Xpra GTK3 X11 server version 3.0.2-r24387 64-bit
2019-11-26 00:40:51,001  running on Linux Debian 9.11 stretch
2019-11-26 00:40:51,017 Attached to ssh://phil@nuc/100
2019-11-26 00:40:51,017  (press Control-C to detach)

2019-11-26 00:40:51,160 server does not support xi input devices
2019-11-26 00:40:51,161  server uses: xtest

=> getting a 3/4 black terminal, cf screenshot

=> typing in another term:

gsettings set org.cinnamon.desktop.interface scaling-factor 1

=> xpra log:

2019-11-26 00:42:15,605 sending updated screen size to server: 3840x2160 with 1 screens
2019-11-26 00:42:15,605   :0.0 (338x190 mm - DPI: 288x288) workarea: 3840x2135
2019-11-26 00:42:15,606     SHP eDP-1 (346x194 mm - DPI: 281x282)

=> and xpra terminal appearance is now correct.

=> typing in another term:

gsettings set org.cinnamon.desktop.interface scaling-factor 2

=> the initial problem reappears

=> xpra log:

2019-11-26 00:42:30,015 sending updated screen size to server: 1920x1080 with 1 screens
2019-11-26 00:42:30,016   :0.0 (338x190 mm - DPI: 144x144) workarea: 3840x2110
2019-11-26 00:42:30,017     SHP eDP-1 (346x194 mm - DPI: 140x141)

Attachments (1)

2492.zip (80.2 KB) - added by Philippe Teuwen 2 weeks ago.
xpra settings

Download all attachments as: .zip

Change History (7)

Changed 2 weeks ago by Philippe Teuwen

Attachment: 2492.zip added

xpra settings

comment:1 Changed 2 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to Philippe Teuwen

This was meant to have been fixed in r24282, but maybe GTK has changed things yet again?
Can you please try to run the client with:

GDK_SCALE=1 xpra attach ..

comment:2 Changed 2 weeks ago by Antoine Martin

Component: androidclient

comment:3 Changed 2 weeks ago by Philippe Teuwen

GDK_SCALE=1 xpra attach ..
has no effect

But, if I comment unsetenv("GDK_SCALE") in main.py and run
GDK_SCALE=1 xpra attach ..
then the window decoration is properly drawn around the terminal (but everything is twice small, as for the terminal of my screenshot)

Note that by default GDK_SCALE is not defined and if I run
xpra attach .., no matter if unsetenv("GDK_SCALE") is commented or not, I have the same 3/4 black issue.

comment:4 Changed 2 weeks ago by Philippe Teuwen

so for now I'm using

    #unsetenv("GDK_SCALE")
    os.environ["GDK_SCALE"]="1"

comment:5 Changed 2 weeks ago by Antoine Martin

But, if I comment unsetenv("GDK_SCALE") in main.py

Doh, of course, since we then unset it!

Applied in r24484.
Can I close this ticket?

comment:6 Changed 2 weeks ago by Philippe Teuwen

yes, thanks!!

Note: See TracTickets for help on using tickets.