Xpra: Ticket #1605: UnboundLocalError xdpi exception since upgrade to 2.1

Hello,

xpra was upgraded to 2.1 recently, and now I'm getting the following python exception when running 'xpra attach --dpi 96'

It doesn't happen without --dpi 96, but I need this parameter since otherwise the font in the xpra windows is *tiny*.

$ xpra attach --dpi=96 :10
2017-07-28 18:08:07,338 Xpra gtk2 client version 2.1-r16525 64-bit
2017-07-28 18:08:07,338  running on Linux neon 16.04 xenial
2017-07-28 18:08:07,953 GStreamer version 1.8.3 for Python 2.7.12 64-bit
/usr/lib/python2.7/dist-packages/xpra/client/gl/gl_check.py:552: GtkWarning: Unable to locate theme engine in module_path: "adwaita",
  w = gtk.Window()
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve property `gtk-primary-button-warps-slider' of type `gboolean' from rc file value "((GString*) 0x4df23a0)" of type `gboolean'
2017-07-28 18:08:08,232 PyOpenGL warning: missing accelerate module
2017-07-28 18:08:08,232 PyOpenGL warning: missing array format handlers: numeric, vbo, vbooffset
2017-07-28 18:08:08,233 OpenGL Version: 3.0 Mesa 17.0.7
2017-07-28 18:08:08,233 OpenGL support is missing:
2017-07-28 18:08:08,233  PyOpenGL version 3.0.2 is too old and buggy
2017-07-28 18:08:08,247  keyboard settings: rules=evdev, model=pc101, layout=de
2017-07-28 18:08:08,248  desktop size is 4920x1920 with 1 screen:
2017-07-28 18:08:08,248   :0.0 (1299x507 mm - DPI: 96x96)
2017-07-28 18:08:08,248     monitor 1 1920x1200 at 0x360 (520x320 mm - DPI: 93x95)
2017-07-28 18:08:08,248     monitor 2 1920x1200 at 1920x360 (520x320 mm - DPI: 93x95)
2017-07-28 18:08:08,248     monitor 3 1080x1920 at 3840x0 (510x290 mm - DPI: 53x168)
2017-07-28 18:08:08,248  upscaled by 125%, virtual screen size: 3936x1536
2017-07-28 18:08:08,249   :0.0 (1299x507 mm - DPI: 76x76)
2017-07-28 18:08:08,249     monitor 1 1536x960 at 0x288 (520x320 mm - DPI: 75x76)
2017-07-28 18:08:08,249     monitor 2 1536x960 at 1536x288 (520x320 mm - DPI: 75x76)
2017-07-28 18:08:08,249     monitor 3 864x1536 at 3072x0 (510x290 mm - DPI: 43x134)
2017-07-28 18:08:08,249 error preparing connection: local variable 'xdpi' referenced before assignment
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_base.py", line 317, in send_hello
    hello.update(self.make_hello())
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/client.py", line 287, in make_hello
    capabilities = GTKXpraClient.make_hello(self)
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_base.py", line 418, in make_hello
    capabilities = UIXpraClient.make_hello(self)
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1424, in make_hello
    self._last_screen_settings = (root_w, root_h, sss, ndesktops, desktop_names, u_root_w, u_root_h, xdpi, ydpi)
UnboundLocalError: local variable 'xdpi' referenced before assignment
2017-07-28 18:08:08,534 Connection lost

I modified the file for a workaround that works for now. I changed the offending line to:

self._last_screen_settings = (root_w, root_h, sss, ndesktops, desktop_names, u_root_w, u_root_h, dpi, dpi)

since only dpi is calculated in the surrounding code.



Fri, 28 Jul 2017 17:09:49 GMT - Antoine Martin: owner, component, description changed

Sorry about that, and thanks for reporting the bug.

The correct fix is in r16546. Backport to older branches in r16547.

Just out of curiosity, why do you use the dpi switch? Maybe your server is also running Ubuntu and you lack wiki/Xdummy support?


Sat, 29 Jul 2017 09:00:44 GMT - Thomas Martitz:

As I said, the font of the xpra windows is otherwise tiny, so that it's unreadable.

The client and server are on the same system which is KDE neon (based on Ubuntu 16.04 LTS). I have installed the latest HWE stacks including newer X.org, though. I start some windows inside xpra so that I can access them when I'm working from home.

I start the server is a systemd user instance like this:

/usr/bin/python /usr/bin/xpra start -d sound --opengl=yes --sharing=yes --pulseaudio=no --daemon=no :10

The X server is then started like this:

Xvfb-for-Xpra-:10 +extension Composite -screen 0 5760x2560x24+32 -dpi 96 -nolisten tcp -noreset -auth /home/tmartitz/.Xauthority :10

Note that both /etc/xpra.conf and $HOME/.xpra/xpra.conf are empty (contain only comments).

Do you need more information?


Sat, 29 Jul 2017 09:05:19 GMT - Antoine Martin: status changed; resolution set

I have installed the latest HWE stacks including newer X.org, though

Then you're using Xorg without the Xdummy patches, hence the DPI issues.

I start the server is a systemd user instance like this: (..) -d sound

That's going to make the logs very verbose... and also slow things down.

--opengl=yes

This doesn't do anything server-side.

Do you need more information?

No, I think it's all covered. If you want better DPI handling, install the patched xdummy, otherwise just keep hard-coding it.

Thanks for the report!


Sat, 29 Jul 2017 13:12:41 GMT - Antoine Martin: summary changed

(better ticket title)


Sat, 23 Jan 2021 05:28:55 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1605