因为服务器换到hz家了,这款独服cpu用的是i7 8700,集成了UHD Graphics 630显卡,刚好有plex硬解的需求,折腾记录一下

启用iGPU

使用的系统为debian11,默认安装好了显卡驱动,可以通过 lspci | grep VGA命令查看,返回类似下面的命令即为驱动正常安装的情况

00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630]

虽然驱动安装好了,但是默认并没有启用这个GPU,需要修改一下配置启用,步骤参看hz官网给出教程

1. 检查GPU是否启用

ls -la /dev/dri

如果返回值类似下面,则表示未启用

ls: cannot access '/dev/dri': No such file or directory

2. 修改 /etc/modprobe.d/blacklist-hetzner.conf 文件

原始文件类似下面

### Hetzner Online GmbH - installimage
### silence any onboard speaker
blacklist pcspkr
blacklist snd_pcsp
### i915 driver blacklisted due to various bugs
### especially in combination with nomodeset
blacklist i915
blacklist i915_bdw
### mei driver blacklisted due to serious bugs
blacklist mei
blacklist mei-me
blacklist sm750fb

需要把 i915i915_bdwblacklist 清单中移除或者屏蔽掉,修改后的文件类似下面

### Hetzner Online GmbH - installimage
### silence any onboard speaker
blacklist pcspkr
blacklist snd_pcsp
### i915 driver blacklisted due to various bugs
### especially in combination with nomodeset
#blacklist i915
#blacklist i915_bdw
### mei driver blacklisted due to serious bugs
blacklist mei
blacklist mei-me
blacklist sm750fb

3. 调整grub设置

/etc/default/grub.d/hetzner.cfg 文件中 存在 GRUB_CMDLINE_LINUX_DEFAULT="nomodeset consoleblank=0"一项,需要移除掉 nomodeset 选项

修改前:GRUB_CMDLINE_LINUX_DEFAULT="nomodeset consoleblank=0"

修改后:GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"

然后执行 sudo grub-mkconfig -o /boot/grub/grub.cfg 保存,然后重启服务器查看效果

4. 检查GPU启用情况

执行 ls -la /dev/dri ,返回值应该类似下面

drwxr-xr-x  3 root root       100 Mar  2 17:57 .
drwxr-xr-x 20 root root      4400 Mar  2 17:57 ..
drwxr-xr-x  2 root root        80 Mar  2 17:57 by-path
crw-rw----  1 root video 226,   0 Mar 16 19:55 card0
crw-rw----  1 root video 226, 128 Mar 16 19:55 renderD128

执行 sudo lspci -v -s $(lspci | grep VGA | cut -d" " -f 1) 可以看到更多信息,如果其中包括 Kernel driver in use: i915 则表示GPU已经启用

5. 安装GPU状态查看工具

sudo apt install intel-gpu-tools

使用的话输入 sudo intel_gpu_top 即可

Plex启用硬解

使用的 docker-compose 启动的

version: "2.1"
services:
  plex:
    image: linuxserver/plex
    container_name: plex
    #user: root
    environment:
      - PUID=0
      - PGID=0 
      - VERSION=docker
      - PLEX_CLAIM=claim-X7SwuKxHNAXjWXyYUocb
    volumes:
      - /home/honus/product/plex/config:/config
      - /www/wwwroot/pan.honus.top/download/tvs:/tv
      - /www/wwwroot/pan.honus.top/download/movies:/movies
      - /home/honus/product/plex/onedrive:/onedrive
      - /home/honus/product/plex/aliyun:/aliyun
    devices:   
      - /dev/dri:/dev/dri
    network_mode: host
    restart: unless-stopped

使用这份配置文件启动plex,在plex -> 账户设置 -> 转码器 ,勾选 可用时使用硬件加速,使用硬件加速编码视频,然后保存即可。

测试硬件解码是否生效的话可以通过GPU状态查看工具查看状态,或者通过plex的 账户设置 -> 面板 -> 正在播放,右侧的展开图标查看转码情况,如果带有hw字样则表示硬件解码已启用

最后修改:2023 年 04 月 29 日
如果觉得我的文章对你有用,请随意赞赏