DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.17k stars 39 forks source link

Installing SteamTinkerLaunch v12.12 stuck at 99%. #290

Closed FunFighter closed 9 months ago

FunFighter commented 9 months ago

Process would get frozen because it could not find /home/brand/stl Making the directory fixed the issue. Not sure if should have been installed in a prior step. mkdir ~/stl User has permission to write in /home/brand/

Desktop

Terminal output

Highlight

Downloading SteamTinkerLaunch...
Extracting SteamTinkerLaunch...
[Errno 2] No such file or directory: '/home/brand/stl/sonic2kk-steamtinkerlaunch-9de3341'
rm: cannot remove '/home/brand/stl': No such file or directory
Full log
ProtonUp-Qt 2.8.2 by DavidoTek. Build Info: DavidoTek Flathub build.
Python 3.10.13 (main, Nov 10 2011, 15:00:00) [GCC 12.2.0], PySide 6.5.2
Platform: KDE Flatpak runtime 6.5 Linux-6.2.0-33-generic-x86_64-with-glibc2.35
Gtk-Message: 22:51:00.971: Failed to load module "xapp-gtk3-module"
Gtk-Message: 22:51:00.971: Failed to load module "appmenu-gtk-module"
qt.qpa.qgnomeplatform: Could not find color scheme  ""
Qt: Session management error: Could not open network socket
QGuiApplication::setDesktopFileName: the specified desktop file name ends with .desktop. For compatibility reasons, the .desktop suffix will be removed. Please specify a desktop file name without .desktop suffix
Loading locale en / en_US
Loaded ctmod GE-Proton
Loaded ctmod Wine-GE
Loaded ctmod Boxtron
Loaded ctmod D8VK (nightly)
Loaded ctmod Kron4ek Wine-Builds Vanilla
Loaded ctmod Lutris-Wine
Loaded ctmod Luxtorpeda
Loaded ctmod NorthStar Proton (TitanFall 2)
Loaded ctmod Proton Tkg
Loaded ctmod Proton Tkg (Wine Master)
Loaded ctmod Roberta
Loaded ctmod Steam-Play-None
Loaded ctmod SteamTinkerLaunch
Loaded ctmod SteamTinkerLaunch-git
Loaded ctmod vkd3d-lutris
Loaded ctmod vkd3d-proton
Loaded ctmod Wine Tkg (Valve Wine)
Loaded ctmod Wine Tkg (Vanilla Wine)
Loaded ctmod DXVK
Loaded ctmod DXVK Async
Loaded ctmod DXVK (nightly)
qt.pysideplugin: Environment variable PYSIDE_DESIGNER_PLUGINS is not set, bailing out.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Gamepad error: No gamepad found.
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'
Error: Could not get a list of Steam shortcut apps: 'NoneType' object has no attribute 'get'

** (python3:3): WARNING **: 22:51:26.717: atk-bridge: get_device_events_reply: unknown signature
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Downloading SteamTinkerLaunch...
Extracting SteamTinkerLaunch...
[Errno 2] No such file or directory: '/home/brand/stl/sonic2kk-steamtinkerlaunch-9de3341'
rm: cannot remove '/home/brand/stl': No such file or directory
brand@taco:~$ mkdir /home/brand/stl
brand@taco:~$ flatpak run --env=PUPGUI_GHA_TOKEN=myToken net.davidotek.pupgui2
ProtonUp-Qt 2.8.2 by DavidoTek. Build Info: DavidoTek Flathub build.
Python 3.10.13 (main, Nov 10 2011, 15:00:00) [GCC 12.2.0], PySide 6.5.2
Platform: KDE Flatpak runtime 6.5 Linux-6.2.0-33-generic-x86_64-with-glibc2.35
Gtk-Message: 23:16:47.360: Failed to load module "xapp-gtk3-module"
Gtk-Message: 23:16:47.360: Failed to load module "appmenu-gtk-module"
qt.qpa.qgnomeplatform: Could not find color scheme  ""
Qt: Session management error: Could not open network socket
QGuiApplication::setDesktopFileName: the specified desktop file name ends with .desktop. For compatibility reasons, the .desktop suffix will be removed. Please specify a desktop file name without .desktop suffix
Loading locale en / en_US
Loaded ctmod GE-Proton
Loaded ctmod Wine-GE
Loaded ctmod Boxtron
Loaded ctmod D8VK (nightly)
Loaded ctmod Kron4ek Wine-Builds Vanilla
Loaded ctmod Lutris-Wine
Loaded ctmod Luxtorpeda
Loaded ctmod NorthStar Proton (TitanFall 2)
Loaded ctmod Proton Tkg
Loaded ctmod Proton Tkg (Wine Master)
Loaded ctmod Roberta
Loaded ctmod Steam-Play-None
Loaded ctmod SteamTinkerLaunch
Loaded ctmod SteamTinkerLaunch-git
Loaded ctmod vkd3d-lutris
Loaded ctmod vkd3d-proton
Loaded ctmod Wine Tkg (Valve Wine)
Loaded ctmod Wine Tkg (Vanilla Wine)
Loaded ctmod DXVK
Loaded ctmod DXVK Async
Loaded ctmod DXVK (nightly)
qt.pysideplugin: Environment variable PYSIDE_DESIGNER_PLUGINS is not set, bailing out.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Gamepad error: No gamepad found.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Downloading SteamTinkerLaunch...
Extracting SteamTinkerLaunch...
Setting up SteamTinkerLaunch...
User asked not to add SteamTinkerLaunch to shell paths, skipping...
Adding SteamTinkerLaunch as a compatibility tool...
Sun Oct  1 11:17:08 PM MST 2023 INFO - CompatTool - Creating symlink '/home/brand/.steam/debian-installation/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch' pointing to './steamtinkerlaunch'
Storing SteamTinkerLaunch version from STL script file as v12.12

