安装驱动后也无法驱动,后发现启动后重新加载驱动能正常驱动,故通过添加启动服务的方式重加载驱动解决问题,有相同问题的人可以参考
问题
使用 dmesg | grep -i i915
命令确认
root@fnos:~# dmesg | grep -i i915
[ 1.532247] i915 0000:06:10.0: [drm] Found ALDERLAKE_S/RPL-S (device ID a788) display version 12.00 stepping D0
[ 3.533673] i915 0000:06:10.0: [drm] *ERROR* Device is non-operational; MMIO access returns 0xFFFFFFFF!
[ 3.534706] i915 0000:06:10.0: [drm] *ERROR* Device initialization failed (-5)
[ 3.534720] i915 0000:06:10.0: probe with driver i915 failed with error -5
可见,驱动加载失败了,现在使用 modprobe -r i915 && modprobe i915
重拉驱动
root@fnos:~# modprobe -r i915 && modprobe i915
root@fnos:~# dmesg | grep -i i915
[ 1.532247] i915 0000:06:10.0: [drm] Found ALDERLAKE_S/RPL-S (device ID a788) display version 12.00 stepping D0
[ 3.533673] i915 0000:06:10.0: [drm] *ERROR* Device is non-operational; MMIO access returns 0xFFFFFFFF!
[ 3.534706] i915 0000:06:10.0: [drm] *ERROR* Device initialization failed (-5)
[ 3.534720] i915 0000:06:10.0: probe with driver i915 failed with error -5
[21429.245412] i915: loading out-of-tree module taints kernel.
[21429.715257] i915 0000:06:10.0: [drm] Found ALDERLAKE_S/RPL-S (device ID a788) display version 12.00 stepping D0
[21429.715276] i915 0000:06:10.0: Running in SR-IOV VF mode
[21429.716265] i915 0000:06:10.0: [drm] GT0: GUC: interface version 0.1.20.1
[21429.717312] i915 0000:06:10.0: [drm] VT-d active for gfx access
[21429.717316] i915 0000:06:10.0: vgaarb: deactivate vga console
[21429.717338] i915 0000:06:10.0: [drm] Using Transparent Hugepages
[21429.718723] i915 0000:06:10.0: [drm] GT0: GUC: interface version 0.1.20.1
[21429.719194] i915 0000:06:10.0: [drm] GT0: GUC: interface version 0.1.20.1
[21429.719908] i915 0000:06:10.0: GuC firmware PRELOADED version 0.0 submission:SR-IOV VF
[21429.719911] i915 0000:06:10.0: HuC firmware PRELOADED
[21429.722562] i915 0000:06:10.0: [drm] Protected Xe Path (PXP) protected content support initialized
[21429.722567] i915 0000:06:10.0: [drm] PMU not supported for this GPU.
[21429.722728] [drm] Initialized i915 1.6.0 for 0000:06:10.0 on minor 0
可见重拉后驱动加载成功了,下面为了让它每次重启自动重拉驱动我们需要创建一个服务
创建服务文件
sudo vim /etc/systemd/system/delayed-reload-i915.service
编辑内容:
[Unit]
Description=Delayed reload of i915 driver for SR-IOV
[Service]
Type=oneshot
ExecStart=/usr/sbin/modprobe -r i915
ExecStartPost=/bin/sleep 2
ExecStartPost=/usr/sbin/modprobe i915
TimeoutSec=60
RemainAfterExit=yes
启用并启动服务
sudo systemctl daemon-reload
sudo systemctl enable --now delayed-reload-i915.service