Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package lutris for openSUSE:Factory checked 
in at 2021-07-05 22:22:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lutris (Old)
 and      /work/SRC/openSUSE:Factory/.lutris.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lutris"

Mon Jul  5 22:22:55 2021 rev:12 rq:904049 version:0.5.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/lutris/lutris.changes    2021-01-25 
18:25:01.568551253 +0100
+++ /work/SRC/openSUSE:Factory/.lutris.new.2625/lutris.changes  2021-07-05 
22:23:24.153525746 +0200
@@ -1,0 +2,15 @@
+Mon Jul  5 07:40:34 UTC 2021 - Michael Vetter <mvet...@suse.com>
+
+- Update to 0.5.8.4:
+  * Fix Steam icon showing too big on some systems
+  * Fix DXVK not updating
+  * Fix Python 3.9 compatibility
+  * Update sidebar on service login
+  * Remember position of window except on Wayland maybe
+  * GST plugin path is now only set if it exists
+  * Default to 7zip when not given an archive extractor
+  * Switch IRC to Libera chat
+  * Fix libretro info file loading
+  * Let pipewire users toggle "Reduce PulseAudio latency"
+
+-------------------------------------------------------------------

Old:
----
  lutris_0.5.8.3.tar.xz

New:
----
  lutris_0.5.8.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lutris.spec ++++++
--- /var/tmp/diff_new_pack.jfKZJx/_old  2021-07-05 22:23:24.725521320 +0200
+++ /var/tmp/diff_new_pack.jfKZJx/_new  2021-07-05 22:23:24.729521289 +0200
@@ -18,7 +18,7 @@
 
 %global appid net.lutris.Lutris
 Name:           lutris
-Version:        0.5.8.3
+Version:        0.5.8.4
 Release:        0
 Summary:        Manager for game installation and execution
 License:        GPL-3.0-or-later

++++++ lutris_0.5.8.3.tar.xz -> lutris_0.5.8.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/README.rst new/lutris/README.rst
--- old/lutris/README.rst       2021-01-22 22:41:46.000000000 +0100
+++ new/lutris/README.rst       2021-07-03 02:55:48.000000000 +0200
@@ -126,7 +126,7 @@
 You can always reach us on:
 
 * Discord: https://discordapp.com/invite/Pnt5CuY
-* IRC: #lutris on the Freenode servers
+* IRC: ircs://irc.libera.chat:6697/lutris
 * Github: https://github.com/lutris
 * Twitter: https://twitter.com/LutrisGaming
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/debian/changelog new/lutris/debian/changelog
--- old/lutris/debian/changelog 2021-01-23 01:24:51.000000000 +0100
+++ new/lutris/debian/changelog 2021-07-03 05:06:23.000000000 +0200
@@ -1,3 +1,18 @@
+lutris (0.5.8.4) groovy; urgency=medium
+
+  * Fix Steam icon showing too big on some systems
+  * Fix DXVK not updating
+  * Fix Python 3.9 compatibility
+  * Update sidebar on service login
+  * Remember position of window except on Wayland maybe
+  * GST plugin path is now only set if it exists
+  * Default to 7zip when not given an archive extractor
+  * Switch IRC to Libera chat
+  * Fix libretro info file loading
+  * Let pipewire users toggle "Reduce PulseAudio latency" 
+
+ -- Mathieu Comandon <stri...@strycore.com>  Fri, 02 Jul 2021 20:06:23 -0700
+
 lutris (0.5.8.3) groovy; urgency=medium
 
   * Really fix popovers not showing on Wayland without making them non-modal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/__init__.py 
new/lutris/lutris/__init__.py
--- old/lutris/lutris/__init__.py       2021-01-23 01:24:51.000000000 +0100
+++ new/lutris/lutris/__init__.py       2021-07-03 05:06:23.000000000 +0200
@@ -1,3 +1,3 @@
 """Main Lutris package"""
 
