Hello
I’m trying to install Playstation Now using Lutris running inside a docker container, and it always fail with the following error message :
ERROR 2020-04-22 21:17:52,274 [jobs.target:32]:
Error while completing task <bound method wine.prelaunch of <lutris.runners.wine.wine object at 0x7fdbebf4dd90>>:
join() argument must be str or bytes, not 'NoneType'
<class 'TypeError'> join() argument must be str or bytes, not 'NoneType'
ERROR 2020-04-22 21:17:52,279 [game.configure_game:317]:
join() argument must be str or bytes, not 'NoneType'
I’m using a custom Ubuntu Docker image with the following Dockerfile :
FROM ubuntu:19.10
ARG USER_ID=1000
ARG USERNAME=abc
ARG DEBIAN_FRONTEND=noninteractive
# Update and install dependencies
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt -y dist-upgrade \
&& apt -y install --no-install-recommends \
wget xorg zenity gpg-agent software-properties-common xboxdrv pciutils \
libgl1 libvulkan1 libgl1-mesa-glx libgl1-mesa-dri libegl-mesa0 libegl1-mesa \
mesa-vulkan-drivers libasound2 libasound2-plugins pulseaudio-utils \
libgl1:i386 libvulkan1:i386 libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libegl-mesa0:i386 libegl1-mesa:i386 \
mesa-vulkan-drivers:i386 libasound2:i386 libasound2-plugins:i386 \
&& echo \
'default-server = unix:/run/user/$USER_ID$/pulse/native\n\
autospawn = no\n\
daemon-binary = /bin/true\n\
enable-shm = false\n' | sed 's/\$USER_ID\$/'${USER_ID}'/g' > /etc/pulse/client.conf \
&& useradd -u ${USER_ID} -m ${USERNAME} \
&& usermod -a -G audio,video,input ${USERNAME} \
&& rm -rf /var/lib/apt/lists/*
# Installing Lutris & Wine staging
RUN add-apt-repository ppa:lutris-team/lutris \
&& wget -nc https://dl.winehq.org/wine-builds/winehq.key \
&& apt-key add winehq.key \
&& apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/' \
&& apt update \
&& apt-get -y install --no-install-recommends lutris \
winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 \
&& wget -O /usr/local/bin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod a+x /usr/local/bin/winetricks \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /home/${USERNAME}
USER ${USERNAME}
CMD ["/usr/games/lutris", "-d"]
I start the container with the following command :
docker run --rm -e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri:/dev/dri \
-v /run/user/"$(id -u)"/pulse:/run/user/"$(id -u)"/pulse \
-v "$HOME/lutris":/home/abc \
--user="$(id -u):$(id -g)" \
lutris
And I get the following output :
INFO 2020-04-22 21:32:14,361 [application.do_command_line:245]:Running Lutris 0.5.6
INFO 2020-04-22 21:32:14,363 [startup.check_driver:62]:Using Intel Open Source Technology Center
INFO 2020-04-22 21:32:14,363 [startup.check_driver:67]:Running Mesa driver 19.2.8 on Mesa DRI Intel(R) HD Graphics 510 (Skylake GT1) (0x1902)
INFO 2020-04-22 21:32:14,363 [startup.check_driver:79]:GPU: 8086:1902 1458:D000 using i915 drivers
INFO 2020-04-22 21:32:14,387 [startup.check_vulkan:132]:Vulkan is supported
INFO 2020-04-22 21:32:14,388 [dxvk.get_dxvk_versions:22]:Updating DXVK versions
DEBUG 2020-04-22 21:32:14,590 [http.get:65]:GET https://lutris.net/api/runtime
INFO 2020-04-22 21:32:14,591 [lutriswindow.toggle_connection:642]:Connected to lutris.net as tchab
DEBUG 2020-04-22 21:32:14,592 [http.get:65]:GET https://lutris.net/api/games/library/tchab
DEBUG 2020-04-22 21:32:19,004 [interpreter.fetch_script:51]:Fetching installer https://lutris.net/api/installers/playstation-now
DEBUG 2020-04-22 21:32:19,004 [http.get:65]:GET https://lutris.net/api/installers/playstation-now
DEBUG 2020-04-22 21:32:20,126 [xrandr._get_vidmodes:16]:Retrieving video modes from XrandR
DEBUG 2020-04-22 21:32:22,098 [interpreter.check_runner_install:478]:Required runners: [<lutris.runners.wine.wine object at 0x7f379d121d90>]
INFO 2020-04-22 21:32:22,099 [runner.get_runner_version:293]:Getting runner information for wine
DEBUG 2020-04-22 21:32:22,100 [http.get:65]:GET https://lutris.net/api/runners/wine
DEBUG 2020-04-22 21:32:22,241 [interpreter.check_runner_install:494]:Default wine version is lutris-5.6-2
INFO 2020-04-22 21:32:22,243 [interpreter.check_runner_install:508]:Runner %s needs to be installed
DEBUG 2020-04-22 21:32:22,255 [interpreter.install_runner:524]:Installing wine
DEBUG 2020-04-22 21:32:22,256 [runner.install:332]:Installing wine (version=lutris-5.6-2-x86_64, downloader=<bound method InstallerWindow.start_download of <installerwindow.InstallerWindow object at 0x7f379d1276e0 (lutris+gui+installerwindow+InstallerWindow at 0x251c860)>>, callback=<bound method ScriptInterpreter.install_runners of <lutris.installer.interpreter.ScriptInterpreter object at 0x7f379debb610>>)
INFO 2020-04-22 21:32:22,257 [runner.get_runner_version:293]:Getting runner information for wine (version: lutris-5.6-2-x86_64)
DEBUG 2020-04-22 21:32:22,258 [http.get:65]:GET https://lutris.net/api/runners/wine
DEBUG 2020-04-22 21:32:22,465 [installerwindow.start_download:315]:Downloading https://lutris.nyc3.cdn.digitaloceanspaces.com/runners/wine/wine-lutris-5.6-2-x86_64.tar.xz to /home/abc/.cache/lutris/wine-lutris-5.6-2-x86_64.tar.xz
DEBUG 2020-04-22 21:32:22,472 [downloader.start:55]:Starting download of:
https://lutris.nyc3.cdn.digitaloceanspaces.com/runners/wine/wine-lutris-5.6-2-x86_64.tar.xz
DEBUG 2020-04-22 21:32:27,538 [downloader.on_done:97]:Finished downloading https://lutris.nyc3.cdn.digitaloceanspaces.com/runners/wine/wine-lutris-5.6-2-x86_64.tar.xz
DEBUG 2020-04-22 21:32:27,981 [extract.extract_archive:74]:Extracting /home/abc/.cache/lutris/wine-lutris-5.6-2-x86_64.tar.xz to /home/abc/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64
DEBUG 2020-04-22 21:32:36,116 [system.remove_folder:199]:Removing folder /home/abc/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64/.extract-a13f5596
DEBUG 2020-04-22 21:32:36,116 [extract.extract_archive:162]:Finished extracting /home/abc/.cache/lutris/wine-lutris-5.6-2-x86_64.tar.xz to /home/abc/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64
DEBUG 2020-04-22 21:32:36,118 [runner.extract:386]:Clearing wine version cache
INFO 2020-04-22 21:32:36,118 [interpreter.iter_game_files:412]:Downloading file 1 of 1
DEBUG 2020-04-22 21:32:36,544 [installer_file.get_download_info:98]:Downloading [psnow]: https://download-psnow.playstation.com/downloads/psnow/pc/PlayStationNow-11.0.2.exe to /home/abc/.cache/lutris/installer/playstation-now/psnow/PlayStationNow-11.0.2.exe
DEBUG 2020-04-22 21:32:36,546 [installerwindow.start_download:315]:Downloading https://download-psnow.playstation.com/downloads/psnow/pc/PlayStationNow-11.0.2.exe to /home/abc/.cache/lutris/installer/playstation-now/psnow/PlayStationNow-11.0.2.exe
DEBUG 2020-04-22 21:32:36,715 [downloader.start:55]:Starting download of:
https://download-psnow.playstation.com/downloads/psnow/pc/PlayStationNow-11.0.2.exe
DEBUG 2020-04-22 21:32:36,729 [interpreter._iter_commands:603]:Installer command: {'task': {'prefix': '$GAMEDIR', 'name': 'create_prefix', 'install_gecko': False, 'install_mono': False, 'arch': 'win64'}}
INFO 2020-04-22 21:32:36,740 [wine.create_prefix:99]:Creating a win64 prefix in /home/abc/Games/playstation-now
DEBUG 2020-04-22 21:32:36,741 [system.execute:38]:Executing /home/abc/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64/bin/wineboot
DEBUG 2020-04-22 21:32:36,741 [system.execute:44]:WINEARCH=win64 WINEPREFIX=/home/abc/Games/playstation-now WINEDLLOVERRIDES=mscoree,mshtml=
DEBUG 2020-04-22 21:32:40,290 [downloader.on_done:97]:Finished downloading https://download-psnow.playstation.com/downloads/psnow/pc/PlayStationNow-11.0.2.exe
INFO 2020-04-22 21:32:56,891 [wine.create_prefix:148]:win64 Prefix created in /home/abc/Games/playstation-now
ERROR 2020-04-22 21:32:56,908 [jobs.target:32]:Error while completing task <bound method CommandsMixin.task of <lutris.installer.interpreter.ScriptInterpreter object at 0x7f379debb610>>: join() argument must be str or bytes, not 'NoneType'
<class 'TypeError'> join() argument must be str or bytes, not 'NoneType'
INFO 2020-04-22 21:33:40,262 [interpreter.revert:775]:Cancelling installation of PlayStation Now
DEBUG 2020-04-22 21:33:40,271 [wine.winekill:191]:Killing all wine processes: ['/home/abc/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64/bin/wineserver', '-k']
DEBUG 2020-04-22 21:33:40,271 [wine.winekill:192]: Wine prefix: /home/abc/Games/playstation-now
DEBUG 2020-04-22 21:33:40,272 [wine.winekill:193]: Wine arch: win64
DEBUG 2020-04-22 21:33:40,287 [wine.winekill:199]:Waiting for wine processes to terminate
DEBUG 2020-04-22 21:33:40,288 [wine.winekill:217]:Done waiting.
DEBUG 2020-04-22 21:33:40,288 [system.remove_folder:199]:Removing folder /home/abc/Games/playstation-now
DEBUG 2020-04-22 21:33:40,349 [system.remove_folder:199]:Removing folder /home/abc/.cache/lutris/installer/playstation-now
INFO 2020-04-22 21:33:42,258 [application.do_shutdown:491]:Shutting down Lutris
File "/usr/lib/python3/dist-packages/lutris/util/jobs.py", line 30, in target
result = self.function(*args, **kwargs)
File "/usr/lib/python3/dist-packages/lutris/installer/commands.py", line 408, in task
thread = task(**data)
File "/usr/lib/python3/dist-packages/lutris/runners/commands/wine.py", line 150, in create_prefix
prefix_manager.setup_defaults()
File "/usr/lib/python3/dist-packages/lutris/util/wine/prefix.py", line 28, in setup_defaults
self.desktop_integration()
File "/usr/lib/python3/dist-packages/lutris/util/wine/prefix.py", line 97, in desktop_integration
user_dir = os.path.join(self.path, "drive_c/users/", user)
File "/usr/lib/python3.7/posixpath.py", line 94, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib/python3.7/genericpath.py", line 153, in _check_arg_types
(funcname, s.__class__.__name__)) from None
What could be the cause of this error ? Did I forgot to install some required dependencies in my Docker image ?