Can't install Playstation Now

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 ?

Just found the issue, I forgot to set the USER environment variable in my Dockerfile.