-__version__ = "0.5.8.3"
+__version__ = "0.5.8.4"
Binary files old/lutris/lutris/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/api.cpython-38.pyc and 
new/lutris/lutris/__pycache__/api.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/cache.cpython-38.pyc and 
new/lutris/lutris/__pycache__/cache.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/command.cpython-38.pyc and 
new/lutris/lutris/__pycache__/command.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/config.cpython-38.pyc and 
new/lutris/lutris/__pycache__/config.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/discord.cpython-38.pyc and 
new/lutris/lutris/__pycache__/discord.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/exceptions.cpython-38.pyc and 
new/lutris/lutris/__pycache__/exceptions.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/game.cpython-38.pyc and 
new/lutris/lutris/__pycache__/game.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/game_actions.cpython-38.pyc and 
new/lutris/lutris/__pycache__/game_actions.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/platforms.cpython-38.pyc and 
new/lutris/lutris/__pycache__/platforms.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/runner_interpreter.cpython-38.pyc 
and new/lutris/lutris/__pycache__/runner_interpreter.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/runtime.cpython-38.pyc and 
new/lutris/lutris/__pycache__/runtime.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/settings.cpython-38.pyc and 
new/lutris/lutris/__pycache__/settings.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/startup.cpython-38.pyc and 
new/lutris/lutris/__pycache__/startup.cpython-38.pyc differ
Binary files old/lutris/lutris/__pycache__/sysoptions.cpython-38.pyc and 
new/lutris/lutris/__pycache__/sysoptions.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/categories.cpython-38.pyc 
and new/lutris/lutris/database/__pycache__/categories.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/games.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/games.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/schema.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/schema.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/services.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/services.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/sources.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/sources.cpython-38.pyc differ
Binary files old/lutris/lutris/database/__pycache__/sql.cpython-38.pyc and 
new/lutris/lutris/database/__pycache__/sql.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/game.py new/lutris/lutris/game.py
--- old/lutris/lutris/game.py   2020-12-29 04:26:51.000000000 +0100
+++ new/lutris/lutris/game.py   2021-07-03 03:01:47.000000000 +0200
@@ -173,7 +173,7 @@
             if filename:
                 message_text = _("The file {} could not be 
found").format(filename.replace("&", "&amp;"))
             else:
-                message_text = _("No file provided")
+                message_text = _("This game has no executable set. The install 
process didn't finish properly.")
             dialogs.ErrorDialog(message_text)
         elif message["error"] == "NOT_EXECUTABLE":
             message_text = message["file"].replace("&", "&amp;")
Binary files old/lutris/lutris/gui/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/gui/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/__pycache__/application.cpython-38.pyc and 
new/lutris/lutris/gui/__pycache__/application.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/__pycache__/installerwindow.cpython-38.pyc 
and new/lutris/lutris/gui/__pycache__/installerwindow.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/__pycache__/lutriswindow.cpython-38.pyc and 
new/lutris/lutris/gui/__pycache__/lutriswindow.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/gui/config/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/add_game.cpython-38.pyc 
and new/lutris/lutris/gui/config/__pycache__/add_game.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/base_config_box.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/base_config_box.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/boxes.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/boxes.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/common.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/common.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/edit_game.cpython-38.pyc 
and new/lutris/lutris/gui/config/__pycache__/edit_game.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/preferences_box.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/preferences_box.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/preferences_dialog.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/preferences_dialog.cpython-38.pyc 
differ
Binary files old/lutris/lutris/gui/config/__pycache__/runner.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/runner.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/runner_box.cpython-38.pyc 
and new/lutris/lutris/gui/config/__pycache__/runner_box.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/runners_box.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/runners_box.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/services_box.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/services_box.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/config/__pycache__/sysinfo_box.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/sysinfo_box.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/config/__pycache__/system.cpython-38.pyc and 
new/lutris/lutris/gui/config/__pycache__/system.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/gui/dialogs/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/cache.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/cache.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/download.cpython-38.pyc 
and new/lutris/lutris/gui/dialogs/__pycache__/download.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/issue.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/issue.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/log.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/log.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/dialogs/__pycache__/runner_install.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/runner_install.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/dialogs/__pycache__/runners.cpython-38.pyc 
and new/lutris/lutris/gui/dialogs/__pycache__/runners.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/dialogs/__pycache__/uninstall_game.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/uninstall_game.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/dialogs/__pycache__/webconnect_dialog.cpython-38.pyc and 
new/lutris/lutris/gui/dialogs/__pycache__/webconnect_dialog.cpython-38.pyc 
differ
Binary files 
old/lutris/lutris/gui/installer/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/gui/installer/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/installer/__pycache__/file_box.cpython-38.pyc and 
new/lutris/lutris/gui/installer/__pycache__/file_box.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/installer/__pycache__/files_box.cpython-38.pyc and 
new/lutris/lutris/gui/installer/__pycache__/files_box.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/installer/__pycache__/picker.cpython-38.pyc 
and new/lutris/lutris/gui/installer/__pycache__/picker.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/installer/__pycache__/script_box.cpython-38.pyc and 
new/lutris/lutris/gui/installer/__pycache__/script_box.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/installer/__pycache__/widgets.cpython-38.pyc 
and new/lutris/lutris/gui/installer/__pycache__/widgets.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/gui/installer/files_box.py 
new/lutris/lutris/gui/installer/files_box.py
--- old/lutris/lutris/gui/installer/files_box.py        2021-01-05 
01:36:12.000000000 +0100
+++ new/lutris/lutris/gui/installer/files_box.py        2021-07-03 
03:04:53.000000000 +0200
@@ -40,11 +40,14 @@
         of simultaneously downloaded files down to a maximum number"""
         started_downloads = 0
         for file_id in self.installer_files_boxes:
-            started_downloads += 1
-            if started_downloads <= self.max_downloads or 
self.installer_files_boxes[file_id].provider == "pga":
-                self.installer_files_boxes[file_id].start()
+            if self.installer_files_boxes[file_id].provider == "download":
+                started_downloads += 1
+                if started_downloads <= self.max_downloads:
+                    self.installer_files_boxes[file_id].start()
+                else:
+                    self._file_queue.append(file_id)
             else:
-                self._file_queue.append(file_id)
+                self.installer_files_boxes[file_id].start()
 
     @property
     def is_ready(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/gui/lutriswindow.py 
new/lutris/lutris/gui/lutriswindow.py
--- old/lutris/lutris/gui/lutriswindow.py       2021-01-23 00:18:02.000000000 
+0100
+++ new/lutris/lutris/gui/lutriswindow.py       2021-07-03 02:57:29.000000000 
+0200
@@ -73,7 +73,10 @@
         update_desktop_icons()
         load_icon_theme()
         self.application = application
-
+        self.window_x = settings.read_setting("window_x")
+        self.window_y = settings.read_setting("window_y")
+        if self.window_x and self.window_y:
+            self.move(int(self.window_x), int(self.window_y))
         self.threads_stoppers = []
         self.window_size = (width, height)
         self.maximized = settings.read_setting("maximized") == "True"
@@ -88,6 +91,7 @@
         self.view = Gtk.Box()
 
         self.connect("delete-event", self.on_window_delete)
+        self.connect("configure-event", self.on_window_configure)
         self.connect("realize", self.on_load)
         if self.maximized:
             self.maximize()
@@ -626,6 +630,10 @@
             self.hide()
             return True
 
+    def on_window_configure(self, *_args):
+        """Callback triggered when the window is moved, resized..."""
+        self.window_x, self.window_y = self.get_position()
+
     @GtkTemplate.Callback
     def on_destroy(self, *_args):
         """Signal for window close."""
@@ -637,6 +645,9 @@
         width, height = self.window_size
         settings.write_setting("width", width)
         settings.write_setting("height", height)
+        if self.window_x and self.window_y:
+            settings.write_setting("window_x", self.window_x)
+            settings.write_setting("window_y", self.window_y)
         settings.write_setting("maximized", self.maximized)
 
     @GtkTemplate.Callback
Binary files old/lutris/lutris/gui/views/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/gui/views/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/base.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/base.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/grid.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/grid.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/list.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/list.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/views/__pycache__/media_loader.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/media_loader.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/menu.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/menu.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/store.cpython-38.pyc and 
new/lutris/lutris/gui/views/__pycache__/store.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/views/__pycache__/store_item.cpython-38.pyc 
and new/lutris/lutris/gui/views/__pycache__/store_item.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/cellrenderers.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/cellrenderers.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/common.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/common.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/contextual_menu.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/contextual_menu.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/download_progress.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/download_progress.cpython-38.pyc 
differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/download_progress_box.cpython-38.pyc 
and 
new/lutris/lutris/gui/widgets/__pycache__/download_progress_box.cpython-38.pyc 
differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/game_bar.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/game_bar.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/gi_composites.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/gi_composites.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/installer.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/installer.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/log_text_view.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/log_text_view.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/notifications.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/notifications.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/searchable_combobox.cpython-38.pyc 
and 
new/lutris/lutris/gui/widgets/__pycache__/searchable_combobox.cpython-38.pyc 
differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/services.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/services.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/sidebar.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/sidebar.cpython-38.pyc differ
Binary files 
old/lutris/lutris/gui/widgets/__pycache__/status_icon.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/status_icon.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/utils.cpython-38.pyc and 
new/lutris/lutris/gui/widgets/__pycache__/utils.cpython-38.pyc differ
Binary files old/lutris/lutris/gui/widgets/__pycache__/window.cpython-38.pyc 
and new/lutris/lutris/gui/widgets/__pycache__/window.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/gui/widgets/sidebar.py 
new/lutris/lutris/gui/widgets/sidebar.py
--- old/lutris/lutris/gui/widgets/sidebar.py    2020-12-24 21:57:57.000000000 
+0100
+++ new/lutris/lutris/gui/widgets/sidebar.py    2021-07-03 03:00:06.000000000 
+0200
@@ -230,6 +230,16 @@
         self.show_all()
 
 
+class DummyRow():
+    """Dummy class for rows that may not be initialized."""
+
+    def show(self):
+        """Dummy method for showing the row"""
+
+    def hide(self):
+        """Dummy method for hiding the row"""
+
+
 class LutrisSidebar(Gtk.ListBox):
     __gtype_name__ = "LutrisSidebar"
 
@@ -261,7 +271,8 @@
         GObject.add_emission_hook(Game, "game-stop", self.on_game_stop)
         GObject.add_emission_hook(Game, "game-updated", self.update)
         GObject.add_emission_hook(Game, "game-removed", self.update)
-        GObject.add_emission_hook(BaseService, "service-logout", 
self.on_service_logout)
+        GObject.add_emission_hook(BaseService, "service-login", 
self.on_service_auth_changed)
+        GObject.add_emission_hook(BaseService, "service-logout", 
self.on_service_auth_changed)
         GObject.add_emission_hook(BaseService, "service-games-load", 
self.on_service_games_updating)
         GObject.add_emission_hook(BaseService, "service-games-loaded", 
self.on_service_games_updated)
         self.connect("realize", self.on_realize)
@@ -383,7 +394,7 @@
             self.running_row.hide()
         return True
 
-    def on_service_logout(self, service):
+    def on_service_auth_changed(self, service):
         self.service_rows[service.id].create_button_box()
         self.service_rows[service.id].update_buttons()
         return True
Binary files old/lutris/lutris/installer/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/installer/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/installer/__pycache__/commands.cpython-38.pyc 
and new/lutris/lutris/installer/__pycache__/commands.cpython-38.pyc differ
Binary files old/lutris/lutris/installer/__pycache__/errors.cpython-38.pyc and 
new/lutris/lutris/installer/__pycache__/errors.cpython-38.pyc differ
Binary files old/lutris/lutris/installer/__pycache__/installer.cpython-38.pyc 
and new/lutris/lutris/installer/__pycache__/installer.cpython-38.pyc differ
Binary files 
old/lutris/lutris/installer/__pycache__/installer_file.cpython-38.pyc and 
new/lutris/lutris/installer/__pycache__/installer_file.cpython-38.pyc differ
Binary files old/lutris/lutris/installer/__pycache__/interpreter.cpython-38.pyc 
and new/lutris/lutris/installer/__pycache__/interpreter.cpython-38.pyc differ
Binary files old/lutris/lutris/installer/__pycache__/legacy.cpython-38.pyc and 
new/lutris/lutris/installer/__pycache__/legacy.cpython-38.pyc differ
Binary files 
old/lutris/lutris/installer/__pycache__/steam_installer.cpython-38.pyc and 
new/lutris/lutris/installer/__pycache__/steam_installer.cpython-38.pyc differ
Binary files old/lutris/lutris/migrations/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/migrations/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/atari800.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/atari800.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/browser.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/browser.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/dolphin.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/dolphin.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/dosbox.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/dosbox.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/easyrpg.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/easyrpg.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/fsuae.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/fsuae.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/hatari.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/hatari.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/json.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/json.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/jzintv.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/jzintv.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/libretro.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/libretro.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/linux.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/linux.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/mame.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/mame.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/mednafen.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/mednafen.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/mupen64plus.cpython-38.pyc 
and new/lutris/lutris/runners/__pycache__/mupen64plus.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/o2em.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/o2em.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/osmose.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/osmose.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/pcsx2.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/pcsx2.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/pico8.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/pico8.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/redream.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/redream.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/reicast.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/reicast.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/residualvm.cpython-38.pyc 
and new/lutris/lutris/runners/__pycache__/residualvm.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/rpcs3.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/rpcs3.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/runner.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/runner.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/scummvm.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/scummvm.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/snes9x.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/snes9x.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/steam.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/steam.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/vice.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/vice.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/web.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/web.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/wine.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/wine.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/winesteam.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/winesteam.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/yuzu.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/yuzu.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/__pycache__/zdoom.cpython-38.pyc and 
new/lutris/lutris/runners/__pycache__/zdoom.cpython-38.pyc differ
Binary files 
old/lutris/lutris/runners/commands/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/runners/commands/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/runners/commands/__pycache__/dosbox.cpython-38.pyc and 
new/lutris/lutris/runners/commands/__pycache__/dosbox.cpython-38.pyc differ
Binary files old/lutris/lutris/runners/commands/__pycache__/wine.cpython-38.pyc 
and new/lutris/lutris/runners/commands/__pycache__/wine.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/runners/libretro.py 
new/lutris/lutris/runners/libretro.py
--- old/lutris/lutris/runners/libretro.py       2020-12-03 08:17:57.000000000 
+0100
+++ new/lutris/lutris/runners/libretro.py       2021-07-03 02:54:41.000000000 
+0200
@@ -20,35 +20,42 @@
     return os.path.join(settings.RUNNER_DIR, "retroarch", path)
 
 
+def get_libretro_cores():
+    cores = []
+    runner_path = get_default_config_path()
+    if os.path.exists(runner_path):
+        # Get core identifiers from info dir
+        info_path = get_default_config_path("info")
+        if not os.path.exists(info_path):
+            req = 
requests.get("http://buildbot.libretro.com/assets/frontend/info.zip";, 
allow_redirects=True)
+            if req.status_code == requests.codes.ok:  # pylint: 
disable=no-member
+                open(get_default_config_path('info.zip'), 
'wb').write(req.content)
+                with ZipFile(get_default_config_path('info.zip'), 'r') as 
info_zip:
+                    info_zip.extractall(info_path)
+            else:
+                logger.error("Error retrieving libretro info archive from 
server: %s - %s", req.status_code, req.reason)
+        # Parse info files to fetch display name and platform/system
+        if os.path.exists(info_path):
+            for info_file in os.listdir(info_path):
+                if "_libretro.info" not in info_file:
+                    continue
+                core_identifier = info_file.replace("_libretro.info", "")
+                core_config = RetroConfig(os.path.join(info_path, info_file))
+                if "categories" in core_config.keys() and "Emulator" in 
core_config["categories"]:
+                    core_label = core_config["display_name"] or ""
+                    core_system = core_config["systemname"] or ""
+                    cores.append((core_label, core_identifier, core_system))
+            cores.sort(key=itemgetter(0))
+    if not cores:
+        logger.warning("No cores found")
+    return cores
+
+
 # List of supported libretro cores
 # First element is the human readable name for the core with the platform's 
short name
 # Second element is the core identifier
 # Third element is the platform's long name
-LIBRETRO_CORES = []
-runner_path = get_default_config_path()
-if os.path.exists(runner_path):
-    # Get core identifiers from info dir
-    info_path = get_default_config_path("info")
-    if not os.path.exists(info_path):
-        req = 
requests.get("http://buildbot.libretro.com/assets/frontend/info.zip";, 
allow_redirects=True)
-        if req.status_code == requests.codes.ok:  # pylint: disable=no-member
-            open(get_default_config_path('info.zip'), 'wb').write(req.content)
-            with ZipFile(get_default_config_path('info.zip'), 'r') as info_zip:
-                info_zip.extractall(info_path)
-        else:
-            logger.error("Error retrieving libretro info archive from server: 
%s - %s", req.status_code, req.reason)
-    # Parse info files to fetch display name and platform/system
-    if os.path.exists(info_path):
-        with os.scandir(info_path) as it:
-            for entry in it:
-                if entry.is_file():
-                    core_identifier = entry.name.replace("_libretro.info", "")
-                    core_config = RetroConfig(entry)
-                    if "categories" in core_config.keys() and "Emulator" in 
core_config["categories"]:
-                        core_label = core_config["display_name"] or ""
-                        core_system = core_config["systemname"] or ""
-                        LIBRETRO_CORES.append((core_label, core_identifier, 
core_system))
-            LIBRETRO_CORES.sort(key=itemgetter(0))
+LIBRETRO_CORES = get_libretro_cores()
 
 
 def get_core_choices():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/runners/wine.py 
new/lutris/lutris/runners/wine.py
--- old/lutris/lutris/runners/wine.py   2021-01-23 01:24:51.000000000 +0100
+++ new/lutris/lutris/runners/wine.py   2021-07-03 03:01:27.000000000 +0200
@@ -876,11 +876,10 @@
         env["WINEARCH"] = self.wine_arch
         env["WINE"] = self.get_executable()
         if is_gstreamer_build(self.get_executable()):
-            env["GST_PLUGIN_SYSTEM_PATH_1_0"] = (
-                os.path.join(WINE_DIR, self.get_version(), 
"lib64/gstreamer-1.0/")
-                + ":"
-                + os.path.join(WINE_DIR, self.get_version(), 
"lib/gstreamer-1.0/")
-            )
+            path_64 = os.path.join(WINE_DIR, self.get_version(), 
"lib64/gstreamer-1.0/")
+            path_32 = os.path.join(WINE_DIR, self.get_version(), 
"lib/gstreamer-1.0/")
+            if os.path.exists(path_64) or os.path.exists(path_32):
+                env["GST_PLUGIN_SYSTEM_PATH_1_0"] = path_64 + ":" + path_32
         if self.prefix_path:
             env["WINEPREFIX"] = self.prefix_path
 
@@ -893,8 +892,13 @@
         # On AMD, mimic the video memory management behavior of Windows DX12
         # drivers more closely, otherwise d3d12 games will crash and have other
         # funky issues.
+        # RADV_DEBUG is a comma separated list. If it is already set, we want 
to
+        # append to it.
         if self.runner_config.get("dxvk") and drivers.is_amd():
-            env["RADV_DEBUG"] = "zerovram"
+            if "RADV_DEBUG" not in env or not env["RADV_DEBUG"]:
+                env["RADV_DEBUG"] = "zerovram"
+            elif "zerovram" not in env["RADV_DEBUG"]:
+                env["RADV_DEBUG"] += ",zerovram"
 
         overrides = self.get_dll_overrides()
         if overrides:
Binary files old/lutris/lutris/scanners/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/scanners/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/scanners/__pycache__/lutris.cpython-38.pyc and 
new/lutris/lutris/scanners/__pycache__/lutris.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/base.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/base.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/battlenet.cpython-38.pyc 
and new/lutris/lutris/services/__pycache__/battlenet.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/bethesda.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/bethesda.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/dolphin.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/dolphin.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/egs.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/egs.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/gog.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/gog.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/humblebundle.cpython-38.pyc 
and new/lutris/lutris/services/__pycache__/humblebundle.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/itchio.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/itchio.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/lutris.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/lutris.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/mame.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/mame.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/origin.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/origin.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/service_game.cpython-38.pyc 
and new/lutris/lutris/services/__pycache__/service_game.cpython-38.pyc differ
Binary files 
old/lutris/lutris/services/__pycache__/service_media.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/service_media.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/steam.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/steam.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/steamwindows.cpython-38.pyc 
and new/lutris/lutris/services/__pycache__/steamwindows.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/ubisoft.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/ubisoft.cpython-38.pyc differ
Binary files old/lutris/lutris/services/__pycache__/xdg.cpython-38.pyc and 
new/lutris/lutris/services/__pycache__/xdg.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/services/steam.py 
new/lutris/lutris/services/steam.py
--- old/lutris/lutris/services/steam.py 2020-11-27 23:18:53.000000000 +0100
+++ new/lutris/lutris/services/steam.py 2021-07-03 03:04:37.000000000 +0200
@@ -81,8 +81,7 @@
 
     id = "steam"
     name = _("Steam")
-    icon = "steam"
-    online = False
+    icon = "steam-client"
     medias = {
         "banner": SteamBanner,
         "banner_large": SteamBannerLarge,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/settings.py 
new/lutris/lutris/settings.py
--- old/lutris/lutris/settings.py       2020-10-19 14:35:58.000000000 +0200
+++ new/lutris/lutris/settings.py       2021-07-03 03:02:13.000000000 +0200
@@ -30,6 +30,7 @@
 PGA_DB = sio.read_setting("pga_path") or os.path.join(DATA_DIR, "pga.db")
 SITE_URL = sio.read_setting("website") or "https://lutris.net";
 
+DRIVER_HOWTO_URL = 
"https://github.com/lutris/docs/blob/master/InstallingDrivers.md";
 INSTALLER_URL = SITE_URL + "/api/installers/%s"
 # XXX change this, should query on the installer, not the game.
 INSTALLER_REVISION_URL = SITE_URL + "/api/installers/games/%s/revisions/%s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/startup.py new/lutris/lutris/startup.py
--- old/lutris/lutris/startup.py        2021-01-05 03:40:54.000000000 +0100
+++ new/lutris/lutris/startup.py        2021-07-03 03:02:13.000000000 +0200
@@ -76,11 +76,15 @@
             DontShowAgainDialog(
                 setting,
                 _("Your NVIDIA driver is outdated."),
-                secondary_message=_("You are currently running driver %s which 
does not "
-                                    "fully support all features for Vulkan and 
DXVK games.\n"
-                                    "Please upgrade your driver as described 
in our "
-                                    "<a 
href='https://github.com/lutris/lutris/wiki/Installing-drivers'>"
-                                    "installation guide</a>") % 
driver_info["nvrm"]["version"],
+                secondary_message=_(
+                    "You are currently running driver %s which does not "
+                    "fully support all features for Vulkan and DXVK games.\n"
+                    "Please upgrade your driver as described in our "
+                    "<a href='%s'>installation guide</a>"
+                ) % (
+                    driver_info["nvrm"]["version"],
+                    settings.DRIVER_HOWTO_URL,
+                )
             )
 
 
@@ -105,12 +109,16 @@
             DontShowAgainDialog(
                 setting,
                 _("Missing vulkan libraries"),
-                secondary_message=_("Lutris was unable to detect Vulkan 
support for "
-                                    "the %s architecture.\n"
-                                    "This will prevent many games and programs 
from working.\n"
-                                    "To install it, please use the following 
guide: "
-                                    "<a 
href='https://github.com/lutris/lutris/wiki/Installing-drivers'>"
-                                    "Installing Graphics Drivers</a>") % _(" 
and ").join(missing_vulkan_libs),
+                secondary_message=_(
+                    "Lutris was unable to detect Vulkan support for "
+                    "the %s architecture.\n"
+                    "This will prevent many games and programs from working.\n"
+                    "To install it, please use the following guide: "
+                    "<a href='%s'>Installing Graphics Drivers</a>"
+                ) % (
+                    _(" and ").join(missing_vulkan_libs),
+                    settings.DRIVER_HOWTO_URL,
+                )
             )
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/sysoptions.py 
new/lutris/lutris/sysoptions.py
--- old/lutris/lutris/sysoptions.py     2020-12-03 08:17:57.000000000 +0100
+++ new/lutris/lutris/sysoptions.py     2021-07-03 02:50:21.000000000 +0200
@@ -182,7 +182,7 @@
         "label": _("Reduce PulseAudio latency"),
         "default": False,
         "advanced": True,
-        "condition": system.find_executable("pulseaudio"),
+        "condition": system.find_executable("pulseaudio") or 
system.find_executable("pipewire-pulse"),
         "help": _("Set the environment variable PULSE_LATENCY_MSEC=60 "
                   "to improve audio quality on some games"),
     },
Binary files old/lutris/lutris/util/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/audio.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/audio.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/cookies.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/cookies.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/datapath.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/datapath.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/disks.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/disks.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/display.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/display.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/downloader.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/downloader.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/extract.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/extract.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/fileio.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/fileio.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/game_finder.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/game_finder.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/gamecontrollerdb.cpython-38.pyc 
and new/lutris/lutris/util/__pycache__/gamecontrollerdb.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/http.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/http.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/i18n.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/i18n.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/jobs.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/jobs.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/joypad.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/joypad.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/libretro.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/libretro.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/linux.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/linux.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/log.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/log.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/monitor.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/monitor.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/process.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/process.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/process_watcher.cpython-38.pyc 
and new/lutris/lutris/util/__pycache__/process_watcher.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/resources.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/resources.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/settings.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/settings.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/shell.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/shell.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/strings.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/strings.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/system.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/system.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/test_config.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/test_config.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/timer.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/timer.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/xdgshortcuts.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/xdgshortcuts.cpython-38.pyc differ
Binary files old/lutris/lutris/util/__pycache__/yaml.cpython-38.pyc and 
new/lutris/lutris/util/__pycache__/yaml.cpython-38.pyc differ
Binary files old/lutris/lutris/util/dolphin/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/util/dolphin/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/util/dolphin/__pycache__/cache_reader.cpython-38.pyc and 
new/lutris/lutris/util/dolphin/__pycache__/cache_reader.cpython-38.pyc differ
Binary files old/lutris/lutris/util/egs/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/util/egs/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/util/egs/__pycache__/egs_launcher.cpython-38.pyc 
and new/lutris/lutris/util/egs/__pycache__/egs_launcher.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/util/extract.py 
new/lutris/lutris/util/extract.py
--- old/lutris/lutris/util/extract.py   2020-12-23 22:03:21.000000000 +0100
+++ new/lutris/lutris/util/extract.py   2021-07-03 02:56:27.000000000 +0200
@@ -63,6 +63,7 @@
         "wim",
         "xar",
         "z",
+        "auto",
     )
     if extractor:
         return extractor.lower() in supported_extractors
@@ -88,10 +89,8 @@
         extractor = "exe"
     elif path.endswith(".deb"):
         extractor = "deb"
-    elif is_7zip_supported(path, None):
-        extractor = None
     else:
-        raise RuntimeError("Could not extract `%s` - no appropriate extractor 
found" % path)
+        extractor = None
     return extractor
 
 
@@ -114,10 +113,8 @@
         opener = "exe"
     elif extractor == "deb":
         opener = "deb"
-    elif extractor is None or is_7zip_supported(path, extractor):
-        opener = "7zip"
     else:
-        raise RuntimeError("Could not extract `%s` - unknown format specified" 
% path)
+        opener = "7zip"
     return opener, mode
 
 
@@ -293,6 +290,6 @@
     if not system.path_exists(_7zip_path):
         raise OSError("7zip is not found in the lutris runtime or on the 
system")
     command = [_7zip_path, "x", path, "-o{}".format(dest), "-aoa"]
-    if archive_type:
+    if archive_type and archive_type != "auto":
         command.append("-t{}".format(archive_type))
     subprocess.call(command)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/util/game_finder.py 
new/lutris/lutris/util/game_finder.py
--- old/lutris/lutris/util/game_finder.py       2021-01-05 04:08:08.000000000 
+0100
+++ new/lutris/lutris/util/game_finder.py       2021-07-03 03:02:34.000000000 
+0200
@@ -12,13 +12,15 @@
     magic = None
 
 
-if not hasattr(magic, "from_file"):
-    if hasattr(magic, "detect_from_filename"):
-        magic.from_file = magic.detect_from_filename  # pylint: 
disable=no-member
-        MAGIC_AVAILABLE = True
-    else:
-        logger.error("Your version of python-magic is too old.")
-        MAGIC_AVAILABLE = False
+if not MAGIC_AVAILABLE:
+    logger.error("Magic not available. Unable to automatically find game 
executables. Please install python-magic")
+else:
+    if not hasattr(magic, "from_file"):
+        if hasattr(magic, "detect_from_filename"):
+            magic.from_file = lambda f: magic.detect_from_filename(f).name  # 
pylint: disable=no-member
+        else:
+            logger.error("Your version of python-magic is too old.")
+            MAGIC_AVAILABLE = False
 
 
 def is_excluded_elf(filename):
Binary files 
old/lutris/lutris/util/graphics/__pycache__/__init__.cpython-38.pyc and 
new/lutris/lutris/util/graphics/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/util/graphics/__pycache__/displayconfig.cpython-38.pyc and 
new/lutris/lutris/util/graphics/__pycache__/displayconfig.cpython-38.pyc differ
Binary files old/lutris/lutris/util/graphics/__pycache__/drivers.cpython-38.pyc 
and new/lutris/lutris/util/graphics/__pycache__/drivers.cpython-38.pyc differ
Binary files old/lutris/lutris/util/graphics/__pycache__/glxinfo.cpython-38.pyc 
and new/lutris/lutris/util/graphics/__pycache__/glxinfo.cpython-38.pyc differ
Binary files old/lutris/lutris/util/graphics/__pycache__/vkquery.cpython-38.pyc 
and new/lutris/lutris/util/graphics/__pycache__/vkquery.cpython-38.pyc differ
Binary files old/lutris/lutris/util/graphics/__pycache__/xephyr.cpython-38.pyc 
and new/lutris/lutris/util/graphics/__pycache__/xephyr.cpython-38.pyc differ
Binary files old/lutris/lutris/util/graphics/__pycache__/xrandr.cpython-38.pyc 
and new/lutris/lutris/util/graphics/__pycache__/xrandr.cpython-38.pyc differ
Binary files old/lutris/lutris/util/mame/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/util/mame/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/util/mame/__pycache__/database.cpython-38.pyc 
and new/lutris/lutris/util/mame/__pycache__/database.cpython-38.pyc differ
Binary files old/lutris/lutris/util/steam/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/util/steam/__pycache__/__init__.cpython-38.pyc differ
Binary files 
old/lutris/lutris/util/steam/__pycache__/appmanifest.cpython-38.pyc and 
new/lutris/lutris/util/steam/__pycache__/appmanifest.cpython-38.pyc differ
Binary files old/lutris/lutris/util/steam/__pycache__/config.cpython-38.pyc and 
new/lutris/lutris/util/steam/__pycache__/config.cpython-38.pyc differ
Binary files old/lutris/lutris/util/steam/__pycache__/log.cpython-38.pyc and 
new/lutris/lutris/util/steam/__pycache__/log.cpython-38.pyc differ
Binary files old/lutris/lutris/util/steam/__pycache__/vdf.cpython-38.pyc and 
new/lutris/lutris/util/steam/__pycache__/vdf.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/__init__.cpython-38.pyc 
and new/lutris/lutris/util/wine/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/cabinstall.cpython-38.pyc 
and new/lutris/lutris/util/wine/__pycache__/cabinstall.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/dxvk.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/dxvk.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/fsync.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/fsync.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/nine.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/nine.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/prefix.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/prefix.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/registry.cpython-38.pyc 
and new/lutris/lutris/util/wine/__pycache__/registry.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/wine.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/wine.cpython-38.pyc differ
Binary files old/lutris/lutris/util/wine/__pycache__/x360ce.cpython-38.pyc and 
new/lutris/lutris/util/wine/__pycache__/x360ce.cpython-38.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/util/wine/cabinstall.py 
new/lutris/lutris/util/wine/cabinstall.py
--- old/lutris/lutris/util/wine/cabinstall.py   2020-05-30 04:31:36.000000000 
+0200
+++ new/lutris/lutris/util/wine/cabinstall.py   2021-07-03 03:01:11.000000000 
+0200
@@ -124,7 +124,7 @@
         arch = self.get_arch_from_manifest(root)
         registry_keys = 
root.findall("{urn:schemas-microsoft-com:asm.v3}registryKeys")
         if registry_keys:
-            for registry_key in registry_keys[0].getchildren():
+            for registry_key in list(registry_keys[0]):
                 key = self.process_key(registry_key.attrib["keyName"])
                 out += "[%s]\n" % key
                 for reg_value in 
registry_key.findall("{urn:schemas-microsoft-com:asm.v3}registryValue"):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris/util/wine/dxvk.py 
new/lutris/lutris/util/wine/dxvk.py
--- old/lutris/lutris/util/wine/dxvk.py 2021-01-15 22:41:29.000000000 +0100
+++ new/lutris/lutris/util/wine/dxvk.py 2021-07-03 03:01:59.000000000 +0200
@@ -19,7 +19,7 @@
         os.mkdir(dxvk_path)
     versions_path = os.path.join(dxvk_path, "dxvk_versions.json")
     logger.info("Downloading DXVK releases to %s", versions_path)
-    return download_file(DXVK_RELEASES_URL, versions_path)
+    return download_file(DXVK_RELEASES_URL, versions_path, overwrite=True)
 
 
 class UnavailableDXVKVersion(RuntimeError):
@@ -66,7 +66,15 @@
         if not system.path_exists(versions_path):
             return []
         with open(versions_path, "r") as dxvk_version_file:
-            dxvk_versions = [v["tag_name"] for v in 
json.load(dxvk_version_file)]
+            try:
+                dxvk_versions = [v["tag_name"] for v in 
json.load(dxvk_version_file)]
+            except KeyError:
+                logger.warning(
+                    "Invalid versions file %s, deleting so it is downloaded on 
next start.",
+                    versions_path
+                )
+                os.remove(versions_path)
+                return []
         return dxvk_versions
 
     @staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/lutris.spec new/lutris/lutris.spec
--- old/lutris/lutris.spec      2021-01-23 01:24:51.000000000 +0100
+++ new/lutris/lutris.spec      2021-07-03 05:06:23.000000000 +0200
@@ -6,7 +6,7 @@
 %global appid net.lutris.Lutris
 
 Name:           lutris
-Version:        0.5.8.3
+Version:        0.5.8.4
 Release:        7%{?dist}
 Summary:        Install and play any video game easily
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/po/de.po new/lutris/po/de.po
--- old/lutris/po/de.po 2021-01-05 01:04:00.000000000 +0100
+++ new/lutris/po/de.po 2021-07-03 02:56:18.000000000 +0200
@@ -3988,7 +3988,7 @@
 
 #: lutris/runners/yuzu.py:14
 msgid "Yuzu"
-msgstr "Zuzu"
+msgstr "Yuzu"
 
 #: lutris/runners/yuzu.py:15
 msgid "Nintendo Switch"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lutris/share/metainfo/net.lutris.Lutris.metainfo.xml 
new/lutris/share/metainfo/net.lutris.Lutris.metainfo.xml
--- old/lutris/share/metainfo/net.lutris.Lutris.metainfo.xml    2021-01-23 
01:24:51.000000000 +0100
+++ new/lutris/share/metainfo/net.lutris.Lutris.metainfo.xml    2021-07-03 
05:06:23.000000000 +0200
@@ -24,7 +24,7 @@
   <url type="bugtracker">https://github.com/lutris/lutris/issues</url>
   <launchable type="desktop-id">net.lutris.Lutris.desktop</launchable>
   <releases>
-    <release date="2021-01-22" version="0.5.8.3" />
+    <release date="2021-07-02" version="0.5.8.4" />
   </releases>
   <content_rating type="oars-1.1" />
 </component>
Binary files old/lutris/tests/__pycache__/__init__.cpython-38.pyc and 
new/lutris/tests/__pycache__/__init__.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_dialogs.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_dialogs.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_installer.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_installer.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_lutris_wrapper.cpython-38.pyc 
and new/lutris/tests/__pycache__/test_lutris_wrapper.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_pga.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_pga.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_runners.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_runners.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_utils.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_utils.cpython-38.pyc differ
Binary files old/lutris/tests/__pycache__/test_wine.cpython-38.pyc and 
new/lutris/tests/__pycache__/test_wine.cpython-38.pyc differ

Reply via email to