Hello community, here is the log from the commit of package suse-prime for openSUSE:Factory checked in at 2020-07-17 20:52:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/suse-prime (Old) and /work/SRC/openSUSE:Factory/.suse-prime.new.3592 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suse-prime" Fri Jul 17 20:52:16 2020 rev:23 rq:821478 version:0.7.14 Changes: -------- --- /work/SRC/openSUSE:Factory/suse-prime/suse-prime.changes 2020-04-10 23:53:49.272723803 +0200 +++ /work/SRC/openSUSE:Factory/.suse-prime.new.3592/suse-prime.changes 2020-07-17 20:53:08.445063643 +0200 @@ -1,0 +2,28 @@ +Fri Jul 17 10:07:18 UTC 2020 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 0.7.14 + * Fix failure on TW to determine current systemd target + * Avoid endless loop when nvidia modules cannot be unloaded (boo#1173632) + +------------------------------------------------------------------- +Tue Jul 7 19:49:47 UTC 2020 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 0.7.13 + * (Hopefully) fixes user_logout_waiter for gdm autologin (issue#55) + +------------------------------------------------------------------- +Mon Jun 15 10:30:49 UTC 2020 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 0.7.12 + * README.md: Better explain power-off/powersave option of + NVIDIA GPU (issue#54) + +------------------------------------------------------------------- +Tue Apr 14 09:55:14 UTC 2020 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 0.7.11 + * Change nvidia's NVreg_DynamicPowerManagement kernel option to + 0x01. This prevents intermittent 1s - 1.5s freezes on Turing + GPU's in nvidia mode (issue#52). + +------------------------------------------------------------------- Old: ---- SUSEPrime-0.7.10.tar.gz New: ---- SUSEPrime-0.7.14.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suse-prime.spec ++++++ --- /var/tmp/diff_new_pack.pEAVNM/_old 2020-07-17 20:53:09.645064894 +0200 +++ /var/tmp/diff_new_pack.pEAVNM/_new 2020-07-17 20:53:09.645064894 +0200 @@ -17,7 +17,7 @@ Name: suse-prime -Version: 0.7.10 +Version: 0.7.14 Release: 0 Summary: GPU (nvidia/intel) selection for NVIDIA optimus laptops License: SUSE-Public-Domain ++++++ SUSEPrime-0.7.10.tar.gz -> SUSEPrime-0.7.14.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSEPrime-0.7.10/09-nvidia-modprobe-pm-G05.conf new/SUSEPrime-0.7.14/09-nvidia-modprobe-pm-G05.conf --- old/SUSEPrime-0.7.10/09-nvidia-modprobe-pm-G05.conf 2020-04-10 14:12:22.000000000 +0200 +++ new/SUSEPrime-0.7.14/09-nvidia-modprobe-pm-G05.conf 2020-07-17 12:03:23.000000000 +0200 @@ -1 +1 @@ -options nvidia NVreg_DynamicPowerManagement=0x02 +options nvidia NVreg_DynamicPowerManagement=0x01 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSEPrime-0.7.10/README.md new/SUSEPrime-0.7.14/README.md --- old/SUSEPrime-0.7.10/README.md 2020-04-10 14:12:22.000000000 +0200 +++ new/SUSEPrime-0.7.14/README.md 2020-07-17 12:03:23.000000000 +0200 @@ -15,7 +15,7 @@ using the NVIDIA card. To switch back to te Intel card run `sudo prime-select intel` (modesetting driver) or `sudo prime-select intel2` (Intel Open Source driver, requires xf86-video-intel package). 2. To check which video card you're currently using run `/usr/sbin/prime-select get-current`. -3. On intel configurations, powering off the NVIDIA card with bbswitch (since 390.xxx driver) or DynamicPowerManagement option (since 435.xx driver and Turing GPU or later) to save power and decrease temperature is supported but requires additional manual setup. Refer to instructions below. +3. In intel-only mode, powering off the NVIDIA card with bbswitch (since 390.xxx driver) or using DynamicPowerManagement option in nvidia/intel mode (since 435.xx driver and Turing GPU or later) to save power and decrease temperature is supported but requires additional manual setup. Refer to instructions below. 4. Since 435.xx driver you can make use of NVIDIA's PRIME Render Offload feature in intel configurations (Xserver of Leap 15.2 or later needed!). `Option "AllowNVIDIAGPUScreens"` is already taken care of by intel X configs. You only need to set the __NV* environment variables. Check <https://download.nvidia.com/XFree86/Linux-x86_64/435.21/README/primerenderoffload.html> for more details. Contact diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSEPrime-0.7.10/prime-select.sh new/SUSEPrime-0.7.14/prime-select.sh --- old/SUSEPrime-0.7.10/prime-select.sh 2020-04-10 14:12:22.000000000 +0200 +++ new/SUSEPrime-0.7.14/prime-select.sh 2020-07-17 12:03:23.000000000 +0200 @@ -278,9 +278,14 @@ cat $conf | sed -e 's/PCI:X:X:X/'${intel_busid}'/' > /etc/X11/xorg.conf.d/90-intel.conf if (( service_test == 0)); then - - while [ "$(lsmod | grep nvidia)" > /dev/null ]; do - modprobe -r $nvidia_modules + + # try only n times; avoid endless loop which may block system updates forever (boo#1173632) + last=3 + for try in $(seq 1 $last); do + modprobe -r $nvidia_modules && break + if [ $try -eq $last ]; then + echo "NVIDIA kernel modules cannot be unloaded (tried $last times). Your machine may need a reboot." + fi done if [ -f /proc/acpi/bbswitch ]; then @@ -432,15 +437,10 @@ #DM_check - # use this to determine current target as this is more reliable than legacy runlevel command that can return 'undefined' or 'N' - # see https://serverfault.com/questions/835515/systemd-how-to-get-the-running-target - # cannot use 'systemctl get-default' as default target may be different than current target - target=$(systemctl list-units --type target | egrep "^multi-user|^graphical" | head -1 | cut -f 1 -d ' ') - - # might be empty if script not invoked by sudo, ie directly by root + # might be empty if script not invoked by sudo, ie directly by root user=$SUDO_USER - if [ "$target" = "graphical.target" ]; then + if systemctl is-active graphical.target > /dev/null; then #GDM_mode if [ "$(systemctl status display-manager | grep gdm)" > /dev/null ]; then $0 user_logout_waiter $type gdm $user & @@ -476,7 +476,7 @@ esac fi #manually_started_X_case - elif [ "$target" = "multi-user.target" ] && [ "$(pgrep -x xinit)" > /dev/null ]; then + elif [ "$(systemctl is-active multi-user.target)" > /dev/null ] && [ "$(pgrep -x xinit)" > /dev/null ]; then $0 user_logout_waiter $type x_only $user & logging "user_logout_waiter: started" # from console without Xorg running @@ -658,7 +658,8 @@ gdm ) #GDM_mode - until [ "$(journalctl --since "$currtime" | grep "pam_unix(gdm-password:session): session closed")" > /dev/null ]; do + until [ "$(journalctl --since "$currtime" | grep -e "pam_unix(gdm-password:session): session closed" \ + -e "pam_unix(gdm-autologin:session): session closed")" > /dev/null ]; do sleep 0.5s done logging "user_logout_waiter: X restart detected, preparing switch to $2 [ boot_state > S ]"