A meghajtó modul neve i915, ez valójában általános illesztőprogram az összes Intel iGPU számára, beleértve a 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G, G35, G41, G43, G45 lapkakészleteket és Celeron, Pentium, Core i3, Core i5, Core i7, kártyákat, valamint Atom CPU-k integrált grafikus eszközöket is. Nem számít, ha egy adott Intel iGPU szerepel-e, vagy nem ezen a a listán, a Kernel-modul (meghajtó) midegyiket támogatja.
Micro- architecture/ foglalat | Grafikuseszköz-generációk | Vulkan | OpenGL | HLSL shader model | OpenCL | ||
SandyBridge | 1155 | 6th | HD 2000, HD 3000 | N/A | 3.3 | 4.1 | N/A |
IvyBridge | 1155 | 7th | HD 2500, HD4000 | 1.0 | 4.2 | 5.0 | 1.2 (Beignet) |
BayTrail | SoCs | HD Graphics (Bay trail) | |||||
Haswell | 1150 | 7.5th | HD 5000, 4600, 4400 and 4200 Iris Pro 5200, Iris 5000 and 5100 | 4.6 | |||
Broadwell | 1150 | 8th | HD 6000, P5700, 5600, 5500, 5300 Iris Pro 6200, P6300, Iris 6100 | ||||
Braswell | SoCs | HD Graphics 400, 405 | |||||
Skylake | 1151 | 9th | HD 510, 515, 520, 530 and 535; Iris 540 and 550 Iris Pro 580 | Vulkan 1.2 (Mesa 20) | 6.0 | 2.1 (Neo) 2.0 (Beignet) 1.2 (Mesa Clover) | |
ApolloLake | SoCs | HD Graphics 500, 505 | 1.2 (Neo) 2.0 (Beignet) 1.2 (Mesa Clover) | ||||
GeminiLake | SoCs | UHD 600, 605 | |||||
KabyLake | 1151 | 9.5th | HD 610, 615, 620, 630, Iris Plus 640, Iris Plus 650 | 2.1 (Neo) 2.0 (Beignet) 1.2 (Mesa Clover) | |||
KabyLake recycled | UHD 620 | ||||||
WhiskeyLake | |||||||
CoffeeLake | UHD 630, Iris Plus 655 | ||||||
IceLake | SoCs | 11th | Intel® Iris® Plus Graphics | ||||
Tigerlake | SoCs | 12th | ? | ||||
Sapphire Rapids | ? | ||||||
Intel Multimédia
Az Intel® grafikus hardverek új generációi egy külső programot, a firmware-t használják, energia- és teljesítmény-előnyeikkel és olyan funkciókkal, mint az ütemezés és a médialerakódás. Az aktuális firmware verziókat a rendszerrel szállítjuk. A különálló firmware funkciókról az alábbi cikkben olvashatunk.
Firmware
Az Intel Linux Graphics firmware-je elérhető a git.kernel.org webhelyen és persze a rendszer firmware csomagjaiban érhető el. A firmware a processzor hárombetűs termékkódja szerint rendezve van (például a Kabylake GuC így néz ki: kbl_guc_33.0.0.bin ).
GUC – GRAFIKUS MIKROVEZÉRLŐ
A Grafikus mikro (µ) vezérlőt (GuC) úgy tervezték, hogy az általában a gazdameghajtón futó funkciók egy részét töltse le. Ez a funkció a következőket tartalmazza:
- A HEVC / H.265 mikro (µ) vezérlő hitelesítése (HuC)
Lehetővé teszi a HuC kodekek gyorsításának kiterjesztését az iHD Intel médiameghajtóban (lásd alább).
- Alacsony késleltetésű grafikus környezet ütemezése
A GuC kontextusütemezési műveletei között szerepel annak meghatározása, hogy melyik környezetet kell futtatni a következőkben, egy kontextust eljuttatnak a következő rendelkezésre álló motor parancscsaládjához, és előzetesen megengedik és újraküldik a meglévő kontextusokat, ha szükséges.
- Energiagazdálkodás
Az ütemezés végrehajtásakor a GuC jó helyzetben van az elfoglaltság nyomon követésére, és lehetővé teszi a hatékony frekvencia- és teljesítménykapcsolási döntéseket.
A GuC először a Gen9 eszközökben került bevezetésre. Ma az egyetlen hivatalosan támogatott funkció a HuC hitelesítés. Nem ajánlott engedélyezni más még nem támogatott szolgáltatásokat, amelyeket nem biztonságos kernelbeállításokat eredményeznek.
A HuC hitelesítését a GuC támogatja az alábbi Kernelekben:
Gen | Felület | Kernel |
9 | APL, SKL, KBL | 4.11 |
9 | CFL | 4.15 |
11 | ICL | 5.4 |
12 | TGL | 5,6 (eta) |
A szolgáltatás bekapcsolása a következő kernel paraméter beállításával lehetséges:
0 1 2 | i915.enable_guc = 2 |
Figyelem! A 4.16 kernel előtt a HuC hitelesítés engedélyezése így lehetséges : i915.enable_guc_loading = 1
További részletek a kernel dokumentációjában találhatók itt:https://www.kernel.org/doc/html/latest/gpu/i915.html#guc.
HEVC / H.265 MIKROVEZÉRLŐ (HUC).
A HEVC / H.265 mikro (µ) vezérlő (HuC) a médiafunkciók egy részét a processzorról a GPU-ra tölti le, és az iHD Intel médiameghajtó használja. Ide tartoznak többek között a bitráta vezérlése és a fejlécek elemzése. Például bitráta-vezérlés esetén a meghajtó meghívja a HuC-t minden egyes képkódolási lépés elején, a kódolási bitrátát a HuC által végzett számítás állítja be. A HuC használata megtakarítja a szükségtelen CPU-GPU szinkronizálást. A GuC szükséges ahhoz, hogy a fentiekben leírtak szerint be lehessen tölteni a HuC-t!
A részleteket olvassd el a https://github.com/intel/media-driver legfrissebb részleteit a funkcionalitásról, valamint arról, hogy mely platformon és kernelverzión érhető el.
Meghajtócsomag:
0 1 2 | telepites intel-media-driver |
Hibaelhárítás
Néhány Intel-alapú gép, különösen az alacsony fogyasztású chipeket futtató gépek (Atom, Pentium) hajlamos véletlenszerűen lefagyni az alacsony teljesítményű Intel-chipek energiakezelési funkcióinak problémái miatt. Ezt a következő kernelparaméterek hozzáadása (adjuk hozzá őket a GRUB_CMDLINE_LINUX=
sorba a következő fájlhoz: /etc/default/grub
Kernelparaméterek:
0 1 2 | intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1 |
Valószínűleg nem lesz szükség minden fenti paramtéerre!
Az ahci.mobile_lpm_policy=1
Lenovo számítógépeken javítja a SATA vezérlő energiagazdálkodási problémáit. Ez a megoldás közvetlenül nem kapcsolódik az Intel grafikájához, de megoldja a kapcsolódó problémát is. Ha azt tapasztaljuk, hogy a kijelző fényereje megváltozik mikor lefagy a gép akkor is próbáljuk ki ezt a paramétert megadni.
Az Intel alapú rendszerek véletlenszerű lefagyását, nevezetesen a Goldmount és a Kaby Lake Refresh chipeknél a GPU energiagazdálkodását a következő paraméter tiltja le (Ennek a paraméternek a használata nagyobb energiafelhasználást és rövidebb akkumulátor-élettartamot eredményez a laptopokon / laptopokon):
0 1 2 | i915.enable_dc=0 |
A processzorok alvásállapotát korlátozhatjuk, ez megakadályozza a processzort mély alvásba kerülését. Ez magasabb energiafelhasználást eredményez, de megoldja azonban a véletlenszerű lefagyásokat sok Intel Baytrail vagy Kaby Lake Refresh chipek esetében.
0 1 2 | intel_idle.max_cstate=1 |
Néhány Intel rendszer esetében, mint például a Kaby Lake Refresh chipek, mindkettő paramétert megköveteli a rendszer:
0 1 2 | intel_idle.max_cstate=1 i915.enable_dc=0 |
Intel „Baytrail” chipek esetében közismert, hogy véletlenszerűen lefagy az intel_idle.max_cstate=1
kernelparaméter nélkül, egy hardveres hiba miatt [link] .
SkyLake kártyák fagyására a következő paraméter nyújthat megoldást:
0 1 2 | enable_psr=0 |
Esetleg a paraméterek kombinálása:
0 1 2 | intel_idle.max_cstate=1 i915.enable_fbc=0 i915.enable_psr=0 |
Az elérhető paramétereket az alábbi parancs mutatja meg:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | modinfo i915 [...] parm: modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) parm: enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6; 3=up to DC5 with DC3CO; 4=up to DC6 with DC3CO) (in t) parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) parm: lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int) parm: panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int) parm: vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int) parm: reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (uint) parm: vbt_firmware:Load VBT from specified file under /lib/firmware (charp) parm: error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool) parm: enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool) parm: enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) parm: psr_safest_params:Replace PSR VBT parameters by the safest and not optimal ones. This is helpful to detect if PSR issues are related to bad values set in V BT. (0=use VBT parameters, 1=use safest parameters) (bool) parm: enable_psr2_sel_fetch:Enable PSR2 selective fetch (0=disabled, 1=enabled) Default: 0 (bool) parm: force_probe:Force probe the driver for specified devices. See CONFIG_DRM_I915_FORCE_PROBE for details. (charp) parm: disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) parm: enable_ips:Enable IPS (default: true) (int) parm: fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) parm: load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool) parm: force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool) parm: invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and su bsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int) parm: disable_display:Disable display (default: false) (bool) parm: mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int) parm: verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool) parm: nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool) parm: edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int) parm: enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto, 0=disable [default], 1 =GuC submission, 2=HuC load) (int) parm: guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int) parm: guc_firmware_path:GuC firmware path to use instead of the default one (charp) parm: huc_firmware_path:HuC firmware path to use instead of the default one (charp) parm: dmc_firmware_path:DMC firmware path to use instead of the default one (charp) parm: enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool) parm: enable_dpcd_backlight:Enable support for DPCD backlight control(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled) (int) |
Képremegés, villogás probléma
Egy konfigurációs fájlt hozzunk létre 'TearFree
1'
opcióval ez megakadályozza a rendellenes működést. Az Intel illesztőprogram használata esetében az Xorg így néz ki:
/etc/X11/xorg.conf.d/20-intel-gpu.conf
0 1 2 3 4 5 6 | Section "Device" Identifier "Intel" Driver "intel" Option "TearFree" "1" EndSection |
Indítsuk újra a gépet vagy a grafikus kiszolgálót.
Figyelem! A modesetting
meghajtó nem támogatja ezt a paramétert!
Alkalmazásprobléma: Blender
A Blender használatakor megfagyhat a rendszer. A Freedesktop buglistán az alább ajánlás olvasható:
Próbáld meg elindítani a ‘Blender’ alkalmazást az INTEL_DEBUG=reemit opcióval. Esetleg próbáld meg növelni az előzetes időtúllépést a /sys/class/drm/card0/engine/rcs0/preempt_timeout_ms fájl szerkesztésével. Próbáld beállítani ‘10000’-re root joggal.
0 1 2 | echo 10000 > /sys/class/drm/card0/engine/rcs0/preempt_timeout_ms |
További részletek itt.
Iris / i965 meghajtó használata
Fontos: Aziris
a 8. generációs és újabb Intel grafikus chipek alapértelmezése a Mesa 20.0 óta.
A beállításokat a $HOME/.drirc
fájlba kell menteni, vagy használhatjuk a grafikus adriconf programot is.
Végleges beállítás előtt teszteljük, mert hibás DRI értékek esetén nem lesz grafikus felületünk! A $HOME/.drirc
törlésével visszaállíthatjuk az eredeti állapotot.
Iris driver használata
0 1 2 3 4 5 6 | <driconf> <device driver="loader" kernel_driver="i915"> <option name="dri_driver" value="iris" /> </device> </driconf> |
i965 driver használata
0 1 2 3 4 5 6 | <driconf> <device driver="loader" kernel_driver="i915"> <option name="dri_driver" value="i965" /> </device> </driconf> |
Kapcsolódó tartalom
- Gyártó-, vagy típusspecifikus beállítások, hibaelhárítás
Hozzászólások lezárva