Tdesktop: [BUG - BROKEN] Interface is unusable/scrambled on HiDPI on Gnome

Created on 13 May 2016  路  9Comments  路  Source: telegramdesktop/tdesktop

Steps to reproduce

  1. Update from v0.9.44 to v0.9.48
  2. Open Telegram Desktop
  3. GUI is broken

    Expected behaviour

GUI should display normally as in previous versions

Actual behaviour

Interface is mangled

Configuration

Operating system: Arch Linux x64

Version of Telegram Desktop: v0.9.48

Logs

log.txt

screenshot from 2016-05-13 11-43-40

Not all settings seem to be loaded and the tick boxes do not show. The interface is extremely huge and chat text is not clearly readable, GUI icons are replaced by strange symbols, etc. Some elements are unusable - emoji and "send message" button for example. It's really a mess.

For now, my solution is to just revert to v0.9.44.

Most helpful comment

Please check out the 0.9.49 stable version, I've disabled Qt auto hidpi scaling there. It is not possible currently to use the Qt HiDPI support (together with my styles and custom scalings of the interface).

All 9 comments

Just out of curiosity, what happens if you run it with QT_AUTO_SCREEN_SCALE_FACTOR=2 and reset the scale setting to 100%?

Bump. I've got an exact same issue. My qtbase version is 5.6.
@Zenexer: the scaling option is gone..

@Zenexer as @adamczykm said, the option in the settings is gone. Also QT_AUTO_SCREEN_SCALE_FACTOR only has 0(FALSE) and 1(TRUE) values. Do you mean the old setting QT_SCALE_FACTOR or QT_DEVICE_PIXEL_RATIO? Since Qt 5.6, which is currently the Arch default, the option QT_AUTO_SCREEN_SCALE_FACTOR=1 is set for me and worked perfectly with Telegram up until this version. But just for fun I did try the =2 and nothing changed as expected.

However, if I start with QT_AUTO_SCREEN_SCALE_FACTOR=0 I get the interface small, but working. I am then able to go to settings and enable the auto-scaling and it's all good. I also did some further tests with QT_SCALE_FACTOR == 0.5,1,2. All of these values scale the interface, but not the buttons/icons/settings. So it remains broken just in different sizes. I hope this is helpful.

EDIT: Also, for some reason, now as I'm switching versions to test, I loose all settings and the login token, but only when downgrading. I hope this is not a bug bug a safety feature against exploits involving downgrading.

maybe, this is also helpful:

(telegram-desktop:8837): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

(telegram-desktop:8837): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed

I get these when I run telegram-desktop from a terminal.

@kgizdov Yes, all the information (login, settings) stores current version, so it doesn't even make attempts to read the files from the newer versions.

It seems that the auto-Qt-HiDPI-support, introduced in Qt 5.6, doesn't work that well with my custom interface scaling support :( It was not done in Qt at all before, that's why it works fine in the previous versions. So, currently I'll try to disable QT_AUTO_SCREEN_SCALE_FACTOR in-app.

@kgizdov Yes, sorry, I meant QT_SCALE_FACTOR. Copied the wrong one. :) I've always had issues with all the other variables on Arch; that's the only one that's ever worked properly for me. However, I've never had to set anything special for Telegram.

@john-preston The custom scaling implementation has never worked all that well for me. I've run into a variety of issues on Linux (all of which I've been able to work around so far). On Windows, I'm not able to scale it high enough to match the DPI of my laptop. It works better than a lot of other apps, but not perfectly. Would it be better to use Qt's own implementation going forward?

Please check out the 0.9.49 stable version, I've disabled Qt auto hidpi scaling there. It is not possible currently to use the Qt HiDPI support (together with my styles and custom scalings of the interface).

Yes, the new version version fixes it and it renders correctly. (I hope to have the Qt update soon too :smiley: )

Worked for me as well. Thanks.

Was this page helpful?
0 / 5 - 0 ratings