Linux Mint 20.2:配备 i915 的 4k 显示器(英特尔 Xe 显卡)

Linux Mint 20.2:配备 i915 的 4k 显示器(英特尔 Xe 显卡)

我的笔记本电脑: ThinkPad Lenovo E14 Gen 2 型号:20TA-000DGE CPU:第 11 代 Intel i7-1165G7 (8) @ 4.700GHz (Rocket Lake) GPU:Intel Device 9a49 / i915 Thunderbolt:v4(仅一个;需要电源和外接显示器) HDMI

我的显示器: LG 27UK850/BK85U 4k (3840*2160)

我的外部 USB-C 集线器:DockTeck(标题为“USB C 集线器、Dockteck 7 合 1 扩展坞超扩展 USB C 以太网适配器、4K 60Hz HDMI、LAN RJ45、100W PD、2 USB-3.0、SD/microSD、适用于 MacBook Pro/Air、iPad Pro” /Air/Mini 6、Surface Pro 7、XPS 13")

Windows 10 上的行为:HDMI 和 USB-c 集线器在我的显示器上提供稳定的显示,具有 4k 和 60hz(提示:在 Windows 上,HDMI 在 BIOS 更新后只能在 60hz 下工作)。

我的问题:在 Linux 上我得到这些行为:

  • Linux Mint 20.2,内核 5.11,HDMI:4k @ 60hz,但是:Ultra-HDMI 无法工作,因此 1px 线条大多显示错误的颜色,字体渲染无法正确绘制到背景的过渡。在带有彩色字符的终端中效果最佳(见屏幕截图)。
  • Linux Mint 20.2,内核 5.11,USB-C 集线器:4k @ 60hz;但是:4k 显示屏闪烁(1-2 秒黑屏;其中一些刷新后,外接显示器变黑)
  • Linux Mint 20.2、内核 5.13 OEM(已激活安全启动)、HDMI:4k @ 30hz; 60hz 不可用。
  • Linux Mint 20.2、Kernel 5.13 OEM(已激活安全启动)、USB-C 集线器:显示器无法唤醒/无信号。
  • Ubuntu 21.10,内核 5.1x,HDMI:4k @ 30hz; 60hz 不可用。我尝试了新的 live-usb 映像,但也在这里:两个接口上都没有更好的结果。抱歉,在 live-usb 上我没有保存任何结果。
  • Ubuntu 21.10,内核 5.1x,USB-c 集线器:显示器无法唤醒/无信号。

来自内核 5.11 的一些数据:

sebl@sed14:~$ inxi -Fxz
System:
  Kernel: 5.11.0-34-generic x86_64 bits: 64 compiler: N/A 
  Desktop: Cinnamon 5.0.5 Distro: Linux Mint 20.2 Uma 
  base: Ubuntu 20.04 focal 
Machine:
  Type: Laptop System: LENOVO product: 20TA000DGE v: ThinkPad E14 Gen 2 
  serial: <filter> 
  Mobo: LENOVO model: 20TA000DGE v: SDK0J40697 WIN serial: <filter> 
  UEFI: LENOVO v: R1EET41W(1.41 ) date: 07/30/2021 
CPU:
  Topology: Quad Core model: 11th Gen Intel Core i7-1165G7 bits: 64 
  type: MT MCP arch: Tiger Lake rev: 1 L2 cache: 12.0 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 44851 
  Speed: 716 MHz min/max: 400/4700 MHz Core speeds (MHz): 1: 826 2: 507 
  3: 1087 4: 766 5: 568 6: 581 7: 1045 8: 534 
Graphics:
  Device-1: Intel vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
  Display: x11 server: X.Org 1.20.11 driver: modesetting 
  unloaded: fbdev,vesa resolution: 1920x1080~60Hz, 3840x2160~60Hz 
  OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.0.3 
  direct render: Yes 

sebl@sed14:~$ neofetch 
             ...-:::::-...                 sebl@sed14 
          .-MMMMMMMMMMMMMMM-.              ---------- 
      .-MMMM`..-:::::::-..`MMMM-.          OS: Linux Mint 20.2 x86_64 
    .:MMMM.:MMMMMMMMMMMMMMM:.MMMM:.        Host: 20TA000DGE ThinkPad E14 Gen 2 
   -MMM-M---MMMMMMMMMMMMMMMMMMM.MMM-       Kernel: 5.11.0-34-generic 
 `:MMM:MM`  :MMMM:....::-...-MMMM:MMM:`    Uptime: 42 mins 
 :MMM:MMM`  :MM:`  ``    ``  `:MMM:MMM:    Packages: 2136 (dpkg) 
.MMM.MMMM`  :MM.  -MM.  .MM-  `MMMM.MMM.   Shell: bash 5.0.17 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   Resolution: 1920x1080 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM:MMM:   DE: Cinnamon 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   WM: Mutter (Muffin) 
.MMM.MMMM`  :MM:--:MM:--:MM:  `MMMM.MMM.   WM Theme: Mint-Y-Dark (Mint-Y) 
 :MMM:MMM-  `-MMMMMMMMMMMM-`  -MMM-MMM:    Theme: Mint-Y [GTK2/3] 
  :MMM:MMM:`                `:MMM:MMM:     Icons: Mint-Y [GTK2/3] 
   .MMM.MMMM:--------------:MMMM.MMM.      Terminal: gnome-terminal 
     '-MMMM.-MMMMMMMMMMMMMMM-.MMMM-'       CPU: 11th Gen Intel i7-1165G7 (8) @ 4.700GHz 
       '.-MMMM``--:::::--``MMMM-.'         GPU: Intel Device 9a49 
            '-MMMMMMMMMMMMM-'              Memory: 4309MiB / 15710MiB 
               ``-:::::-``


sebl@sed14:~$ inxi -G 
Graphics:  Device-1: Intel driver: i915 v: kernel 
           Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.0.3 
sebl@sed14:~$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) Xe Graphics (TGL GT2) (0x9a49)
    Version: 21.0.3
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Xe Graphics (TGL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.0.3
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.0.3
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

sebl@sed14:~$ sudo lshw -c video
[sudo] Passwort für sebl:         
  *-display                 
       Beschreibung: VGA compatible controller
       Produkt: Intel Corporation
       Hersteller: Intel Corporation
       Physische ID: 2
       Bus-Informationen: pci@0000:00:02.0
       Logischer Name: /dev/fb0
       Version: 01
       Breite: 64 bits
       Takt: 33MHz
       Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom fb
       Konfiguration: depth=32 driver=i915 latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080
       Ressourcen: iomemory:600-5ff iomemory:400-3ff irq:155 memory:601c000000-601cffffff memory:4000000000-401fffffff ioport:4000(Größe=64) memory:c0000-dffff memory:4100000000-4106ffffff memory:4020000000-40ffffffff
sebl@sed14:~$ dmesg | grep drm
[    0.964386] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    0.964390] fb0: switching to inteldrmfb from EFI VGA
[    0.965463] i915 0000:00:02.0: [drm] Number of memory channels is zero
[    0.966536] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_08.bin (v2.8)
[    1.091657] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    1.140991] fbcon: i915drmfb (fb0) is primary device
[    1.145355] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    5.604303] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
[  101.492264] i915 0000:00:02.0: [drm] *ERROR* CPU pipe B FIFO underrun

