Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Create bottle crashing if no Nvidia GPU and NVAPI installs #2607

Merged
merged 4 commits into from Feb 4, 2023

Conversation

Kinsteen
Copy link
Contributor

@Kinsteen Kinsteen commented Jan 22, 2023

Description

For some reasons, sometimes NVAPI wants to be installed even though the user doesn't have an Nvidia GPU. This PR adds another check to see if a DLL exists before check/install/uninstall. Also, a check to see if the user has a Nvidia card when creating a Bottle was implemented. This does not fix all occurences of the behavior, like for example when importing an existing Bottle, but it's a start.

Fixes #2594

For reviewers to test: when not using a Nvidia card, create a bottle. You should not have any indication of NVAPI being installed.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.

  • locally, while triggering manually the error with different means

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2023

Pylint result on modfied files:
************* Module bottles.backend.models.config
bottles/backend/models/config.py:61:5: W0511: share_host_ro: bool = True  # TODO: implement, requires the Bottles runtime (next) for a minimal sandbox (fixme)
bottles/backend/models/config.py:62:5: W0511: share_gpu: bool = True  # TODO: implement (fixme)
bottles/backend/models/config.py:63:5: W0511: share_paths_ro: List[str] = field(default_factory=lambda: [])  # TODO: implement (fixme)
bottles/backend/models/config.py:64:5: W0511: share_paths_rw: List[str] = field(default_factory=lambda: [])  # TODO: implement (fixme)
bottles/backend/models/config.py:231:9: W0511: TODO: remove after some time (fixme)
bottles/backend/models/config.py:149:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/models/config.py:170:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/models/config.py:170:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/models/config.py:201:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/models/config.py:8:0: E0401: Unable to import 'typing.io' (import-error)
bottles/backend/models/config.py:116:4: C0103: Attribute name "Name" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:117:4: C0103: Attribute name "Arch" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:118:4: C0103: Attribute name "Windows" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:119:4: C0103: Attribute name "Runner" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:120:4: C0103: Attribute name "WorkingDir" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:121:4: C0103: Attribute name "DXVK" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:122:4: C0103: Attribute name "NVAPI" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:123:4: C0103: Attribute name "VKD3D" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:124:4: C0103: Attribute name "LatencyFleX" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:125:4: C0103: Attribute name "Path" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:126:4: C0103: Attribute name "Custom_Path" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:127:4: C0103: Attribute name "Environment" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:128:4: C0103: Attribute name "Creation_Date" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:129:4: C0103: Attribute name "Update_Date" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:130:4: C0103: Attribute name "Versioning" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:131:4: C0103: Attribute name "Versioning_Exclusion_Patterns" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:132:4: C0103: Attribute name "State" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:133:4: C0103: Attribute name "Parameters" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:134:4: C0103: Attribute name "Sandbox" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:135:4: C0103: Attribute name "Environment_Variables" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:136:4: C0103: Attribute name "Installed_Dependencies" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:137:4: C0103: Attribute name "DLL_Overrides" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:138:4: C0103: Attribute name "External_Programs" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:139:4: C0103: Attribute name "Uninstallers" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:142:4: C0103: Attribute name "Language" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:145:4: C0103: Attribute name "CompatData" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:147:4: C0103: Attribute name "RunnerPath" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:159:8: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:159:50: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
bottles/backend/models/config.py:159:50: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/models/config.py:163:15: W0703: Catching too general exception Exception (broad-except)
bottles/backend/models/config.py:163:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:178:8: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:194:15: W0703: Catching too general exception Exception (broad-except)
bottles/backend/models/config.py:183:12: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:183:54: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
bottles/backend/models/config.py:183:54: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/models/config.py:194:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:198:18: C0321: More than one statement on a single line (multiple-statements)
bottles/backend/models/config.py:215:15: W0703: Catching too general exception Exception (broad-except)
bottles/backend/models/config.py:215:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:260:15: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/models/config.py:264:20: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name)
************* Module bottles.backend.wine.reg
bottles/backend/wine/reg.py:53:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/wine/reg.py:55:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/wine/reg.py:53:45: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/wine/reg.py:103:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/wine/reg.py:103:36: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
************* Module bottles.backend.managers.manager
bottles/backend/managers/manager.py:128:0: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:631:67: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:676:0: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:1183:78: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:1190:0: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:1204:0: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:1218:0: C0303: Trailing whitespace (trailing-whitespace)
bottles/backend/managers/manager.py:1:0: C0302: Too many lines in module (1501/1000) (too-many-lines)
bottles/backend/managers/manager.py:389:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/managers/manager.py:746:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/managers/manager.py:1405:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/managers/manager.py:1405:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/managers/manager.py:41:0: W0404: Reimport 'Samples' (imported line 26) (reimported)
bottles/backend/managers/manager.py:150:16: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:150:19: C0103: Variable name "t" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:154:16: C0103: Variable name "t" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:162:8: C0103: Variable name "rv" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:167:8: W0106: Expression "self.check_dxvk(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:170:8: W0106: Expression "self.check_vkd3d(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:173:8: W0106: Expression "self.check_nvapi(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:176:8: W0106: Expression "self.check_latencyflex(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:179:8: W0106: Expression "self.check_runtimes(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:182:8: W0106: Expression "self.check_winebridge(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:185:8: W0106: Expression "self.check_runners(install_latest) or rv.set_status(False)" is assigned to nothing (expression-not-assigned)
bottles/backend/managers/manager.py:369:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:373:22: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
bottles/backend/managers/manager.py:378:31: C0207: Use version.split('\n', maxsplit=1)[0] instead (use-maxsplit-arg)
bottles/backend/managers/manager.py:387:25: W1202: Use lazy % or % formatting in logging functions (logging-format-interpolation)
bottles/backend/managers/manager.py:391:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
bottles/backend/managers/manager.py:437:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/managers/manager.py:437:40: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:464:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/managers/manager.py:464:44: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:532:25: W1202: Use lazy % or % formatting in logging functions (logging-format-interpolation)
bottles/backend/managers/manager.py:601:8: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:629:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:646:16: W0702: No exception type(s) specified (bare-except)
bottles/backend/managers/manager.py:719:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/managers/manager.py:719:48: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:778:16: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:791:16: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:800:16: C0103: Variable name "c" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:801:16: C0103: Variable name "c" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:824:12: C0103: Variable name "b" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:825:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:832:25: W1202: Use lazy % or % formatting in logging functions (logging-format-interpolation)
bottles/backend/managers/manager.py:841:4: R0913: Too many arguments (7/5) (too-many-arguments)
bottles/backend/managers/manager.py:866:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:903:8: C0206: Consider iterating with .items() (consider-using-dict-items)
bottles/backend/managers/manager.py:904:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:916:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:924:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:929:16: R1721: Unnecessary use of a comprehension, use list(self.dxvk_available) instead. (unnecessary-comprehension)
bottles/backend/managers/manager.py:934:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:939:16: R1721: Unnecessary use of a comprehension, use list(self.vkd3d_available) instead. (unnecessary-comprehension)
bottles/backend/managers/manager.py:944:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:949:16: R1721: Unnecessary use of a comprehension, use list(self.nvapi_available) instead. (unnecessary-comprehension)
bottles/backend/managers/manager.py:957:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:975:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:981:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:987:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:994:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:997:29: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
bottles/backend/managers/manager.py:1005:4: R0913: Too many arguments (14/5) (too-many-arguments)
bottles/backend/managers/manager.py:1106:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:1123:8: W0702: No exception type(s) specified (bare-except)
bottles/backend/managers/manager.py:1135:12: W0702: No exception type(s) specified (bare-except)
bottles/backend/managers/manager.py:1132:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/managers/manager.py:1132:84: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:1172:8: C0103: Variable name "rk" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:1182:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/managers/manager.py:1186:15: W0125: Using a conditional statement with a constant value (using-constant-test)
bottles/backend/managers/manager.py:1181:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
bottles/backend/managers/manager.py:1181:8: R1702: Too many nested blocks (7/5) (too-many-nested-blocks)
bottles/backend/managers/manager.py:1181:8: R1702: Too many nested blocks (7/5) (too-many-nested-blocks)
bottles/backend/managers/manager.py:1266:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
bottles/backend/managers/manager.py:1266:54: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:1404:12: W0621: Redefining name 'uuid' from outer scope (line 23) (redefined-outer-name)
bottles/backend/managers/manager.py:1419:8: W1510: Using subprocess.run without explicitly set `check` is not recommended. (subprocess-run-check)
bottles/backend/managers/manager.py:1422:12: C0103: Variable name "b" doesn't conform to snake_case naming style (invalid-name)
bottles/backend/managers/manager.py:1462:4: R0913: Too many arguments (7/5) (too-many-arguments)
bottles/backend/managers/manager.py:79:0: R0904: Too many public methods (23/20) (too-many-public-methods)
bottles/backend/managers/manager.py:28:0: C0411: standard import "import shutil" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:29:0: C0411: standard import "import fnmatch" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:30:0: C0411: standard import "import contextlib" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:31:0: C0411: standard import "from glob import glob" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:32:0: C0411: standard import "from datetime import datetime" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:33:0: C0411: standard import "from gettext import gettext as _" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:34:0: C0411: standard import "from typing import Union, Any, Dict, List" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:35:0: C0411: third party import "from gi.repository import GLib" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:36:0: C0411: third party import "import pathvalidate" should be placed before "from bottles.backend.models.config import BottleConfig" (wrong-import-order)
bottles/backend/managers/manager.py:38:0: C0412: Imports from package bottles are not grouped (ungrouped-imports)
bottles/backend/managers/manager.py:19:0: W0611: Unused import hashlib (unused-import)
bottles/backend/managers/manager.py:39:0: W0611: Unused Runner imported from bottles.backend.runner (unused-import)
bottles/backend/managers/manager.py:43:0: W0611: Unused JournalManager imported from bottles.backend.managers.journal (unused-import)
bottles/backend/managers/manager.py:43:0: W0611: Unused JournalSeverity imported from bottles.backend.managers.journal (unused-import)
bottles/backend/managers/manager.py:61:0: W0611: Unused cache imported from bottles.backend.utils.decorators (unused-import)
************* Module bottles.backend.dlls.dll
bottles/backend/dlls/dll.py:172:61: W0511: TODO: should not be ok but just ignore it for now (fixme)
bottles/backend/dlls/dll.py:97:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/dlls/dll.py:97:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/dlls/dll.py:127:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/dlls/dll.py:127:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/dlls/dll.py:152:0: W1405: Quote delimiter ' is inconsistent with the rest of the file (inconsistent-quotes)
bottles/backend/dlls/dll.py:49:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
bottles/backend/dlls/dll.py:174:16: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/dlls/dll.py:187:12: W0105: String statement has no effect (pointless-string-statement)
bottles/backend/dlls/dll.py:151:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
bottles/backend/dlls/dll.py:20:0: W0611: Unused glob imported from glob (unused-import)
bottles/backend/dlls/dll.py:21:0: W0611: Unused NewType imported from typing (unused-import)
bottles/backend/dlls/dll.py:29:0: W0611: Unused WineBoot imported from bottles.backend.wine.wineboot (unused-import)

@Qronikarz
Copy link

Should I able to run this fix with this github action? https://github.com/bottlesdevs/Bottles/actions/runs/3979230456
I installed it but it prevents Bottles from running and it gives this output when you run Bottles from terminal:

Traceback (most recent call last):
  File "/app/bin/bottles", line 40, in <module>
    from bottles.frontend import main
  File "/app/share/bottles/bottles/frontend/main.py", line 36, in <module>
    from bottles.backend.logger import Logger
  File "/app/share/bottles/bottles/backend/logger.py", line 24, in <module>
    from bottles.backend.managers.journal import JournalManager, JournalSeverity
  File "/app/share/bottles/bottles/backend/managers/journal.py", line 19, in <module>
    from bottles.backend.utils import yaml
  File "/app/share/bottles/bottles/backend/utils/yaml.py", line 3, in <module>
    from bottles.backend.models.config import BottleConfig
  File "/app/share/bottles/bottles/backend/models/config.py", line 12, in <module>
    from bottles.backend.logger import Logger
ImportError: cannot import name 'Logger' from partially initialized module 'bottles.backend.logger' (most likely due to a circular import) (/app/share/bottles/bottles/backend/logger.py)

@Kinsteen
Copy link
Contributor Author

Ah I made an oopsie, I will fix it later, sorry. When it is fixed, you'll be able to use it

@Qronikarz
Copy link

Creating bottle, opening location and deleting it seems to work now. Here's terminal output:

16:21:32 (INFO) Bottles Started! 
16:21:34 (INFO) Performing Bottles checks… 
16:21:34 (INFO) Dxvks found:
	 - dxvk-2.0
 
16:21:34 (INFO) Vkd3ds found:
	 - vkd3d-proton-2.8
 
16:21:34 (INFO) Nvapis found:
	 - dxvk-nvapi-v0.6
	 - dxvk-nvapi-v0.5.4
 
16:21:34 (INFO) Latencyflexs found:
	 - latencyflex-v0.1.1
 
16:21:34 (INFO) Runners found:
	 - sys-wine-7.0.1
	 - caffe-7.20
 
16:21:34 (INFO) Catalog dependencies loaded 
16:21:34 (INFO) Catalog installers loaded 
16:21:34 (INFO) Catalog components loaded 
16:21:58 (INFO) Generating bottle configuration… 
16:21:58 (INFO) Unpacking template: 2756a980-34b5-447c-b4ee-0d6034420979 
16:22:00 (INFO) Template unpacked successfully! 
16:22:00 (INFO) Using Wine Runtime tool -- send_status(-i) 
wineserver: using server-side synchronization.
wine: configuration in L"/home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting" has been updated.
16:22:08 (INFO) Applying environment: [gaming]… 
16:22:09 (INFO) Installing VKD3D… 
/home/username49/.var/app/com.usebottles.bottles/data/bottles/vkd3d/vkd3d-proton-2.8/x86/d3d12.dll -> /home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting/drive_c/windows/syswow64/d3d12.dll
/home/username49/.var/app/com.usebottles.bottles/data/bottles/vkd3d/vkd3d-proton-2.8/x64/d3d12.dll -> /home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting/drive_c/windows/system32/d3d12.dll
16:22:09 (INFO) Importing bundle to nvapitesting registry 
16:22:09 (INFO) Using Wine Registry CLI -- import_bundle 
esync: up and running.
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -r" (2).
Failed to create /home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting/cache/mesa_shader for shader cache (No such file or directory)---disabling.
Failed to create /home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting/cache/mesa_shader for shader cache (No such file or directory)---disabling.
16:22:11 (INFO) Import bundle result: '' 
16:22:11 (INFO) New bottle created: nvapitesting 
16:22:11 (INFO) Using Wine Runtime tool -- send_status(-u) 
esync: up and running.
wine: configuration in L"/home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting" has been updated.
16:22:15 (INFO) Caching template… 
16:22:15 (INFO) Caching new template for gaming… 
16:22:15 (INFO) Deleting template: 2756a980-34b5-447c-b4ee-0d6034420979 
16:22:15 (INFO) Template deleted successfully! 
16:22:15 (INFO) Creating new template: 983a9602-0b2c-45f6-a652-c4e322a98295 
16:22:15 (INFO) Copying files … 
16:22:16 (INFO) New template gaming created 
16:22:16 (INFO) Bottles found:
	 - nvapitesting
 
16:22:19 (INFO) Setting Key sync=esync for bottle nvapitesting… 
16:22:19 (INFO) There is no running wineserver. 
16:22:25 (INFO) Opening the file manager in the path … 
16:22:35 (INFO) Stopping bottle… 
16:22:35 (INFO) There is no running wineserver. 
16:22:35 (INFO) Removing applications installed with the bottle… 
16:22:35 (INFO) Removing library entries associated with this bottle… 
16:22:35 (INFO) Removing the bottle… 
16:22:35 (INFO) Deleted the bottle in: /home/username49/.var/app/com.usebottles.bottles/data/bottles/bottles/nvapitesting 

@Kinsteen
Copy link
Contributor Author

Perfect, thanks for your testing!

@Qronikarz
Copy link

I probably stumbled upon another problem. Don't know if it's because of this version, but it's first time I've seen anything like that.

I had trouble running the game from custom path so I tested my known 2 cases being PK2 and Notepad++. They work, but they also don't appear in bottle.yml unless you rename them (one of my unanswered questions in Bottles github). I also found a game that doesn't install because it wants to install in Z: drive and when you add the installer to the programs list manually it has this path in bottle.yml /run/user/1000/doc/70f7a9b3/BigSolitairesPortable_1.4_Rev_3_English.paf.exe.
The solitaire game is from this site: https://portableapps.com/apps/games/big_solitaires_portable

I can reinstall Bottles now if you want me to check it in normal 50.2 version, but then it's possible I won't have the current problem anymore and won't be able to test this version.

@Kinsteen
Copy link
Contributor Author

It looks like another error, probably wrong flatpak permissions I would say. Please open a new issue!

@Kinsteen Kinsteen added the To be merged for next release All those PRs are to be merged in priority, others are stale waiting for the release label Jan 24, 2023
@Kinsteen Kinsteen added this to the Bottles 51 milestone Jan 24, 2023
@Kinsteen Kinsteen merged commit cde89f0 into bottlesdevs:main Feb 4, 2023
@Kinsteen Kinsteen removed the To be merged for next release All those PRs are to be merged in priority, others are stale waiting for the release label Feb 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Problem with creating and deleting bottle
2 participants