Can't start any game after upgrading to Ubuntu 22

I upgrade from Ubuntu 20 to 22 today. After that, all my Wine games can’t start in Lutris with the same error message: ‘NoneType’ object has no attribute ‘lower’ and then ‘An error prevented the game from running’. I tried the following:

  1. Different lutris versions (7.2, 7.1)
  2. Reinstall my graphics card driver (driver ver 470 for my Nvidia Quadro K600)
  3. Reinstall Lutris.

But if I run wine PROGRAM.exe, I can start the game just fine. I researched online and it seemed to be related to python. My python version is 3.10 (the default one from ubuntu 22).

Please run Lutris from the command line:
lutris -d

And paste the contents in the Ubuntu pastebin.

(lutris:2386): Gtk-WARNING **: 21:13:55.035: Getting screensaver status failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell.ScreenShield was not provided by any .service files
DEBUG 2022-04-11 21:13:56,819 [grid.on_item_activated:57]:Item activated: 1
ERROR 2022-04-11 21:13:56,982 [jobs.target:36]:Error while completing task <bound method wine.prelaunch of <lutris.runners.wine.wine object at 0x7fd2daa43610>>: <class ‘AttributeError’> ‘NoneType’ object has no attribute ‘lower’
File “/usr/lib/python3/dist-packages/lutris/util/jobs.py”, line 34, in target
result = self.function(*args, **kwargs)
File “/usr/lib/python3/dist-packages/lutris/runners/wine.py”, line 819, in prelaunch
self.setup_dlls(
File “/usr/lib/python3/dist-packages/lutris/runners/wine.py”, line 776, in setup_dlls
if dll_manager.version.lower() != “manual”:
ERROR 2022-04-11 21:13:56,983 [game.configure_game:457]:‘NoneType’ object has no attribute ‘lower’

The line 819 is where dgvoodoo2 is called:

    self.setup_dlls(
        dgvoodoo2Manager,
        bool(self.runner_config.get("dgvoodoo2")),
        self.runner_config.get("dgvoodoo2_version")
    )

My dgvoodoo2 option is disabled though. Perhaps this is called regardless of whether this option is set to true or false?

You are right, there is an issue with the scripts or Python. You should try downloading the git, you can run it directly from the downloaded folder. Follow the instructions from the downloads page in lutris.net

You do not need to install Lutris to run it, cd in the source folder and run ./bin/lutris -d

Looking at the error, it would seem that the error triggered at line 776 was caused because the passed parameter is not an Object and was not tested or validated before being assigned. As it was not a valid object, it therefore is of NoneType and does not have a member method called lower() which can be called.

This looks like a bug in Lutris code to me. At the very least, it hasn’t validated the assigned objects are actual objects and used an error handler to try/catch before calling the method on an invalid assigned object (type checking, etc.).

Not sure if updating to Ubuntu actually broke something or simply exposed a pre-existing issue. For example, you say that the voodoo part is not enabled, and therefore shouldn’t be called. Maybe this is the error in that this section of code should not be called as there is no defined voodoo object and hence an error because we cannot create a dll_manager for this without it being defined.

Anyway, I’m mostly going by instinct here. I haven’t delved too deep into the code. I would however open a bug report though rather than simply trying the git code as I am not sure that would solve your problem.

Just my two cents.

Hi, I don’t know if you checked bu there was an issue.

That appears to be solved and will be solved in the 5.11 officially. For the time being you can download the master from the git repo and run it from the master.

All config and games will be there as it will use your local config.

Remember to report anybug in the bugtracker in git.

2 Likes

deleting the .cache/lutris folder and relaunching Lutris got the game installed without issue. I had previously uninstalled and deleted all wine and lutris mentions on the system, but I had forgotten about the .cache folder. So either something was corrupt in that folder or incompatible with the version I most recently installed with.

This came to light from the link posted above by owohnzimmer.