def play(self): game_exe = self.game_exe arguments = self.game_config.get('args', '') using_dxvk = self.runner_config.get('dxvk') if using_dxvk: if not is_vulkan_supported(): if not display_vulkan_error(True): return {'error': 'VULKAN_NOT_FOUND'} if not system.path_exists(game_exe): return {'error': 'FILE_NOT_FOUND', 'file': game_exe} launch_info = { 'env': self.get_env(os_env=False) } if 'WINEESYNC' in launch_info['env'].get('WINEESYNC') == "1": limit_set = is_esync_limit_set() wine_ver = is_version_esync(self.get_executable()) if not limit_set and not wine_ver: esync_display_version_warning(True) esync_display_limit_warning() return {'error': 'ESYNC_LIMIT_NOT_SET'} if not is_esync_limit_set(): esync_display_limit_warning() return {'error': 'ESYNC_LIMIT_NOT_SET'} if not wine_ver: if not esync_display_version_warning(True): return {'error': 'NON_ESYNC_WINE_VERSION'} command = [self.get_executable()] game_exe, args, _working_dir = get_real_executable(game_exe, self.working_dir) command.append(game_exe) if args: command = command + args if arguments: for arg in shlex.split(arguments): command.append(arg) launch_info['command'] = command return launch_info
def play(self): game_exe = self.game_exe arguments = self.game_config.get("args", "") using_dxvk = self.runner_config.get("dxvk") if using_dxvk: if not is_vulkan_supported(): if not display_vulkan_error(True): return {"error": "VULKAN_NOT_FOUND"} if not system.path_exists(game_exe): return {"error": "FILE_NOT_FOUND", "file": game_exe} launch_info = {"env": self.get_env(os_env=False)} if launch_info["env"].get("WINEESYNC") == "1": limit_set = is_esync_limit_set() wine_ver = is_version_esync(self.get_executable()) if not limit_set and not wine_ver: esync_display_version_warning(True) esync_display_limit_warning() return {"error": "ESYNC_LIMIT_NOT_SET"} if not is_esync_limit_set(): esync_display_limit_warning() return {"error": "ESYNC_LIMIT_NOT_SET"} if not wine_ver: if not esync_display_version_warning(True): return {"error": "NON_ESYNC_WINE_VERSION"} command = [self.get_executable()] game_exe, args, _working_dir = get_real_executable( game_exe, self.working_dir) command.append(game_exe) if args: command = command + args if arguments: for arg in shlex.split(arguments): command.append(arg) launch_info["command"] = command return launch_info
def dxvk_vulkan_callback(config): if not is_vulkan_supported(): if not display_vulkan_error(False): return False return True
def dxvk_vulkan_callback(widget, option, config): response = True if not is_vulkan_supported(): if not thread_safe_call(display_vulkan_error): response = False return widget, option, response