来自内核 5.13 OEM、linux mint 20.2 的一些数据

➜  ~ inxi -G 
Graphics:  Device-1: Intel driver: i915 v: kernel 
           Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa 
           resolution: 1920x1080~60Hz, 3840x2160~30Hz 
           OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) 
           v: 4.6 Mesa 22.0.0-devel (git-f13d486 2021-11-03 focal-oibaf-ppa) 
➜  ~ 
➜  ~ 
➜  ~ inxi                                                                                 
CPU: Quad Core 11th Gen Intel Core i7-1165G7 (-MT MCP-) speed/min/max: 1055/400/4700 MHz 
Kernel: 5.13.0-1017-oem x86_64 Up: 1m Mem: 1281.1/15687.3 MiB (8.2%) Storage: 476.94 GiB (52.6% used) Procs: 278 
Shell: zsh 5.8 inxi: 3.0.38 
➜  ~ 
➜  ~ 
➜  ~ 
➜  ~ lspci -nnk | grep -iA2 VGA                                                           
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:9a49] (rev 01)
    Subsystem: Lenovo Device [17aa:5088]
    Kernel driver in use: i915
➜  ~ 

我的研究:

是的,我更新了 BIOS。

驱动程序已加载,因此不是我的问题。

我按照建议尝试了 OEM 内核这里,但没有分辨率。请参阅终端输出。

关于“[drm]错误CPU pipeline B FIFO underrun”我确实找到了几个关于 c 状态启动选项的线程。我尝试按照中的建议降低节能(c 状态)这里并在中描述拱门维基。没提升。

我从以下位置安装了驱动程序Oibaf 的 PPA按照建议这里。对于任何内核都没有改进(警告:使用 ppa-purge 的“恢复到原始驱动程序”对我不起作用)。

我可以在显示器的菜单中禁用“HDMI Ultra HD Deep Color”;然后 Linux 切换到 30hz,并粗略地绘制像素。

遗憾的是,我无法在我的 Linux Mint 上尝试内核 5.14,因为一些用于 c 编译的库在正确的版本中不可用(我只是忘记了名字)。

Linux Mint 20.2、内核 5.11、HDMI 的屏幕截图:4k @ 60hz: 正常视图,手机拍摄 用镜头查看,用手机拍摄 你可以在图中看到什么:

  • 红色“N/A”:您会在对角线上看到大“台阶”。
  • 绿色“v14.17.5”(也在黄色文本处):在底部像素处,过渡被涂成白色(在绿色和黑色之间)
  • 需要明确的是:这只会影响 4k 的外部显示器:当我将窗口移动到内部屏幕(高清分辨率)时,它看起来很好。

谢谢阅读!有任何疑问欢迎询问详情。 :-) 在我看来,该机器上的 4k 尚未在标准 Ubuntu 系统上的任何地方运行。希望我们能让这个流行的硬件像 Windows 一样运行。 ;-)

答案1

我和你有同样的问题。尝试使用显示端口,这为我解决了这个问题。你的 HDMI 版本只是 1.4b (https://www.hdmi.org/spec/hdmi1_4b)。该版本不支持4k@60Hz。

有许多 HDMI 转 Displayport 适配器。

相关内容