Successfully installed SteamTinkerLaunch!

** (python3:3): WARNING **: 23:17:13.691: atk-bridge: get_device_events_reply: unknown signature
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
sonic2kk commented 9 months ago

It sounds like the Flatpak doesn't have permission to create the ~/stl folder, although it should (https://github.com/flathub/net.davidotek.pupgui2/blob/master/net.davidotek.pupgui2.json#L31). Even if the user does, Flatpaks have separate permissions as well afaik. I know Flathub has started flagging apps as "potentially insecure", but I wonder if as a result of this, they have changed some default permissions for Flatpaks? Maybe the permission we're setting here for STL is no longer working?

It may be worth checking in something like Flatseal to see if the permission for this folder is not set in your case. You can take a look under the "Filesystem" heading, in the "Other files" section, to see if for some reason ProtonUp-Qt does not have ~/stl:create.


Out of curiosity, though it should be the same, does this happen with STL-git? It's preferred to use that anyway as v12.12 is very old at this point, so I'm curious if it also affects that ctmod for that reason as well.

sonic2kk commented 9 months ago

Just did a quick check and I can't see anything to suggest the :create option may have been revoked. Unless I'm looking in the wrong place, the latest Flatpak docs still mention it under "Filesystem Permissions".

That wouldn't necessarily stop Flathub or a software center frontend from enforcing different regulations on Flatpaks, though I imagine this could be pretty bad for Flatpak functionality, so I would think it would be opt-in rather than a default.


Making the directory beforehand shouldn't be a required step, and unless this has been a problem ignored en-mass for a while, the existing ProtonUp-Qt code should be creating the directory (https://github.com/DavidoTek/ProtonUp-Qt/blob/main/pupgui2/resources/ctmods/ctmod_steamtinkerlaunch.py#L276-L277). Unless this stopped working somewhere along the way for some unknown reason, but this ctmod hasn't been touched in a while (the file history is pretty sparse, and I'm hoping to do a little bit of cleanup to bring it in line with some other ctmods in the future). So a change shouldn't have broken this, instead something external must be happening. That's my theory anyway :-)

FunFighter commented 9 months ago

Thank you for the referral to Flatseal.

The json you linked properly created the permission. It does have access ~/stl:create. I manually deleted ~/stl again and relaunched the program. Installing STL this time worked. Manually deleting ~/stl while the process is live and then installing STL does result in the dir not found error. It seems ~/stl gets created on the launch of the ProtonUp-Qt. However yesterday restarting the process did not create ~/stl.

I am unable to replicate the error today. Assuming an unrelated process to ProtonUp-Qt was blocking the mkdir.

Thank you for the help.

DavidoTek commented 9 months ago

It seems ~/stl gets created on the launch of the ProtonUp-Qt. However yesterday restarting the process did not create ~/stl.

Maybe the folder had wrongs permissions from a previous installation.


Extracting SteamTinkerLaunch...
[Errno 2] No such file or directory: '/home/brand/stl/sonic2kk-steamtinkerlaunch-9de3341'
rm: cannot remove '/home/brand/stl': No such file or directory
brand@taco:~$ ####

I wonder what caused this output... remove_steamtinkerlaunch wouldn't delete anything without printing Removing SteamTinkerLaunch compatibility tool or Removing SteamTinkerLaunch installation first. tar.extractall and os.rename are the only functions that are called before printing Setting up SteamTinkerLaunch, but it doesn't even come that far.

After some investigation I found that tarfile's tarextract uses os.makedirs to create the directory for extraction. Maybe it got confused with the permissions somehow.


I am unable to replicate the error today. Assuming an unrelated process to ProtonUp-Qt was blocking the mkdir.

I think we can close the issue then.

FunFighter commented 9 months ago

Agreed not able to reproduce. Closing