Hi Adam, and sorry for the delayed reply!
On Wed, Jun 04, 2025 at 10:20:04PM +0200, Adam Chyła wrote:
> The Qt-based applications fail to run. All the apps hang without displaying
> anything on the screen, then terminate.
>
> Setting the QT_FONT_DPI environment variable to a sensible default, such as
> 100,
> can be used as a workaround for the issue.
>
> [...]
>
> For this particular case, the platformScreen->logicalDpi() code calls the
> QXcbScreen::logicalDpi
> function:
>
> qtbase-everywhere-src-5.15.8/src/plugins/platforms/xcb/qxcbscreen.cpp
> 720 int QXcbScreen::forcedDpi() const
> 721 {
> 722 const int forcedDpi = m_virtualDesktop->forcedDpi();
> 723 if (forcedDpi > 0)
> 724 return forcedDpi;
> 725 return 0;
> 726 }
> 727
> 728 QDpi QXcbScreen::logicalDpi() const
> 729 {
> 730 const int forcedDpi = this->forcedDpi();
> 731 if (forcedDpi > 0)
> 732 return QDpi(forcedDpi, forcedDpi);
> 733
> 734 // Fall back to physical virtual desktop DPI, but prevent
> 735 // using DPI values lower than 96. This ensuers that connecting
> 736 // to e.g. a TV works somewhat predictabilly.
> 737 QDpi virtualDesktopPhysicalDPi = m_virtualDesktop->dpi();
> 738 return QDpi(std::max(virtualDesktopPhysicalDPi.first, 96.0),
> 739 std::max(virtualDesktopPhysicalDPi.second, 96.0));
> 740 }I believe this commit from Qt 6 should fix this issue, since it removes the call to dpi(): https://code.qt.io/cgit/qt/qtbase.git/commit?id=7238123521708ec9 Does this change look good to you? If yes, I will upload it to unstable, and if you want, I can also prepare a fix for Debian stable (Trixie). -- Dmitry Shachnev
signature.asc
Description: PGP signature

