diff --git a/scripts/check_modules.py b/scripts/check_modules.py index db3e8098..054614b2 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -8,10 +8,13 @@ a custom index URL depending on the platform. """ -import os +import os, sys from importlib.metadata import version as pkg_version import platform import traceback +import shutil +from pathlib import Path +from pprint import pprint os_name = platform.system() @@ -48,10 +51,21 @@ def install(module_name: str, module_version: str): module_version, index_url = apply_torch_install_overrides(module_version) if is_amd_on_linux(): # hack until AMD works properly on torch 2.0 (avoids black images on some cards) + amd_gpus = setup_amd_environment() if module_name == "torch": - module_version = "1.13.1+rocm5.2" + if "Navi 3" in amd_gpus: + # No AMD 7x00 support in rocm 5.2, needs nightly 5.5. build + module_version = "2.1.0.dev-20230614+rocm5.5" + index_url = "https: //download.pytorch.org/whl/nightly/rocm5.5" + else: + module_version = "1.13.1+rocm5.2" elif module_name == "torchvision": - module_version = "0.14.1+rocm5.2" + if "Navi 3" in amd_gpus: + # No AMD 7x00 support in rocm 5.2, needs nightly 5.5. build + module_version = "0.16.0.dev-20230614+rocm5.5" + index_url = "https: //download.pytorch.org/whl/nightly/rocm5.5" + else: + module_version = "0.14.1+rocm5.2" elif os_name == "Darwin": if module_name == "torch": module_version = "1.13.1" @@ -69,9 +83,9 @@ def install(module_name: str, module_version: str): os.system(install_cmd) -def init(): +def update_modules(): for module_name, allowed_versions in modules_to_check.items(): - if os.path.exists(f"../src/{module_name}"): + if os.path.exists(f"src/{module_name}"): print(f"Skipping {module_name} update, since it's in developer/editable mode") continue @@ -94,6 +108,10 @@ def init(): except: traceback.print_exc() fail(module_name) + else: + if version(module_name) != latest_version: + print(f"WARNING! Tried to install {module_name}=={latest_version}, but the version is still {version(module_name)}!") + if module_name in modules_to_log: print(f"{module_name}: {version(module_name)}") @@ -159,7 +177,916 @@ Thanks!""" ) exit(1) +### Launcher -### start +def get_config(): + config_directory = os.path.dirname(__file__) # this will be "scripts" + config_yaml = os.path.join(config_directory, "..", "config.yaml") + config_json = os.path.join(config_directory, "config.json") -init() + config = None + + # migrate the old config yaml location + config_legacy_yaml = os.path.join(config_directory, "config.yaml") + if os.path.isfile(config_legacy_yaml): + shutil.move(config_legacy_yaml, config_yaml) + + if os.path.isfile(config_yaml): + from ruamel.yaml import YAML + yaml = YAML(typ='safe') + with open(config_yaml, 'r') as configfile: + try: + config = yaml.load(configfile) + except Exception as e: + print(e, file=sys.stderr) + elif os.path.isfile(config_json): + import json + with open(config_json, 'r') as configfile: + try: + config = json.load(configfile) + except Exception as e: + print(e, file=sys.stderr) + + if config is None: + config = {} + return config + +def setup_amd_environment(): + gpus = list(filter(lambda x: ("amdgpu" in x), open("/proc/bus/pci/devices", "r").readlines())) + gpus = [ AMD_PCI_IDs[x.split("\t")[1].upper()] for x in gpus ] + i=0 + supported_gpus=[] + for gpu in gpus: + print(f"Found AMD GPU {gpu}.") + if gpu.startswith("Navi 1"): + print("--- Applying Navi 1 settings") + os.environ["HSA_OVERRIDE_GFX_VERSION"]="10.3.0" + os.environ["FORCE_FULL_PRECISION"]="yes" + os.environ["HIP_VISIBLE_DEVICES"]=str(i) + supported_gpus.append("Navi 1") + elif gpu.startswith("Navi 2"): + print("--- Applying Navi 2 settings") + os.environ["HSA_OVERRIDE_GFX_VERSION"]="10.3.0" + os.environ["HIP_VISIBLE_DEVICES"]=str(i) + supported_gpus.append("Navi 2") + elif gpu.startswith("Navi 3"): + print("--- Applying Navi 3 settings") + os.environ["HSA_OVERRIDE_GFX_VERSION"]="11.0.0" + os.environ["HIP_VISIBLE_DEVICES"]=str(i) + supported_gpus.append("Navi 3") + else: + print("--- This GPU is probably not supported by ROCm\n") + i+=1 + return supported_gpus + + +def launch_uvicorn(): + config = get_config() + + # pprint(config) + + with open("scripts/install_status.txt","a") as f: + f.write("sd_weights_downloaded\n") + f.write("sd_install_complete\n") + + print("\n\nEasy Diffusion installation complete, starting the server!\n\n") + + os.environ["SD_PATH"] = str(Path(Path.cwd(), "stable-diffusion")) + os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1" + if os_name == "Windows": + os.environ["PYTHONPATH"] = str(Path( os.environ["INSTALL_ENV_DIR"], "lib", "site-packages")) + else: + os.environ["PYTHONPATH"] = str(Path( os.environ["INSTALL_ENV_DIR"], "lib", "python3.8", "site-packages")) + os.environ["SD_UI_PATH"] = str(Path(Path.cwd(), "ui")) + + print(f"PYTHONPATH={os.environ['PYTHONPATH']}") + print(f"Python: {shutil.which('python')}") + print(f"Version: {platform. python_version()}") + + bind_ip = "127.0.0.1" + listen_port = 9000 + if "net" in config: + print("Checking network settings") + if "listen_port" in config["net"]: + listen_port = config["net"]["listen_port"] + print("Set listen port to ", listen_port) + if "listen_to_network" in config["net"] and config["net"]["listen_to_network"] == True: + if "bind_ip" in config["net"]: + bind_ip = config["net"]["bind_ip"] + else: + bind_ip = "0.0.0.0" + print("Set bind_ip to ", bind_ip) + + os.chdir("stable-diffusion") + + if is_amd_on_linux(): + setup_amd_environment() + + print("\nLaunching uvicorn\n") + os.system(f'python -m uvicorn main:server_api --app-dir "{os.environ["SD_UI_PATH"]}" --port {listen_port} --host {bind_ip} --log-level error') + +### Start + +# This list would probably be a good candidate for an import, but since PYTHONPATH and other settings +# have not been initialized yet, I keep the list here for the moment -- JeLuF +AMD_PCI_IDs = { + "1002AC0C": "Theater 506A USB", + "1002AC0D": "Theater 506A USB", + "1002AC0E": "Theater 506A External USB", + "1002AC0F": "Theater 506A External USB", + "1002AC12": "Theater HD T507 (DVB-T) TV tuner/capture device", + "1002AC02": "TV Wonder HD 600 PCIe", + "1002AC03": "Theater 506 PCIe", + "1002AC04": "Theater 506 USB", + "1002AC05": "Theater 506 USB", + "1002AC06": "Theater 506 External USB", + "1002AC07": "Theater 506 External USB", + "1002AC08": "Theater 506A World-Wide Analog Decoder + Demodulator", + "1002AC09": "Theater 506A World-Wide Analog Decoder + Demodulator", + "1002AC0A": "Theater 506A PCIe", + "1002AC0B": "Theater 506A PCIe", + "1002AC00": "Theater 506 World-Wide Analog Decoder", + "1002AC01": "Theater 506 World-Wide Analog Decoder", + "1002999D": "Richland [Radeon HD 8550D]", + "100299A0": "Trinity 2 [Radeon HD 7520G]", + "100299A2": "Trinity 2 [Radeon HD 7420G]", + "100299A4": "Trinity 2 [Radeon HD 7400G]", + "10029996": "Richland [Radeon HD 8470D]", + "10029997": "Richland [Radeon HD 8350G]", + "10029998": "Richland [Radeon HD 8370D]", + "10029999": "Richland [Radeon HD 8510G]", + "1002999A": "Richland [Radeon HD 8410G]", + "1002999B": "Richland [Radeon HD 8310G]", + "1002999C": "Richland [Radeon HD 8650D]", + "10029925": "Kingston/Clayton/Jupiter/Gladius/Montego HDMI Controller", + "10029926": "Jupiter", + "10029990": "Trinity 2 [Radeon HD 7520G]", + "10029991": "Trinity 2 [Radeon HD 7540D]", + "10029992": "Trinity 2 [Radeon HD 7420G]", + "10029993": "Trinity 2 [Radeon HD 7480D]", + "10029994": "Trinity 2 [Radeon HD 7400G]", + "10029995": "Richland [Radeon HD 8450G]", + "10029917": "Trinity [Radeon HD 7620G]", + "10029918": "Trinity [Radeon HD 7600G]", + "10029919": "Trinity [Radeon HD 7500G]", + "1002991E": "Bishop [Xbox One S APU]", + "10029920": "Liverpool [Playstation 4 APU]", + "10029922": "Starshp", + "10029923": "Starsha2 [Kingston/Clayton]", + "10029924": "Gladius", + "10029909": "Trinity [Radeon HD 7500G]", + "1002990A": "Trinity [Radeon HD 7500G]", + "1002990B": "Richland [Radeon HD 8650G]", + "1002990C": "Richland [Radeon HD 8670D]", + "1002990D": "Richland [Radeon HD 8550G]", + "1002990E": "Richland [Radeon HD 8570D]", + "1002990F": "Richland [Radeon HD 8610G]", + "10029910": "Trinity [Radeon HD 7660G]", + "10029913": "Trinity [Radeon HD 7640G]", + "10029901": "Trinity [Radeon HD 7660D]", + "10029903": "Trinity [Radeon HD 7640G]", + "10029904": "Trinity [Radeon HD 7560D]", + "10029905": "Trinity GL [FirePro A300]", + "10029906": "Trinity GL [FirePro A320]", + "10029907": "Trinity [Radeon HD 7620G]", + "10029908": "Trinity [Radeon HD 7600G]", + "1002985F": "Mullins", + "10029874": "Wani [Radeon R5/R6/R7 Graphics]", + "10029890": "Amur", + "100298C0": "Nolan", + "100298E4": "Stoney [Radeon R2/R3/R4/R5 Graphics]", + "10029900": "Trinity [Radeon HD 7660G]", + "10029858": "Mullins", + "10029859": "Mullins", + "1002985A": "Mullins", + "1002985B": "Mullins", + "1002985C": "Mullins", + "1002985D": "Mullins", + "1002985E": "Mullins", + "10029852": "Mullins [Radeon R2 Graphics]", + "10029853": "Mullins [Radeon R2 Graphics]", + "10029854": "Mullins [Radeon R3E Graphics]", + "10029855": "Mullins [Radeon R6 Graphics]", + "10029856": "Mullins [Radeon R1E/R2E Graphics]", + "10029857": "Mullins [Radeon APU XX-2200M with R2 Graphics]", + "10029836": "Kabini [Radeon HD 8280 / R3 Series]", + "10029837": "Kabini [Radeon HD 8280E]", + "10029838": "Kabini [Radeon HD 8240 / R3 Series]", + "10029839": "Kabini [Radeon HD 8180]", + "1002983D": "Temash [Radeon HD 8250/8280G]", + "10029850": "Mullins [Radeon R3 Graphics]", + "10029851": "Mullins [Radeon R4/R5 Graphics]", + "10029808": "Wrestler [Radeon HD 7340]", + "10029809": "Wrestler [Radeon HD 7310]", + "1002980A": "Wrestler [Radeon HD 7290]", + "10029830": "Kabini [Radeon HD 8400 / R3 Series]", + "10029831": "Kabini [Radeon HD 8400E]", + "10029832": "Kabini [Radeon HD 8330]", + "10029833": "Kabini [Radeon HD 8330E]", + "10029834": "Kabini [Radeon HD 8210]", + "10029835": "Kabini [Radeon HD 8310E]", + "10029714": "RS880 [Radeon HD 4290]", + "10029715": "RS880 [Radeon HD 4250]", + "10029802": "Wrestler [Radeon HD 6310]", + "10029803": "Wrestler [Radeon HD 6310]", + "10029804": "Wrestler [Radeon HD 6250]", + "10029805": "Wrestler [Radeon HD 6250]", + "10029806": "Wrestler [Radeon HD 6320]", + "10029807": "Wrestler [Radeon HD 6290]", + "1002964B": "Sumo", + "1002964C": "Sumo", + "1002964E": "Sumo", + "1002964F": "Sumo", + "10029710": "RS880 [Radeon HD 4200]", + "10029712": "RS880M [Mobility Radeon HD 4225/4250]", + "10029713": "RS880M [Mobility Radeon HD 4100]", + "10029643": "SuperSumo [Radeon HD 6380G]", + "10029644": "SuperSumo [Radeon HD 6410D]", + "10029645": "SuperSumo [Radeon HD 6410D]", + "10029647": "Sumo [Radeon HD 6520G]", + "10029648": "Sumo [Radeon HD 6480G]", + "10029649": "SuperSumo [Radeon HD 6480G]", + "1002964A": "Sumo [Radeon HD 6530D]", + "10029642": "SuperSumo [Radeon HD 6370D]", + "10029615": "RS780E [Radeon HD 3200]", + "10029610": "RS780 [Radeon HD 3200]", + "10029611": "RS780C [Radeon 3100]", + "10029612": "RS780M [Mobility Radeon HD 3200]", + "10029613": "RS780MC [Mobility Radeon HD 3100]", + "10029614": "RS780D [Radeon HD 3300]", + "10029616": "RS780L [Radeon 3000]", + "10029640": "Sumo [Radeon HD 6550D]", + "10029641": "Sumo [Radeon HD 6620G]", + "100295C4": "RV620/M82 [Mobility Radeon HD 3450/3470]", + "100295C5": "RV620 LE [Radeon HD 3450]", + "100295C6": "RV620 LE [Radeon HD 3450 AGP]", + "100295C9": "RV620 LE [Radeon HD 3450 PCI]", + "100295CC": "RV620 GL [FirePro V3700]", + "100295CD": "RV620 GL [FirePro 2450]", + "100295CF": "RV620 GL [FirePro 2260]", + "10029591": "RV635/M86 [Mobility Radeon HD 3650]", + "10029593": "RV635/M86 [Mobility Radeon HD 3670]", + "10029595": "RV635/M86 GL [Mobility FireGL V5700]", + "10029596": "RV635 PRO [Radeon HD 3650 AGP]", + "10029597": "RV635 PRO [Radeon HD 3650 AGP]", + "10029598": "RV635 [Radeon HD 3650/3750/4570/4580]", + "10029599": "RV635 PRO [Radeon HD 3650 AGP]", + "100295C0": "RV620 PRO [Radeon HD 3470]", + "100295C2": "RV620/M82 [Mobility Radeon HD 3410/3430]", + "10029586": "RV630 XT [Radeon HD 2600 XT AGP]", + "10029587": "RV630 PRO [Radeon HD 2600 PRO AGP]", + "10029588": "RV630 XT [Radeon HD 2600 XT]", + "10029589": "RV630 PRO [Radeon HD 2600 PRO]", + "1002958A": "RV630 [Radeon HD 2600 X2]", + "1002958B": "RV630/M76 [Mobility Radeon HD 2600 XT]", + "1002958C": "RV630 GL [FireGL V5600]", + "1002958D": "RV630 GL [FireGL V3600]", + "1002954F": "RV710 [Radeon HD 4350/4550]", + "10029552": "RV710/M92 [Mobility Radeon HD 4330/4350/4550]", + "10029553": "RV710/M92 [Mobility Radeon HD 4530/4570/5145/530v/540v/545v]", + "10029555": "RV711/M93 [Mobility Radeon HD 4350/4550/530v/540v/545v / FirePro RG220]", + "10029557": "RV711/M93 GL [FirePro RG220]", + "1002955F": "RV710/M92 [Mobility Radeon HD 4330]", + "10029580": "RV630 [Radeon HD 2600 PRO]", + "10029581": "RV630/M76 [Mobility Radeon HD 2600]", + "10029583": "RV630/M76 [Mobility Radeon HD 2600 XT/2700]", + "1002950F": "R680 [Radeon HD 3870 X2]", + "10029511": "RV670 GL [FireGL V7700]", + "10029513": "RV670 [Radeon HD 3850 X2]", + "10029515": "RV670 PRO [Radeon HD 3850 AGP]", + "10029519": "RV670 GL [FireStream 9170]", + "10029540": "RV710 [Radeon HD 4550]", + "10029500": "RV670 [Radeon HD 3850 X2]", + "10029501": "RV670 [Radeon HD 3870]", + "10029504": "RV670/M88 [Mobility Radeon HD 3850]", + "10029505": "RV670 [Radeon HD 3690/3850]", + "10029506": "RV670/M88 [Mobility Radeon HD 3850 X2]", + "10029507": "RV670 [Radeon HD 3830]", + "10029508": "RV670/M88-XT [Mobility Radeon HD 3870]", + "10029509": "RV670/M88 [Mobility Radeon HD 3870 X2]", + "100294C1": "RV610 [Radeon HD 2400 PRO/XT]", + "100294C3": "RV610 [Radeon HD 2400 PRO]", + "100294C4": "RV610 LE [Radeon HD 2400 PRO AGP]", + "100294C5": "RV610 [Radeon HD 2400 LE]", + "100294C7": "RV610 [Radeon HD 2350]", + "100294C8": "RV610/M74 [Mobility Radeon HD 2400 XT]", + "100294C9": "RV610/M72-S [Mobility Radeon HD 2400]", + "100294CB": "RV610 [Radeon E2400]", + "100294CC": "RV610 LE [Radeon HD 2400 PRO PCI]", + "10029498": "RV730 PRO [Radeon HD 4650]", + "1002949C": "RV730 GL [FirePro V7750]", + "1002949E": "RV730 GL [FirePro V5700]", + "1002949F": "RV730 GL [FirePro V3750]", + "100294A0": "RV740/M97 [Mobility Radeon HD 4830]", + "100294A1": "RV740/M97-XT [Mobility Radeon HD 4860]", + "100294A3": "RV740/M97 GL [FirePro M7740]", + "100294B3": "RV740 PRO [Radeon HD 4770]", + "100294B4": "RV740 PRO [Radeon HD 4750]", + "10029462": "RV790 [Radeon HD 4860]", + "1002946A": "RV770 GL [FirePro M7750]", + "10029480": "RV730/M96 [Mobility Radeon HD 4650/5165]", + "10029488": "RV730/M96-XT [Mobility Radeon HD 4670]", + "10029489": "RV730/M96 GL [Mobility FireGL V5725]", + "10029490": "RV730 XT [Radeon HD 4670]", + "10029491": "RV730/M96-CSP [Radeon E4690]", + "10029495": "RV730 [Radeon HD 4600 AGP Series]", + "1002944A": "RV770/M98L [Mobility Radeon HD 4850]", + "1002944B": "RV770/M98 [Mobility Radeon HD 4850 X2]", + "1002944C": "RV770 LE [Radeon HD 4830]", + "1002944E": "RV770 CE [Radeon HD 4710]", + "10029450": "RV770 GL [FireStream 9270]", + "10029452": "RV770 GL [FireStream 9250]", + "10029456": "RV770 GL [FirePro V8700]", + "1002945A": "RV770/M98-XT [Mobility Radeon HD 4870]", + "10029460": "RV790 [Radeon HD 4890]", + "1002940A": "R600 GL [FireGL V8650]", + "1002940B": "R600 GL [FireGL V8600]", + "1002940F": "R600 GL [FireGL V7600]", + "10029440": "RV770 [Radeon HD 4870]", + "10029441": "R700 [Radeon HD 4870 X2]", + "10029442": "RV770 [Radeon HD 4850]", + "10029443": "R700 [Radeon HD 4850 X2]", + "10029444": "RV770 GL [FirePro V8750]", + "10029446": "RV770 GL [FirePro V7760]", + "1002793F": "RS690M [Radeon Xpress 1200/1250/1270] (Secondary)", + "10027941": "RS600 [Radeon Xpress 1250]", + "10027942": "RS600M [Radeon Xpress 1250]", + "1002796E": "RS740 [Radeon 2100]", + "10029400": "R600 [Radeon HD 2900 PRO/XT]", + "10029401": "R600 [Radeon HD 2900 XT]", + "10029403": "R600 [Radeon HD 2900 PRO]", + "10029405": "R600 [Radeon HD 2900 GT]", + "1002791E": "RS690 [Radeon X1200]", + "1002791F": "RS690M [Radeon Xpress 1200/1250/1270]", + "10027835": "RS350M [Mobility Radeon 9000 IGP]", + "10027448": "Navi 31 [Radeon Pro W7900]", + "1002744C": "Navi 31 [Radeon RX 7900 XT/7900 XTX]", + "1002745E": "Navi 31 [Radeon Pro W7800]", + "10027480": "Navi 33 [Radeon RX 7700S/7600S/7600M XT]", + "10027483": "Navi 33 [Radeon RX 7600M/7600M XT]", + "10027489": "Navi 33", + "10027834": "RS350 [Radeon 9100 PRO/XT IGP]", + "10027446": "Navi 31 USB", + "1002743F": "Navi 24 [Radeon RX 6400/6500 XT/6500M]", + "10027421": "Navi 24 [Radeon PRO W6500M]", + "10027422": "Navi 24 [Radeon PRO W6400]", + "10027423": "Navi 24 [Radeon PRO W6300/W6300M]", + "10027424": "Navi 24 [Radeon RX 6300]", + "100273F0": "Navi 33 [Radeon RX 7600M XT]", + "100273EF": "Navi 23 [Radeon RX 6650 XT / 6700S / 6800S]", + "100273E1": "Navi 23 WKS-XM [Radeon PRO W6600M]", + "100273FF": "Navi 23 [Radeon RX 6600/6600 XT/6600M]", + "100273E3": "Navi 23 WKS-XL [Radeon PRO W6600]", + "100273E4": "Navi 23 USB", + "10027408": "Aldebaran/MI200 [Instinct MI250X]", + "1002740C": "Aldebaran/MI200 [Instinct MI250X/MI250]", + "1002740F": "Aldebaran/MI200 [Instinct MI210]", + "100273CE": "Navi 22-XL SRIOV MxGPU", + "100273AF": "Navi 21 [Radeon RX 6900 XT]", + "100273BF": "Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]", + "100273C4": "Navi 22 USB", + "100273C3": "Navi 22", + "100273E0": "Navi 23", + "100273DF": "Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]", + "100273A5": "Navi 21 [Radeon RX 6950 XT]", + "100273AE": "Navi 21 [Radeon Pro V620 MxGPU]", + "100273A2": "Navi 21 Pro-XTA [Radeon Pro W6900X]", + "100273A3": "Navi 21 GL-XL [Radeon PRO W6800]", + "100273A4": "Navi 21 USB", + "100273AB": "Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo]", + "1002734F": "Navi 14 [Radeon Pro W5300M]", + "10027360": "Navi 12 [Radeon Pro 5600M/V520/BC-160]", + "100273A1": "Navi 21 [Radeon Pro V620]", + "10027362": "Navi 12 [Radeon Pro V520/V540]", + "10027388": "Arcturus GL-XL", + "1002738C": "Arcturus GL-XL [Instinct MI100]", + "1002738E": "Arcturus GL-XL [Instinct MI100]", + "10027319": "Navi 10 [Radeon Pro 5700 XT]", + "1002731B": "Navi 10 [Radeon Pro 5700]", + "1002731F": "Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]", + "10027340": "Navi 14 [Radeon RX 5500/5500M / Pro 5500M]", + "10027341": "Navi 14 [Radeon Pro W5500]", + "10027347": "Navi 14 [Radeon Pro W5500M]", + "1002731E": "TDC-150", + "100272A0": "RV570 [Radeon X1950 PRO] (Secondary)", + "100272A8": "RV570 [Radeon X1950 GT] (Secondary)", + "100272B1": "RV560 [Radeon X1650 XT] (Secondary)", + "100272B3": "RV560 [Radeon X1650 GT] (Secondary)", + "10027300": "Fiji [Radeon R9 FURY / NANO Series]", + "10027310": "Navi 10 [Radeon Pro W5700X]", + "10027312": "Navi 10 [Radeon Pro W5700]", + "10027314": "Navi 10 USB", + "1002724E": "R580 GL [FireGL V7350]", + "10027269": "R580 [Radeon X1900 XT] (Secondary)", + "1002726B": "R580 [Radeon X1900 GT] (Secondary)", + "1002726E": "R580 [AMD Stream Processor] (Secondary)", + "10027280": "RV570 [Radeon X1950 PRO]", + "10027288": "RV570 [Radeon X1950 GT]", + "10027291": "RV560 [Radeon X1650 XT]", + "10027293": "RV560 [Radeon X1650 GT]", + "100271F2": "RV530 GL [FireGL V3400] (Secondary)", + "10027210": "RV550/M71 [Mobility Radeon HD 2300]", + "10027211": "RV550/M71 [Mobility Radeon X2300 HD]", + "10027240": "R580+ [Radeon X1950 XTX]", + "10027244": "R580+ [Radeon X1950 XT]", + "10027248": "R580 [Radeon X1950]", + "10027249": "R580 [Radeon X1900 XT]", + "1002724B": "R580 [Radeon X1900 GT]", + "100271D6": "RV530/M66-XT [Mobility Radeon X1700]", + "100271DE": "RV530/M66 [Mobility Radeon X1700/X2500]", + "100271E0": "RV530 [Radeon X1600] (Secondary)", + "100271E1": "RV535 [Radeon X1650 PRO] (Secondary)", + "100271E2": "RV530 [Radeon X1600] (Secondary)", + "100271E6": "RV530 [Radeon X1650] (Secondary)", + "100271E7": "RV535 [Radeon X1650 PRO] (Secondary)", + "100271C4": "RV530/M56 GL [Mobility FireGL V5200]", + "100271C5": "RV530/M56-P [Mobility Radeon X1600]", + "100271C6": "RV530LE [Radeon X1600/X1650 PRO]", + "100271C7": "RV535 [Radeon X1650 PRO]", + "100271CE": "RV530 [Radeon X1300 XT/X1600 PRO]", + "100271D2": "RV530 GL [FireGL V3400]", + "100271D4": "RV530/M66 GL [Mobility FireGL V5250]", + "100271D5": "RV530/M66-P [Mobility Radeon X1700]", + "100271A7": "RV516 [Radeon X1300/X1550 Series] (Secondary)", + "100271BB": "RV516 GL [FireMV 2250] (Secondary)", + "100271C0": "RV530 [Radeon X1600 XT/X1650 GTO]", + "100271C1": "RV535 [Radeon X1650 PRO]", + "100271C2": "RV530 [Radeon X1600 PRO]", + "100271C3": "RV530 [Radeon X1600 PRO]", + "1002718D": "RV516/M64-CSP128 [Mobility Radeon X1450]", + "10027193": "RV516 [Radeon X1550 Series]", + "10027196": "RV516/M62-S [Mobility Radeon X1350]", + "1002719B": "RV516 GL [FireMV 2250]", + "1002719F": "RV516 [Radeon X1550 Series]", + "100271A0": "RV516 [Radeon X1300/X1550 Series] (Secondary)", + "100271A1": "RV516 [Radeon X1600/X1650 Series] (Secondary)", + "100271A3": "RV516 [Radeon X1300/X1550 Series] (Secondary)", + "10027186": "RV516/M64 [Mobility Radeon X1450]", + "10027187": "RV516 [Radeon X1300/X1550 Series]", + "10027188": "RV516/M64-S [Mobility Radeon X2300]", + "1002718A": "RV516/M64 [Mobility Radeon X2300]", + "1002718B": "RV516/M62 [Mobility Radeon X1350]", + "1002718C": "RV516/M62-CSP64 [Mobility Radeon X1350]", + "10027162": "RV515 PRO [Radeon X1300/X1550 Series] (Secondary)", + "10027163": "RV505 [Radeon X1550 Series] (Secondary)", + "10027166": "RV515 [Radeon X1300/X1550 Series] (Secondary)", + "10027167": "RV515 [Radeon X1550 64-bit] (Secondary)", + "10027172": "RV515 GL [FireGL V3300] (Secondary)", + "10027173": "RV515 GL [FireGL V3350] (Secondary)", + "10027181": "RV516 [Radeon X1600/X1650 Series]", + "10027183": "RV516 [Radeon X1300/X1550 Series]", + "10027145": "RV515/M54 [Mobility Radeon X1400]", + "10027146": "RV515 [Radeon X1300/X1550]", + "10027147": "RV505 [Radeon X1550 64-bit]", + "10027149": "RV515/M52 [Mobility Radeon X1300]", + "1002714A": "RV515/M52 [Mobility Radeon X1300]", + "10027152": "RV515 GL [FireGL V3300]", + "10027153": "RV515 GL [FireGL V3350]", + "1002715F": "RV505 CE [Radeon X1550 64-bit]", + "10027120": "R520 [Radeon X1800] (Secondary)", + "10027124": "R520 GL [FireGL V7200] (Secondary)", + "10027129": "R520 [Radeon X1800] (Secondary)", + "1002712E": "R520 GL [FireGL V7300] (Secondary)", + "1002712F": "R520 GL [FireGL V7350] (Secondary)", + "10027140": "RV515 [Radeon X1300/X1550/X1600 Series]", + "10027142": "RV515 PRO [Radeon X1300/X1550 Series]", + "10027143": "RV505 [Radeon X1300/X1550 Series]", + "10027102": "R520/M58 [Mobility Radeon X1800]", + "10027104": "R520 GL [FireGL V7200 / Barco MXTR-5100]", + "10027109": "R520 [Radeon X1800 XL]", + "1002710A": "R520 [Radeon X1800 GTO]", + "1002710B": "R520 [Radeon X1800 GTO]", + "1002710E": "R520 GL [FireGL V7300]", + "1002710F": "R520 GL [FireGL V7350]", + "100269A1": "Vega 12", + "100269A2": "Vega 12", + "100269A3": "Vega 12", + "100269AF": "Vega 12 [Radeon Pro Vega 20]", + "10026FDF": "Polaris 20 XL [Radeon RX 580 2048SP]", + "10027100": "R520 [Radeon X1800 XT]", + "10027101": "R520/M58 [Mobility Radeon X1800 XT]", + "10026980": "Polaris12", + "10026981": "Lexa XT [Radeon PRO WX 3200]", + "10026985": "Lexa XT [Radeon PRO WX 3100]", + "10026986": "Polaris12", + "10026987": "Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM]", + "10026995": "Lexa XT [Radeon PRO WX 2100]", + "1002699F": "Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]", + "100269A0": "Vega 12", + "1002698F": "Lexa XT [Radeon PRO WX 3100 / Barco MXRT 4700]", + "1002692F": "Tonga XTV GL [FirePro S7150V]", + "10026938": "Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X]", + "10026939": "Tonga PRO [Radeon R9 285/380]", + "1002694C": "Polaris 22 XT [Radeon RX Vega M GH]", + "1002694E": "Polaris 22 XL [Radeon RX Vega M GL]", + "1002694F": "Polaris 22 MGL XL [Radeon Pro WX Vega M GL]", + "10026930": "Tonga PRO [Radeon R9 380 4GB]", + "1002693B": "Tonga PRO GL [FirePro W7100 / Barco MXRT-7600]", + "100268FE": "Cedar LE", + "10026900": "Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile]", + "10026901": "Topaz PRO [Radeon R5 M255]", + "10026907": "Meso XT [Radeon R5 M315]", + "10026920": "Amethyst [Radeon R9 M395/ M395X Mac Edition]", + "10026921": "Amethyst XT [Radeon R9 M295X / M390X]", + "10026929": "Tonga XT GL [FirePro S7150]", + "1002692B": "Tonga PRO GL [FirePro W7100]", + "100268FA": "Cedar [Radeon HD 7350/8350 / R5 220]", + "100268E4": "Robson CE [Radeon HD 6370M/7370M]", + "100268E5": "Robson LE [Radeon HD 6330M]", + "100268E8": "Cedar", + "100268E9": "Cedar [ATI FirePro (FireGL) Graphics Adapter]", + "100268F1": "Cedar GL [FirePro 2460]", + "100268F2": "Cedar GL [FirePro 2270]", + "100268F8": "Cedar [Radeon HD 7300 Series]", + "100268F9": "Cedar [Radeon HD 5000/6000/7350/8350 Series]", + "100268C8": "Redwood XT GL [FirePro V4800]", + "100268C9": "Redwood PRO GL [FirePro V3800]", + "100268D8": "Redwood XT [Radeon HD 5670/5690/5730]", + "100268D9": "Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570]", + "100268DA": "Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570]", + "100268DE": "Redwood", + "100268E0": "Park [Mobility Radeon HD 5430/5450/5470]", + "100268E1": "Park [Mobility Radeon HD 5430]", + "100268A9": "Juniper XT [FirePro V5800]", + "100268B8": "Juniper XT [Radeon HD 5770]", + "100268B9": "Juniper LE [Radeon HD 5670 640SP Edition]", + "100268BA": "Juniper XT [Radeon HD 6770]", + "100268BE": "Juniper PRO [Radeon HD 5750]", + "100268BF": "Juniper PRO [Radeon HD 6750]", + "100268C0": "Madison [Mobility Radeon HD 5730 / 6570M]", + "100268C1": "Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]", + "100268C7": "Pinewood [Mobility Radeon HD 5570/6550A]", + "10026898": "Cypress XT [Radeon HD 5870]", + "10026899": "Cypress PRO [Radeon HD 5850]", + "1002689B": "Cypress PRO [Radeon HD 6800 Series]", + "1002689C": "Hemlock [Radeon HD 5970]", + "1002689D": "Hemlock [Radeon HD 5970]", + "1002689E": "Cypress LE [Radeon HD 5830]", + "100268A0": "Broadway XT [Mobility Radeon HD 5870]", + "100268A1": "Broadway PRO [Mobility Radeon HD 5850]", + "100268A8": "Granville [Radeon HD 6850M/6870M]", + "1002686D": "Vega 10 GLXTA", + "1002686E": "Vega 10 GLXLA", + "1002687F": "Vega 10 XL/XT [Radeon RX Vega 56/64]", + "10026880": "Lexington [Radeon HD 6550M]", + "10026888": "Cypress XT [FirePro V8800]", + "10026889": "Cypress PRO [FirePro V7800]", + "1002688A": "Cypress XT [FirePro V9800]", + "1002688C": "Cypress XT GL [FireStream 9370]", + "1002688D": "Cypress PRO GL [FireStream 9350]", + "10026869": "Vega 10 XGA [Radeon Pro Vega 48]", + "1002686A": "Vega 10 LEA", + "1002686B": "Vega 10 XTXA [Radeon Pro Vega 64X]", + "10026862": "Vega 10 XT [Radeon PRO SSG]", + "10026863": "Vega 10 XTX [Radeon Vega Frontier Edition]", + "10026864": "Vega 10 [Radeon Pro V340/Instinct MI25x2]", + "10026867": "Vega 10 XL [Radeon Pro Vega 56]", + "10026868": "Vega 10 [Radeon PRO WX 8100/8200]", + "1002686C": "Vega 10 [Instinct MI25 MxGPU/MI25x2 MxGPU/V340 MxGPU/V340L MxGPU]", + "1002683F": "Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]", + "10026840": "Thames [Radeon HD 7500M/7600M Series]", + "10026841": "Thames [Radeon HD 7550M/7570M/7650M]", + "10026842": "Thames LE [Radeon HD 7000M Series]", + "10026843": "Thames [Radeon HD 7670M]", + "10026860": "Vega 10 [Instinct MI25/MI25x2/V340/V320]", + "10026861": "Vega 10 XT [Radeon PRO WX 9100]", + "10026828": "Cape Verde PRO [FirePro W600]", + "10026829": "Cape Verde", + "1002682A": "Venus PRO", + "1002682B": "Cape Verde PRO / Venus LE / Tropo PRO-L [Radeon HD 8830M / R7 250 / R7 M465X]", + "1002682C": "Cape Verde GL [FirePro W4100]", + "1002682D": "Chelsea XT GL [FirePro M4000]", + "1002682F": "Chelsea LP [Radeon HD 7730M]", + "10026835": "Cape Verde PRX [Radeon R9 255 OEM]", + "10026837": "Cape Verde LE [Radeon HD 7730/8730]", + "1002683D": "Cape Verde XT [Radeon HD 7770/8760 / R7 250X]", + "10026820": "Venus XTX [Radeon HD 8890M / R9 M275X/M375X]", + "10026821": "Venus XT [Radeon HD 8870M / R9 M270X/M370X]", + "10026822": "Venus PRO [Radeon E8860]", + "10026823": "Venus PRO [Radeon HD 8850M / R9 M265X]", + "10026825": "Heathrow XT [Radeon HD 7870M]", + "10026826": "Chelsea LP [Radeon HD 7700M Series]", + "10026827": "Heathrow PRO [Radeon HD 7850M/8850M]", + "10026808": "Pitcairn XT GL [FirePro W7000]", + "10026809": "Pitcairn LE GL [FirePro W5000]", + "10026810": "Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]", + "10026811": "Curacao PRO [Radeon R7 370 / R9 270/370 OEM]", + "10026816": "Pitcairn", + "10026817": "Pitcairn", + "10026818": "Pitcairn XT [Radeon HD 7870 GHz Edition]", + "10026819": "Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP]", + "100267EB": "Baffin [Radeon Pro V5300X]", + "100267EF": "Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]", + "100267FF": "Baffin [Radeon RX 550 640SP / RX 560/560X]", + "10026800": "Wimbledon XT [Radeon HD 7970M]", + "10026801": "Neptune XT [Radeon HD 8970M]", + "10026802": "Wimbledon", + "10026806": "Neptune", + "100267DF": "Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]", + "100267E0": "Baffin [Radeon Pro WX 4170]", + "100267E1": "Baffin [Polaris11]", + "100267E3": "Baffin [Radeon Pro WX 4100]", + "100267E8": "Baffin [Radeon Pro WX 4130/4150]", + "100267E9": "Baffin [Polaris11]", + "100267D7": "Ellesmere [Radeon Pro WX 5100 / Barco MXRT-6700]", + "100267C7": "Ellesmere [Radeon Pro WX 5100]", + "100267CA": "Ellesmere [Polaris10]", + "100267CC": "Ellesmere [Polaris10]", + "100267CF": "Ellesmere [Polaris10]", + "100267D0": "Ellesmere [Radeon Pro V7300X / V7350x2]", + "100267D4": "Ellesmere [Radeon Pro WX 7100 / Barco MXRT-8700]", + "100267B9": "Vesuvius [Radeon R9 295X2]", + "100267BE": "Hawaii LE", + "100267C0": "Ellesmere [Radeon Pro WX 7100 Mobile]", + "100267C2": "Ellesmere [Radeon Pro V7300X / V7350x2]", + "100267C4": "Ellesmere [Radeon Pro WX 7100]", + "100267B8": "Hawaii XT [Radeon R9 290X Engineering Sample]", + "100267A2": "Hawaii GL", + "100267A8": "Hawaii", + "100267A9": "Hawaii", + "100267AA": "Hawaii", + "100267B0": "Hawaii XT / Grenada XT [Radeon R9 290X/390X]", + "100267B1": "Hawaii PRO [Radeon R9 290/390]", + "1002679A": "Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280]", + "1002679B": "Malta [Radeon HD 7990/8990 OEM]", + "1002679E": "Tahiti LE [Radeon HD 7870 XT]", + "1002679F": "Tahiti", + "100267A0": "Hawaii XT GL [FirePro W9100]", + "100267A1": "Hawaii PRO GL [FirePro W8100]", + "10026780": "Tahiti XT GL [FirePro W9000]", + "10026784": "Tahiti [FirePro Series Graphics Adapter]", + "10026788": "Tahiti [FirePro Series Graphics Adapter]", + "1002678A": "Tahiti PRO GL [FirePro Series]", + "10026798": "Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]", + "10026770": "Caicos [Radeon HD 6450A/7450A]", + "10026771": "Caicos XTX [Radeon HD 8490 / R5 235X OEM]", + "10026772": "Caicos [Radeon HD 7450A]", + "10026778": "Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]", + "10026779": "Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]", + "1002677B": "Caicos PRO [Radeon HD 7450]", + "10026761": "Seymour LP [Radeon HD 6430M]", + "10026763": "Seymour [Radeon E6460]", + "10026764": "Seymour [Radeon HD 6400M Series]", + "10026765": "Seymour [Radeon HD 6400M Series]", + "10026766": "Caicos", + "10026767": "Caicos", + "10026768": "Caicos", + "10026759": "Turks PRO [Radeon HD 6570/7570/8550 / R5 230]", + "1002675B": "Turks [Radeon HD 7600 Series]", + "1002675D": "Turks PRO [Radeon HD 7570]", + "1002675F": "Turks LE [Radeon HD 5570/6510/7510/8510]", + "10026760": "Seymour [Radeon HD 6400M/7400M Series]", + "10026743": "Whistler [Radeon E6760]", + "10026749": "Turks GL [FirePro V4900]", + "1002674A": "Turks GL [FirePro V3900]", + "10026750": "Onega [Radeon HD 6650A/7650A]", + "10026751": "Turks [Radeon HD 7650A/7670A]", + "10026758": "Turks XT [Radeon HD 6670/7670]", + "1002671F": "Cayman CE [Radeon HD 6930]", + "10026720": "Blackcomb [Radeon HD 6970M/6990M]", + "10026738": "Barts XT [Radeon HD 6870]", + "10026739": "Barts PRO [Radeon HD 6850]", + "1002673E": "Barts LE [Radeon HD 6790]", + "10026740": "Whistler [Radeon HD 6730M/6770M/7690M XT]", + "10026741": "Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]", + "10026742": "Whistler LE [Radeon HD 6610M/7610M]", + "10026707": "Cayman LE GL [FirePro V5900]", + "10026718": "Cayman XT [Radeon HD 6970]", + "10026719": "Cayman PRO [Radeon HD 6950]", + "1002671C": "Antilles [Radeon HD 6990]", + "1002671D": "Antilles [Radeon HD 6990]", + "100266A2": "Vega 20", + "100266A3": "Vega 20 [Radeon Pro Vega II/Radeon Pro Vega II Duo]", + "100266A7": "Vega 20 [Radeon Pro Vega 20]", + "100266AF": "Vega 20 [Radeon VII]", + "10026704": "Cayman PRO GL [FirePro V7900]", + "10026665": "Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520/610 Mobile]", + "10026667": "Jet ULT [Radeon R5 M230]", + "1002666F": "Sun LE [Radeon HD 8550M / R5 M230]", + "100266A0": "Vega 20 [Radeon Pro/Radeon Instinct]", + "100266A1": "Vega 20 [Radeon Pro VII/Radeon Instinct MI50 32GB]", + "10026658": "Bonaire XTX [Radeon R7 260X/360]", + "1002665C": "Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]", + "1002665D": "Bonaire [Radeon R7 200 Series]", + "1002665F": "Tobago PRO [Radeon R7 360 / R9 360 OEM]", + "10026660": "Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile]", + "10026663": "Sun PRO [Radeon HD 8570A/8570M]", + "10026664": "Jet XT [Radeon R5 M240]", + "10026631": "Oland", + "10026640": "Saturn XT [FirePro M6100]", + "10026641": "Saturn PRO [Radeon HD 8930M]", + "10026646": "Bonaire XT [Radeon R9 M280X / FirePro W6150M]", + "10026647": "Saturn PRO/XT [Radeon R9 M270X/M280X]", + "10026649": "Bonaire [FirePro W5100]", + "10026650": "Bonaire", + "10026651": "Bonaire", + "1002664D": "Bonaire [FirePro W5100 / Barco MXRT-5600]", + "10026606": "Mars XTX [Radeon HD 8790M]", + "10026607": "Mars LE [Radeon HD 8530M / R5 M240]", + "10026608": "Oland GL [FirePro W2100]", + "10026610": "Oland XT [Radeon HD 8670 / R5 340X OEM / R7 250/350/350X OEM]", + "10026611": "Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM]", + "10026613": "Oland PRO [Radeon R7 240/340 / Radeon 520]", + "10026617": "Oland LE [Radeon R7 240]", + "10026609": "Oland GL [FirePro W2100 / Barco MXRT 2600]", + "10025E4F": "RV410 [Radeon X700]", + "10025E6B": "RV410 [Radeon X700 PRO] (Secondary)", + "10025E6D": "RV410 [Radeon X700] (Secondary)", + "10025F57": "R423 [Radeon X800 XT]", + "10026600": "Mars [Radeon HD 8670A/8670M/8750M / R7 M370]", + "10026601": "Mars [Radeon HD 8730M]", + "10026604": "Opal XT [Radeon R7 M265/M365X/M465]", + "10026605": "Opal PRO [Radeon R7 M260X]", + "10025D72": "R480 [Radeon X850 XT] (Secondary)", + "10025D77": "R423 [Radeon X800 XT] (Secondary)", + "10025E48": "RV410 GL [FireGL V5000]", + "10025E49": "RV410 [Radeon X700 Series]", + "10025E4A": "RV410 [Radeon X700 XT]", + "10025E4B": "RV410 [Radeon X700 PRO]", + "10025E4C": "RV410 [Radeon X700 SE]", + "10025E4D": "RV410 [Radeon X700]", + "10025D4D": "R480 [Radeon X850 XT Platinum Edition]", + "10025D4E": "R480 [Radeon X850 SE]", + "10025D4F": "R480 [Radeon X800 GTO]", + "10025D50": "R480 GL [FireGL V7200]", + "10025D52": "R480 [Radeon X850 XT]", + "10025D57": "R423 [Radeon X800 XT]", + "10025D6D": "R480 [Radeon X850 XT Platinum Edition] (Secondary)", + "10025D6F": "R480 [Radeon X800 GTO] (Secondary)", + "10025B73": "RV370 [Radeon X300/X550/X1050 Series] (Secondary)", + "10025B74": "RV370 GL [FireGL V3100] (Secondary)", + "10025B75": "RV370 GL [FireMV 2200] (Secondary)", + "10025C61": "RV280/M9+ [Mobility Radeon 9200 AGP]", + "10025C63": "RV280/M9+ [Mobility Radeon 9200 AGP]", + "10025D44": "RV280 [Radeon 9200 SE] (Secondary)", + "10025D45": "RV280 GL [FireMV 2200 PCI] (Secondary)", + "10025D48": "R423/M28 [Mobility Radeon X800 XT]", + "10025D49": "R423/M28 GL [Mobility FireGL V5100]", + "10025D4A": "R423/M28 [Mobility Radeon X800]", + "10025A62": "RC410M [Mobility Radeon Xpress 200M]", + "10025B60": "RV370 [Radeon X300]", + "10025B62": "RV370 [Radeon X600/X600 SE]", + "10025B63": "RV370 [Radeon X300/X550/X1050 Series]", + "10025B64": "RV370 GL [FireGL V3100]", + "10025B65": "RV370 GL [FireMV 2200]", + "10025B66": "RV370X", + "10025B70": "RV370 [Radeon X300 SE]", + "10025B72": "RV380 [Radeon X300/X550/X1050 Series] (Secondary)", + "10025A36": "RC4xx/RS4xx PCI Express Port 1", + "10025A37": "RC4xx/RS4xx PCI Express Port 2", + "10025A38": "RC4xx/RS4xx PCI Express Port 3", + "10025A39": "RC4xx/RS4xx PCI Express Port 4", + "10025A41": "RS400 [Radeon Xpress 200]", + "10025A42": "RS400M [Radeon Xpress 200M]", + "10025A61": "RC410 [Radeon Xpress 200/1100]", + "10025A23": "RD890S/RD990 I/O Memory Management Unit (IOMMU)", + "10025A34": "RS4xx PCI Express Port [ext gfx]", + "10025965": "RV280 GL [FireMV 2200 PCI]", + "10025974": "RS482/RS485 [Radeon Xpress 1100/1150]", + "10025975": "RS482M [Mobility Radeon Xpress 200]", + "10025960": "RV280 [Radeon 9200 PRO / 9250]", + "10025961": "RV280 [Radeon 9200]", + "10025962": "RV280 [Radeon 9200]", + "10025964": "RV280 [Radeon 9200 SE]", + "10025940": "RV280 [Radeon 9200 PRO] (Secondary)", + "10025941": "RV280 [Radeon 9200] (Secondary)", + "10025944": "RV280 [Radeon 9200 SE PCI]", + "10025954": "RS480 [Radeon Xpress 200 Series]", + "10025955": "RS480M [Mobility Radeon Xpress 200]", + "10025834": "RS300 [Radeon 9100 IGP]", + "10025835": "RS300M [Mobility Radeon 9100 IGP]", + "10025854": "RS480 [Radeon Xpress 200 Series] (Secondary)", + "10025874": "RS480 [Radeon Xpress 1150] (Secondary)", + "1002564B": "RV410/M26 GL [Mobility FireGL V5000]", + "1002564F": "RV410/M26 [Mobility Radeon X700 XL]", + "10025652": "RV410/M26 [Mobility Radeon X700]", + "10025653": "RV410/M26 [Mobility Radeon X700]", + "10025654": "Mach64 VT [Video Xpression]", + "10025655": "264VT3 [Mach64 VT3]", + "10025656": "Mach64 VT4 [Video Xpression+]", + "10025657": "RV410 [Radeon X550 XTX / X700]", + "1002554E": "R430 [All-In-Wonder X800 GT]", + "1002554F": "R430 [Radeon X800]", + "10025550": "R423 GL [FireGL V7100]", + "10025551": "R423 GL [FireGL V5100]", + "10025569": "R423 [Radeon X800 PRO] (Secondary)", + "1002556B": "R423 [Radeon X800 GT] (Secondary)", + "1002556D": "R480 [Radeon X800 GTO2/XL] (Secondary)", + "1002556F": "R430 [Radeon X800] (Secondary)", + "10025571": "R423 GL [FireGL V5100] (Secondary)", + "10025462": "RV380/M24C [Mobility Radeon X600 SE]", + "10025464": "RV370/M22 GL [Mobility FireGL V3100]", + "10025549": "R423 [Radeon X800 GTO]", + "1002554A": "R423 [Radeon X800 XT Platinum Edition]", + "1002554B": "R423 [Radeon X800 GT/SE]", + "1002554D": "R480 [Radeon X800 GTO2/XL]", + "1002524C": "Rage 128 VR AGP", + "1002534D": "Rage 128 4X AGP 4x", + "10025354": "Mach 64 VT", + "10025446": "Rage 128 PRO Ultra AGP 4x", + "10025452": "Rage 128 PRO Ultra4XL VR-R AGP", + "10025460": "RV370/M22 [Mobility Radeon X300]", + "10025461": "RV370/M22 [Mobility Radeon X300]", + "1002514C": "R200 [Radeon 8500/8500 LE]", + "1002514D": "R200 [Radeon 9100]", + "10025157": "RV200 [Radeon 7500/7500 LE]", + "10025159": "RV100 [Radeon 7000 / Radeon VE]", + "1002515E": "ES1000", + "10025245": "Rage 128 GL PCI", + "10025246": "Rage 128 (Rage 4) series", + "1002524B": "Rage 128 VR PCI", + "10024E6A": "RV350 [Radeon 9800 XT] (Secondary)", + "10024E71": "RV350/M10 [Mobility Radeon 9600] (Secondary)", + "10024F72": "RV250 [Radeon 9000 Series]", + "10024F73": "RV250 [Radeon 9000 Series] (Secondary)", + "10025044": "All-In-Wonder 128 PCI", + "10025046": "Rage 4 [Rage 128 PRO AGP 4X]", + "10025050": "Rage 4 [Rage 128 PRO PCI / Xpert 128 PCI]", + "10025052": "Rage 4 [Rage 128 PRO AGP 4X]", + "10025144": "R100 [Radeon 7200 / All-In-Wonder Radeon]", + "10025148": "R200 GL [FireGL 8800]", + "10024E54": "RV350/M10 GL [Mobility FireGL T2]", + "10024E56": "RV360/M12 [Mobility Radeon 9550]", + "10024E64": "R300 [Radeon 9700 PRO] (Secondary)", + "10024E65": "R300 [Radeon 9500 PRO] (Secondary)", + "10024E66": "RV350 [Radeon 9600] (Secondary)", + "10024E67": "R300 GL [FireGL X1] (Secondary)", + "10024E68": "R350 [Radeon 9800 PRO] (Secondary)", + "10024E69": "R350 [Radeon 9800] (Secondary)", + "10024E48": "R350 [Radeon 9800 Series]", + "10024E49": "R350 [Radeon 9800]", + "10024E4A": "R360 [Radeon 9800 XXL/XT]", + "10024E4B": "R350 GL [FireGL X2 AGP Pro]", + "10024E50": "RV350/M10 / RV360/M11 [Mobility Radeon 9600 (PRO) / 9700]", + "10024E51": "RV350 [Radeon 9550/9600/X1050 Series]", + "10024E52": "RV350/M10 [Mobility Radeon 9500/9700 SE]", + "10024C66": "RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]", + "10024C6E": "RV250/M9 [Mobility Radeon 9000] (Secondary)", + "10024D46": "Rage Mobility 128 AGP 4X/Mobility M4", + "10024D52": "Theater 550 PRO PCI [ATI TV Wonder 550]", + "10024D53": "Theater 550 PRO PCIe", + "10024E44": "R300 [Radeon 9700/9700 PRO]", + "10024E45": "R300 [Radeon 9500 PRO/9700]", + "10024E46": "R300 [Radeon 9600 TX]", + "10024E47": "R300 GL [FireGL X1]", + "10024C4E": "Rage Mobility L AGP 2x", + "10024C46": "Rage Mobility 128 AGP 2X/Mobility M3", + "10024C47": "3D Rage IIC PCI / Mobility Radeon 7500/7500C", + "10024C49": "3D Rage LT PRO PCI", + "10024C4D": "Rage Mobility AGP 2x Series", + "10024C50": "Rage 3 LT [3D Rage LT PRO PCI]", + "10024C52": "M1 [Rage Mobility-M1 PCI]", + "10024C54": "264LT [Mach64 LT]", + "10024C57": "RV200/M7 [Mobility Radeon 7500]", + "10024C58": "RV200/M7 GL [Mobility FireGL 7800]", + "10024C59": "RV100/M6 [Rage/Radeon Mobility Series]", + "10024A6A": "R420 [Radeon X800] (Secondary)", + "10024A6B": "R420 [Radeon X800 XT AGP] (Secondary)", + "10024A70": "R420 [Radeon X800 XT Platinum Edition AGP] (Secondary)", + "10024A74": "R420 [Radeon X800 VE] (Secondary)", + "10024B49": "R481 [Radeon X850 XT AGP]", + "10024B4B": "R481 [Radeon X850 PRO AGP]", + "10024B4C": "R481 [Radeon X850 XT Platinum Edition AGP]", + "10024B69": "R481 [Radeon X850 XT AGP] (Secondary)", + "10024B6B": "R481 [Radeon X850 PRO AGP] (Secondary)", + "10024B6C": "R481 [Radeon X850 XT Platinum Edition AGP] (Secondary)", + "10024C42": "Mach64 LT [3D Rage LT PRO AGP]", + "1002496E": "RV250 [Radeon 9000] (Secondary)", + "10024A49": "R420 [Radeon X800 PRO/GTO AGP]", + "10024A4A": "R420 [Radeon X800 GT AGP]", + "10024A4B": "R420 [Radeon X800 AGP Series]", + "10024A4D": "R420 GL [FireGL X3-256]", + "10024A4E": "RV420/M18 [Mobility Radeon 9800]", + "10024A4F": "R420 [Radeon X850 AGP]", + "10024A50": "R420 [Radeon X800 XT Platinum Edition AGP]", + "10024A54": "R420 [Radeon X800 VE AGP]", + "10024A69": "R420 [Radeon X800 PRO/GTO] (Secondary)", + "10024966": "RV250 [Radeon 9000 Series]", + "10024753": "Rage XC", + "10024754": "Mach64 GT/GT-B [3D Rage I/II]", + "10024755": "Mach64 GT-B [3D Rage II+ DVD]", + "10024756": "Rage 2 [3D Rage IIC PCI]", + "10024757": "Rage 2 [3D Rage IIC AGP]", + "10024758": "Mach64 GX [WinTurbo]", + "10024759": "Rage 3 [3D Rage IIC PCI]", + "1002475A": "3D Rage IIC AGP", + "10024654": "Mach64 VT", + "10024742": "Rage 3 [3D Rage PRO AGP 2X]", + "10024744": "Rage 3 [3D Rage PRO AGP 1X]", + "10024749": "3D Rage PRO PCI", + "1002474D": "Rage XL AGP 2X", + "1002474E": "Rage XC AGP", + "1002474F": "Rage XL", + "10024750": "3D Rage Pro PCI", + "10024752": "Rage 3 [Rage XL PCI]", + "10024437": "RS250 [Mobility Radeon 7000 IGP]", + "10024554": "210888ET [Mach64 ET]", + "10024630": "XENOS Parent Die (XBOX 360)", + "10024631": "XENOS Daughter Die (XBOX 360)", +} + + +update_modules() + +if len(sys.argv) > 1 and sys.argv[1]=="--launch-uvicorn": + launch_uvicorn() diff --git a/scripts/on_sd_start.bat b/scripts/on_sd_start.bat index eddae6b8..ccbb97fe 100644 --- a/scripts/on_sd_start.bat +++ b/scripts/on_sd_start.bat @@ -52,73 +52,24 @@ if exist ldm rename ldm ldm-old if not exist "%INSTALL_ENV_DIR%\DLLs\libssl-1_1-x64.dll" copy "%INSTALL_ENV_DIR%\Library\bin\libssl-1_1-x64.dll" "%INSTALL_ENV_DIR%\DLLs\" if not exist "%INSTALL_ENV_DIR%\DLLs\libcrypto-1_1-x64.dll" copy "%INSTALL_ENV_DIR%\Library\bin\libcrypto-1_1-x64.dll" "%INSTALL_ENV_DIR%\DLLs\" +cd .. + +@rem set any overrides +set HF_HUB_DISABLE_SYMLINKS_WARNING=true + @rem install or upgrade the required modules set PATH=C:\Windows\System32;%PATH% @REM prevent from using packages from the user's home directory, to avoid conflicts set PYTHONNOUSERSITE=1 -set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages - -@rem Download the required packages -call python ..\scripts\check_modules.py -if "%ERRORLEVEL%" NEQ "0" ( - pause - exit /b -) - -call WHERE uvicorn > .tmp -@>nul findstr /m "uvicorn" .tmp -@if "%ERRORLEVEL%" NEQ "0" ( - @echo. & echo "UI packages not found! Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/easydiffusion/easydiffusion/wiki/Troubleshooting" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/easydiffusion/easydiffusion/issues" & echo "Thanks!" & echo. - pause - exit /b -) - -@>nul findstr /m "conda_sd_ui_deps_installed" ..\scripts\install_status.txt -@if "%ERRORLEVEL%" NEQ "0" ( - @echo conda_sd_ui_deps_installed >> ..\scripts\install_status.txt -) - -@>nul findstr /m "sd_install_complete" ..\scripts\install_status.txt -@if "%ERRORLEVEL%" NEQ "0" ( - @echo sd_weights_downloaded >> ..\scripts\install_status.txt - @echo sd_install_complete >> ..\scripts\install_status.txt -) - -@echo. & echo "Easy Diffusion installation complete! Starting the server!" & echo. - -@set SD_DIR=%cd% - set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages echo PYTHONPATH=%PYTHONPATH% +@rem Download the required packages call where python call python --version -@cd .. -@set SD_UI_PATH=%cd%\ui +call python scripts\check_modules.py --launch-uvicorn +pause +exit /b -@FOR /F "tokens=* USEBACKQ" %%F IN (`python scripts\get_config.py --default=9000 net listen_port`) DO ( - @SET ED_BIND_PORT=%%F -) - -@FOR /F "tokens=* USEBACKQ" %%F IN (`python scripts\get_config.py --default=False net listen_to_network`) DO ( - if "%%F" EQU "True" ( - @FOR /F "tokens=* USEBACKQ" %%G IN (`python scripts\get_config.py --default=0.0.0.0 net bind_ip`) DO ( - @SET ED_BIND_IP=%%G - ) - ) else ( - @SET ED_BIND_IP=127.0.0.1 - ) -) - - -@cd stable-diffusion - -@rem set any overrides -set HF_HUB_DISABLE_SYMLINKS_WARNING=true - -@python -m uvicorn main:server_api --app-dir "%SD_UI_PATH%" --port %ED_BIND_PORT% --host %ED_BIND_IP% --log-level error - - -@pause diff --git a/scripts/on_sd_start.sh b/scripts/on_sd_start.sh index e366bd2a..48161cd3 100755 --- a/scripts/on_sd_start.sh +++ b/scripts/on_sd_start.sh @@ -41,45 +41,8 @@ fi if [ -e "src" ]; then mv src src-old; fi if [ -e "ldm" ]; then mv ldm ldm-old; fi -# Download the required packages -if ! python ../scripts/check_modules.py; then - read -p "Press any key to continue" - exit 1 -fi - -if ! command -v uvicorn &> /dev/null; then - fail "UI packages not found!" -fi - -if [ `grep -c sd_install_complete ../scripts/install_status.txt` -gt "0" ]; then - echo sd_weights_downloaded >> ../scripts/install_status.txt - echo sd_install_complete >> ../scripts/install_status.txt -fi - -printf "\n\nEasy Diffusion installation complete, starting the server!\n\n" - -SD_PATH=`pwd` - -export PYTORCH_ENABLE_MPS_FALLBACK=1 -export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages" -echo "PYTHONPATH=$PYTHONPATH" - -which python -python --version - cd .. -export SD_UI_PATH=`pwd`/ui -export ED_BIND_PORT="$( python scripts/get_config.py --default=9000 net listen_port )" -case "$( python scripts/get_config.py --default=False net listen_to_network )" in - "True") - export ED_BIND_IP=$( python scripts/get_config.py --default=0.0.0.0 net bind_ip) - ;; - "False") - export ED_BIND_IP=127.0.0.1 - ;; -esac -cd stable-diffusion - -uvicorn main:server_api --app-dir "$SD_UI_PATH" --port "$ED_BIND_PORT" --host "$ED_BIND_IP" --log-level error +# Download the required packages +python scripts/check_modules.py --launch-uvicorn read -p "Press any key to continue"