#!/bin/bash # Device ID names derived from Mesa, which are licensed # under the terms of MIT license: # # https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/license.html # devices=() devices+=(0x7121 "I810" "i8xx") devices+=(0x7123 "I810_DC100" "i8xx") devices+=(0x7125 "I810_E" "i8xx") devices+=(0x1132 "I815" "i8xx") devices+=(0x3577 "I830_M" "Intel(R) 830M") devices+=(0x2562 "845_G" "Intel(R) 845G") devices+=(0x3582 "I855_GM" "Intel(R) 852GM/855GM") devices+=(0x2572 "I865_G" "Intel(R) 865G") devices+=(0x2582 "I915_G" "Intel(R) 915G") devices+=(0x258A "E7221_G" "Intel(R) E7221G (i915)") devices+=(0x2592 "I915_GM" "Intel(R) 915GM") devices+=(0x2772 "I945_G" "Intel(R) 945G") devices+=(0x27A2 "I945_GM" "Intel(R) 945GM") devices+=(0x27AE "I945_GME" "Intel(R) 945GME") devices+=(0x29B2 "Q35_G" "Intel(R) Q35") devices+=(0x29C2 "G33_G" "Intel(R) G33") devices+=(0x29D2 "Q33_G" "Intel(R) Q33") devices+=(0xA011 "PNV_GM" "Intel(R) Pineview M") devices+=(0xA001 "PNV_G" "Intel(R) Pineview") devices+=(0x29A2 "i965" "Intel(R) 965G") devices+=(0x2992 "i965" "Intel(R) 965Q") devices+=(0x2982 "i965" "Intel(R) 965G") devices+=(0x2972 "i965" "Intel(R) 946GZ") devices+=(0x2A02 "i965" "Intel(R) 965GM") devices+=(0x2A12 "i965" "Intel(R) 965GME/GLE") devices+=(0x2A42 "g4x" "Mobile IntelĀ® GM45 Express Chipset") devices+=(0x2E02 "g4x" "Intel(R) Integrated Graphics Device") devices+=(0x2E12 "g4x" "Intel(R) Q45/Q43") devices+=(0x2E22 "g4x" "Intel(R) G45/G43") devices+=(0x2E32 "g4x" "Intel(R) G41") devices+=(0x2E42 "g4x" "Intel(R) B43") devices+=(0x2E92 "g4x" "Intel(R) B43") devices+=(0x0042 "ilk" "Intel(R) Ironlake Desktop") devices+=(0x0046 "ilk" "Intel(R) Ironlake Mobile") devices+=(0x0102 "snb_gt1" "Intel(R) Sandybridge Desktop") devices+=(0x0112 "snb_gt2" "Intel(R) Sandybridge Desktop") devices+=(0x0122 "snb_gt2" "Intel(R) Sandybridge Desktop") devices+=(0x0106 "snb_gt1" "Intel(R) Sandybridge Mobile") devices+=(0x0116 "snb_gt2" "Intel(R) Sandybridge Mobile") devices+=(0x0126 "snb_gt2" "Intel(R) Sandybridge Mobile") devices+=(0x010A "snb_gt1" "Intel(R) Sandybridge Server") devices+=(0x0152 "ivb_gt1" "Intel(R) Ivybridge Desktop") devices+=(0x0162 "ivb_gt2" "Intel(R) Ivybridge Desktop") devices+=(0x0156 "ivb_gt1" "Intel(R) Ivybridge Mobile") devices+=(0x0166 "ivb_gt2" "Intel(R) Ivybridge Mobile") devices+=(0x015a "ivb_gt1" "Intel(R) Ivybridge Server") devices+=(0x016a "ivb_gt2" "Intel(R) Ivybridge Server") devices+=(0x0402 "hsw_gt1" "Intel(R) Haswell Desktop") devices+=(0x0412 "hsw_gt2" "Intel(R) Haswell Desktop") devices+=(0x0422 "hsw_gt3" "Intel(R) Haswell Desktop") devices+=(0x0406 "hsw_gt1" "Intel(R) Haswell Mobile") devices+=(0x0416 "hsw_gt2" "Intel(R) Haswell Mobile") devices+=(0x0426 "hsw_gt3" "Intel(R) Haswell Mobile") devices+=(0x040A "hsw_gt1" "Intel(R) Haswell Server") devices+=(0x041A "hsw_gt2" "Intel(R) Haswell Server") devices+=(0x042A "hsw_gt3" "Intel(R) Haswell Server") devices+=(0x040B "hsw_gt1" "Intel(R) Haswell") devices+=(0x041B "hsw_gt2" "Intel(R) Haswell") devices+=(0x042B "hsw_gt3" "Intel(R) Haswell") devices+=(0x040E "hsw_gt1" "Intel(R) Haswell") devices+=(0x041E "hsw_gt2" "Intel(R) Haswell") devices+=(0x042E "hsw_gt3" "Intel(R) Haswell") devices+=(0x0C02 "hsw_gt1" "Intel(R) Haswell Desktop") devices+=(0x0C12 "hsw_gt2" "Intel(R) Haswell Desktop") devices+=(0x0C22 "hsw_gt3" "Intel(R) Haswell Desktop") devices+=(0x0C06 "hsw_gt1" "Intel(R) Haswell Mobile") devices+=(0x0C16 "hsw_gt2" "Intel(R) Haswell Mobile") devices+=(0x0C26 "hsw_gt3" "Intel(R) Haswell Mobile") devices+=(0x0C0A "hsw_gt1" "Intel(R) Haswell Server") devices+=(0x0C1A "hsw_gt2" "Intel(R) Haswell Server") devices+=(0x0C2A "hsw_gt3" "Intel(R) Haswell Server") devices+=(0x0C0B "hsw_gt1" "Intel(R) Haswell") devices+=(0x0C1B "hsw_gt2" "Intel(R) Haswell") devices+=(0x0C2B "hsw_gt3" "Intel(R) Haswell") devices+=(0x0C0E "hsw_gt1" "Intel(R) Haswell") devices+=(0x0C1E "hsw_gt2" "Intel(R) Haswell") devices+=(0x0C2E "hsw_gt3" "Intel(R) Haswell") devices+=(0x0A02 "hsw_gt1" "Intel(R) Haswell Desktop") devices+=(0x0A12 "hsw_gt2" "Intel(R) Haswell Desktop") devices+=(0x0A22 "hsw_gt3" "Intel(R) Haswell Desktop") devices+=(0x0A06 "hsw_gt1" "Intel(R) Haswell Mobile") devices+=(0x0A16 "hsw_gt2" "Intel(R) Haswell Mobile") devices+=(0x0A26 "hsw_gt3" "Intel(R) Haswell Mobile") devices+=(0x0A0A "hsw_gt1" "Intel(R) Haswell Server") devices+=(0x0A1A "hsw_gt2" "Intel(R) Haswell Server") devices+=(0x0A2A "hsw_gt3" "Intel(R) Haswell Server") devices+=(0x0A0B "hsw_gt1" "Intel(R) Haswell") devices+=(0x0A1B "hsw_gt2" "Intel(R) Haswell") devices+=(0x0A2B "hsw_gt3" "Intel(R) Haswell") devices+=(0x0A0E "hsw_gt1" "Intel(R) Haswell") devices+=(0x0A1E "hsw_gt2" "Intel(R) Haswell") devices+=(0x0A2E "hsw_gt3" "Intel(R) Haswell") devices+=(0x0D02 "hsw_gt1" "Intel(R) Haswell Desktop") devices+=(0x0D12 "hsw_gt2" "Intel(R) Haswell Desktop") devices+=(0x0D22 "hsw_gt3" "Intel(R) Haswell Desktop") devices+=(0x0D06 "hsw_gt1" "Intel(R) Haswell Mobile") devices+=(0x0D16 "hsw_gt2" "Intel(R) Haswell Mobile") devices+=(0x0D26 "hsw_gt3" "Intel(R) Haswell Mobile") devices+=(0x0D0A "hsw_gt1" "Intel(R) Haswell Server") devices+=(0x0D1A "hsw_gt2" "Intel(R) Haswell Server") devices+=(0x0D2A "hsw_gt3" "Intel(R) Haswell") devices+=(0x0D0B "hsw_gt1" "Intel(R) Haswell") devices+=(0x0D1B "hsw_gt2" "Intel(R) Haswell") devices+=(0x0D2B "hsw_gt3" "Intel(R) Haswell") devices+=(0x0D0E "hsw_gt1" "Intel(R) Haswell") devices+=(0x0D1E "hsw_gt2" "Intel(R) Haswell") devices+=(0x0D2E "hsw_gt3" "Intel(R) Haswell") devices+=(0x0F31 "byt" "Intel(R) Bay Trail") devices+=(0x0F32 "byt" "Intel(R) Bay Trail") devices+=(0x0F33 "byt" "Intel(R) Bay Trail") devices+=(0x0157 "byt" "Intel(R) Bay Trail") devices+=(0x0155 "byt" "Intel(R) Bay Trail") devices+=(0x22B0 "chv" "Intel(R) HD Graphics (Cherrytrail)") devices+=(0x22B1 "chv" "Intel(R) HD Graphics XXX (Braswell)") devices+=(0x22B2 "chv" "Intel(R) HD Graphics (Cherryview)") devices+=(0x22B3 "chv" "Intel(R) HD Graphics (Cherryview)") devices+=(0x1602 "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x1606 "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x160A "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x160B "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x160D "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x160E "bdw_gt1" "Intel(R) Broadwell GT1") devices+=(0x1612 "bdw_gt2" "Intel(R) HD Graphics 5600 (Broadwell GT2)") devices+=(0x1616 "bdw_gt2" "Intel(R) HD Graphics 5500 (Broadwell GT2)") devices+=(0x161A "bdw_gt2" "Intel(R) Broadwell GT2") devices+=(0x161B "bdw_gt2" "Intel(R) Broadwell GT2") devices+=(0x161D "bdw_gt2" "Intel(R) Broadwell GT2") devices+=(0x161E "bdw_gt2" "Intel(R) HD Graphics 5300 (Broadwell GT2)") devices+=(0x1622 "bdw_gt3" "Intel(R) Iris Pro 6200 (Broadwell GT3e)") devices+=(0x1626 "bdw_gt3" "Intel(R) HD Graphics 6000 (Broadwell GT3)") devices+=(0x162A "bdw_gt3" "Intel(R) Iris Pro P6300 (Broadwell GT3e)") devices+=(0x162B "bdw_gt3" "Intel(R) Iris 6100 (Broadwell GT3)") devices+=(0x162D "bdw_gt3" "Intel(R) Broadwell GT3") devices+=(0x162E "bdw_gt3" "Intel(R) Broadwell GT3") devices+=(0x1902 "skl_gt1" "Intel(R) HD Graphics 510 (Skylake GT1)") devices+=(0x1906 "skl_gt1" "Intel(R) HD Graphics 510 (Skylake GT1)") devices+=(0x190A "skl_gt1" "Intel(R) Skylake GT1") devices+=(0x190B "skl_gt1" "Intel(R) HD Graphics 510 (Skylake GT1)") devices+=(0x190E "skl_gt1" "Intel(R) Skylake GT1") devices+=(0x1912 "skl_gt2" "Intel(R) HD Graphics 530 (Skylake GT2)") devices+=(0x1913 "skl_gt2" "Intel(R) Skylake GT2f") devices+=(0x1915 "skl_gt2" "Intel(R) Skylake GT2f") devices+=(0x1916 "skl_gt2" "Intel(R) HD Graphics 520 (Skylake GT2)") devices+=(0x1917 "skl_gt2" "Intel(R) Skylake GT2f") devices+=(0x191A "skl_gt2" "Intel(R) Skylake GT2") devices+=(0x191B "skl_gt2" "Intel(R) HD Graphics 530 (Skylake GT2)") devices+=(0x191D "skl_gt2" "Intel(R) HD Graphics P530 (Skylake GT2)") devices+=(0x191E "skl_gt2" "Intel(R) HD Graphics 515 (Skylake GT2)") devices+=(0x1921 "skl_gt2" "Intel(R) HD Graphics 520 (Skylake GT2)") devices+=(0x1923 "skl_gt3" "Intel(R) Skylake GT3e") devices+=(0x1926 "skl_gt3" "Intel(R) Iris Graphics 540 (Skylake GT3e)") devices+=(0x1927 "skl_gt3" "Intel(R) Iris Graphics 550 (Skylake GT3e)") devices+=(0x192A "skl_gt4" "Intel(R) Skylake GT4") devices+=(0x192B "skl_gt3" "Intel(R) Iris Graphics 555 (Skylake GT3e)") devices+=(0x192D "skl_gt3" "Intel(R) Iris Graphics P555 (Skylake GT3e)") devices+=(0x1932 "skl_gt4" "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)") devices+=(0x193A "skl_gt4" "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") devices+=(0x193B "skl_gt4" "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)") devices+=(0x193D "skl_gt4" "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") devices+=(0x0A84 "bxt" "Intel(R) HD Graphics (Broxton)") devices+=(0x1A84 "bxt" "Intel(R) HD Graphics (Broxton)") devices+=(0x1A85 "bxt_2x6" "Intel(R) HD Graphics (Broxton 2x6)") devices+=(0x5A84 "bxt" "Intel(R) HD Graphics 505 (Broxton)") devices+=(0x5A85 "bxt_2x6" "Intel(R) HD Graphics 500 (Broxton 2x6)") devices+=(0x5902 "kbl_gt1" "Intel(R) HD Graphics 610 (Kaby Lake GT1)") devices+=(0x5906 "kbl_gt1" "Intel(R) HD Graphics 610 (Kaby Lake GT1)") devices+=(0x590A "kbl_gt1" "Intel(R) Kabylake GT1") devices+=(0x5908 "kbl_gt1" "Intel(R) Kabylake GT1") devices+=(0x590B "kbl_gt1" "Intel(R) Kabylake GT1") devices+=(0x590E "kbl_gt1" "Intel(R) Kabylake GT1") devices+=(0x5913 "kbl_gt1_5" "Intel(R) Kabylake GT1.5") devices+=(0x5915 "kbl_gt1_5" "Intel(R) Kabylake GT1.5") devices+=(0x5917 "kbl_gt2" "Intel(R) UHD Graphics 620 (Kabylake GT2)") devices+=(0x5912 "kbl_gt2" "Intel(R) HD Graphics 630 (Kaby Lake GT2)") devices+=(0x5916 "kbl_gt2" "Intel(R) HD Graphics 620 (Kaby Lake GT2)") devices+=(0x591A "kbl_gt2" "Intel(R) HD Graphics P630 (Kaby Lake GT2)") devices+=(0x591B "kbl_gt2" "Intel(R) HD Graphics 630 (Kaby Lake GT2)") devices+=(0x591D "kbl_gt2" "Intel(R) HD Graphics P630 (Kaby Lake GT2)") devices+=(0x591E "kbl_gt2" "Intel(R) HD Graphics 615 (Kaby Lake GT2)") devices+=(0x5921 "kbl_gt2" "Intel(R) Kabylake GT2F") devices+=(0x5923 "kbl_gt3" "Intel(R) Kabylake GT3") devices+=(0x5926 "kbl_gt3" "Intel(R) Iris Plus Graphics 640 (Kaby Lake GT3e)") devices+=(0x5927 "kbl_gt3" "Intel(R) Iris Plus Graphics 650 (Kaby Lake GT3e)") devices+=(0x593B "kbl_gt4" "Intel(R) Kabylake GT4") devices+=(0x591C "kbl_gt2" "Intel(R) Amber Lake (Kabylake) GT2") devices+=(0x87C0 "kbl_gt2" "Intel(R) Amber Lake (Kabylake) GT2") devices+=(0x87CA "cfl_gt2" "Intel(R) Amber Lake (Coffeelake) GT2") devices+=(0x3184 "glk" "Intel(R) UHD Graphics 605 (Geminilake)") devices+=(0x3185 "glk_2x6" "Intel(R) UHD Graphics 600 (Geminilake 2x6)") devices+=(0x3E90 "cfl_gt1" "Intel(R) UHD Graphics 610 (Coffeelake 2x6 GT1)") devices+=(0x3E93 "cfl_gt1" "Intel(R) UHD Graphics 610 (Coffeelake 2x6 GT1)") devices+=(0x3E99 "cfl_gt1" "Intel(R) HD Graphics (Coffeelake 2x6 GT1)") devices+=(0x3E9C "cfl_gt1" "Intel(R) HD Graphics (Coffeelake 2x6 GT1)") devices+=(0x3E91 "cfl_gt2" "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)") devices+=(0x3E92 "cfl_gt2" "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)") devices+=(0x3E96 "cfl_gt2" "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") devices+=(0x3E98 "cfl_gt2" "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)") devices+=(0x3E9A "cfl_gt2" "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") devices+=(0x3E9B "cfl_gt2" "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)") devices+=(0x3E94 "cfl_gt2" "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") devices+=(0x3EA9 "cfl_gt2" "Intel(R) HD Graphics (Coffeelake 3x8 GT2)") devices+=(0x3EA5 "cfl_gt3" "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") devices+=(0x3EA6 "cfl_gt3" "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") devices+=(0x3EA7 "cfl_gt3" "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") devices+=(0x3EA8 "cfl_gt3" "Intel(R) HD Graphics (Coffeelake 3x8 GT3)") devices+=(0x3EA1 "cfl_gt1" "Intel(R) UHD Graphics (Whiskey Lake 2x6 GT1)") devices+=(0x3EA4 "cfl_gt1" "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT1)") devices+=(0x3EA0 "cfl_gt2" "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT2)") devices+=(0x3EA3 "cfl_gt2" "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT2)") devices+=(0x3EA2 "cfl_gt3" "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT3)") devices+=(0x9B21 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BA0 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BA2 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BA4 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BA5 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BA8 "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BAA "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BAB "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9BAC "cfl_gt1" "Intel(R) HD Graphics (Comet Lake 2x6 GT1)") devices+=(0x9B41 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BC0 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BC2 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BC4 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BC5 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BC8 "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BCA "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BCB "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x9BCC "cfl_gt2" "Intel(R) HD Graphics (Comet Lake 3x8 GT2)") devices+=(0x5A49 "cnl_2x8" "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)") devices+=(0x5A4A "cnl_2x8" "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)") devices+=(0x5A41 "cnl_3x8" "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") devices+=(0x5A42 "cnl_3x8" "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") devices+=(0x5A44 "cnl_3x8" "Intel(R) HD Graphics (Cannonlake 3x8 GT1)") devices+=(0x5A59 "cnl_4x8" "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") devices+=(0x5A5A "cnl_4x8" "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") devices+=(0x5A5C "cnl_4x8" "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)") devices+=(0x5A50 "cnl_5x8" "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") devices+=(0x5A51 "cnl_5x8" "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") devices+=(0x5A52 "cnl_5x8" "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") devices+=(0x5A54 "cnl_5x8" "Intel(R) HD Graphics (Cannonlake 5x8 GT2)") devices+=(0x8A50 "icl_8x8" "Intel(R) HD Graphics (Ice Lake 8x8 GT2)") devices+=(0x8A51 "icl_8x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)") devices+=(0x8A52 "icl_8x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)") devices+=(0x8A53 "icl_8x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)") devices+=(0x8A54 "icl_6x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)") devices+=(0x8A56 "icl_4x8" "Intel(R) UHD Graphics (Ice Lake 4x8 GT1)") devices+=(0x8A57 "icl_6x8" "Intel(R) HD Graphics (Ice Lake 6x8 GT1.5)") devices+=(0x8A58 "icl_4x8" "Intel(R) UHD Graphics (Ice Lake 4x8 GT1)") devices+=(0x8A59 "icl_6x8" "Intel(R) HD Graphics (Ice Lake 6x8 GT1.5)") devices+=(0x8A5A "icl_6x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)") devices+=(0x8A5B "icl_4x8" "Intel(R) HD Graphics (Ice Lake 4x8 GT1)") devices+=(0x8A5C "icl_6x8" "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)") devices+=(0x8A5D "icl_4x8" "Intel(R) HD Graphics (Ice Lake 4x8 GT1)") devices+=(0x8A71 "icl_1x8" "Intel(R) HD Graphics (Ice Lake 1x8 GT0.5)") devices+=(0x4500 "ehl_4x8" "Intel(R) HD Graphics (Elkhart Lake 4x8)") devices+=(0x4571 "ehl_4x8" "Intel(R) HD Graphics (Elkhart Lake 4x8)") devices+=(0x4551 "ehl_4x4" "Intel(R) HD Graphics (Elkhart Lake 4x4)") devices+=(0x4541 "ehl_2x4" "Intel(R) HD Graphics (Elkhart Lake 2x4)") count=${#devices[*]} found=0 for id in $(lspci -n | sed -nE 's,^.*8086:([a-f0-9]*).*$,0x\U\1,pg'); do device=0 while (( ${device} < ${count} )); do (( "${devices[$device]}" == "$id" )) && { echo "${devices[$((device+2))]}" found=1 } device=$((device+3)) done done (( $found )) || { echo "No Intel graphics hardware found." exit 1 } exit 0