Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-installation for openSUSE:Factory checked in at 2022-02-13 19:50:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old) and /work/SRC/openSUSE:Factory/.yast2-installation.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation" Sun Feb 13 19:50:38 2022 rev:494 rq:953841 version:4.4.40 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes 2022-02-04 00:46:13.945149270 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-installation.new.1956/yast2-installation.changes 2022-02-13 19:51:12.186238332 +0100 @@ -1,0 +2,8 @@ +Wed Feb 9 15:05:32 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Set the Xft.dpi resource after running the X server, + before running yast to fix hidpi issues with Qt 5.15 + (boo#1173451) +- 4.4.40 + +------------------------------------------------------------------- Old: ---- yast2-installation-4.4.39.tar.bz2 New: ---- yast2-installation-4.4.40.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-installation.spec ++++++ --- /var/tmp/diff_new_pack.v47fAx/_old 2022-02-13 19:51:12.746239825 +0100 +++ /var/tmp/diff_new_pack.v47fAx/_new 2022-02-13 19:51:12.750239835 +0100 @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 4.4.39 +Version: 4.4.40 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -70,6 +70,8 @@ Requires: pciutils # tar-gzip some system files and untar-ungzip them after the installation (FATE #300421, #120103) Requires: tar +# xrdb is used to set Xft.dpi in YaST2.call +Requires: xrdb # Y2Packager::NewRepositorySetup Requires: yast2 >= 4.4.42 # CIOIgnore ++++++ yast2-installation-4.4.39.tar.bz2 -> yast2-installation-4.4.40.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.39/package/yast2-installation.changes new/yast2-installation-4.4.40/package/yast2-installation.changes --- old/yast2-installation-4.4.39/package/yast2-installation.changes 2022-02-02 13:39:44.000000000 +0100 +++ new/yast2-installation-4.4.40/package/yast2-installation.changes 2022-02-11 10:35:56.000000000 +0100 @@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Wed Feb 9 15:05:32 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Set the Xft.dpi resource after running the X server, + before running yast to fix hidpi issues with Qt 5.15 + (boo#1173451) +- 4.4.40 + +------------------------------------------------------------------- Wed Feb 2 11:46:42 UTC 2022 - Ladislav Slez??k <lsle...@suse.cz> - Fixed crash in Ruby 3.1 after pressing the hamburger menu icon diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.39/package/yast2-installation.spec new/yast2-installation-4.4.40/package/yast2-installation.spec --- old/yast2-installation-4.4.39/package/yast2-installation.spec 2022-02-02 13:39:44.000000000 +0100 +++ new/yast2-installation-4.4.40/package/yast2-installation.spec 2022-02-11 10:35:56.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package yast2-installation # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: yast2-installation -Version: 4.4.39 +Version: 4.4.40 Release: 0 Summary: YaST2 - Installation Parts License: GPL-2.0-only @@ -70,6 +70,8 @@ Requires: pciutils # tar-gzip some system files and untar-ungzip them after the installation (FATE #300421, #120103) Requires: tar +# xrdb is used to set Xft.dpi in YaST2.call +Requires: xrdb # Y2Packager::NewRepositorySetup Requires: yast2 >= 4.4.42 # CIOIgnore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-installation-4.4.39/startup/YaST2.call new/yast2-installation-4.4.40/startup/YaST2.call --- old/yast2-installation-4.4.39/startup/YaST2.call 2022-02-02 13:39:44.000000000 +0100 +++ new/yast2-installation-4.4.40/startup/YaST2.call 2022-02-11 10:35:56.000000000 +0100 @@ -71,6 +71,29 @@ done } +#----[ calculate_x11_dpi ]----# +function calculate_x11_dpi () { +#------------------------------------------------------ +# Calculate the monitor's dpi from xrandr's output +# --- + local MON_SIZE=`xrandr |grep mm |head -n 1` + local MON_WIDTH_MM=`echo $MON_SIZE | sed -e "s/.* \([0-9]\+\)mm x \([0-9]\+\)mm.*/\1/"` + local MON_WIDTH_PX=`echo $MON_SIZE | sed -e "s/.* \([0-9]\+\)x[0-9]\++.*/\1/"` + local DPI=`ruby -e "puts (($MON_WIDTH_PX/($MON_WIDTH_MM*0.0393701)/48).round)*48"` + log "Monitor size: $MON_SIZE" + log "Monitor width mm: $MON_WIDTH_MM" + log "Monitor width px: $MON_WIDTH_PX" + log "Monitor dpi: $DPI" + echo "$DPI" +} + +#----[ set_xft_dpi ]----# +function set_xft_dpi () { +#------------------------------------------------------ +# Set Xft.dpi resource using xrdb +# --- + echo "Xft.dpi: $1" | xrdb -merge - && log "Xft.dpi set to: $1" +} #----[ prepare_for_x11 ]----# function prepare_for_x11 () { @@ -91,6 +114,19 @@ wait_for_x11 15 if [ "$server_running" = 1 ];then log "\tX-Server is ready: $xserver_pid" + + local DPI=`calculate_x11_dpi` + if [ "$DPI" -ge 144 -a "$DPI" -le 288 ]; then + set_xft_dpi $DPI + elif [ "$DPI" -gt 288 ]; then + # This is a workaround against monitors + # that provide bad edid values + log "WARNING: Detected monitor DPI is too high ($DPI), using value 288" + set_xft_dpi 288 + else + log "WARNING: Detected monitor DPI is too low ($DPI), using value 96" + set_xft_dpi 96 + fi fi fi