如何更改 Atom x6413 处理器上 Intel 集成显卡的屏幕分辨率

如何更改 Atom x6413 处理器上 Intel 集成显卡的屏幕分辨率

我有一台新的单板计算机(iBase IB836F-6413E),它使用 Intel Atom x6413 处理器,我无法让除 1024x768 之外的任何屏幕分辨率工作。

我的设置如下:

  • 木板:iBase IB836F-6413 SBC
  • 处理器:英特尔凌动 x6413,集成英特尔超高清显卡,适用于第 10 代英特尔处理器
  • 内存:4GB PC4-3200
  • 贮存:120GB mSATA 固态硬盘
  • 监视器:Iiyama Prolite XUB3493XQSU。支持高达 3440x1440 的分辨率。通过 Display Port (DP) 连接器连接。
  • 力量:通过直流输入连接器提供 19V 直流电源
  • 键盘:罗技无线接收器插入 USB 端口
  • 老鼠:罗技无线使用与键盘相同的无线接收器。
  • 操作系统:Ubuntu 20.04 LTS。
  • Linux 内核:5.11.0。

xrandr 命令显示显示器名称为默认名称,但我认为应该是 DP-1 或类似的名称,因为我的显示器是通过 DP 连接器连接的。请参阅下面的 xrandr 输出。

我尝试使用 xrandr 添加新的输出模式,如下所示:

$ xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected primary 1024x768+0+0 (0x521) normal (normal) 0mm x 0mm
    Identifier: 0x520
    Timestamp:  140204
    Subpixel:   unknown
    Clones:    
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
    _MUTTER_PRESENTATION_OUTPUT: 0 
    non-desktop: 0 
        supported: 0, 1
  1024x768 (0x521) 59.769MHz *current
        h: width  1024 start    0 end    0 total 1024 skew    0 clock  58.37KHz
        v: height  768 start    0 end    0 total  768           clock  76.00Hz

$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
$ sudo xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
 
xrandr: Failed to get size of gamma for output default
$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected primary 1024x768+0+0 0mm x 0mm
   1024x768      76.00* 
  1920x1080_60.00 (0x54e) 173.000MHz -HSync +VSync
        h: width  1920 start 2048 end 2248 total 2576 skew    0 clock  67.16KHz
        v: height 1080 start 1083 end 1088 total 1120           clock  59.96Hz
$ sudo xrandr --addmode default "1920x1080_60.00"
xrandr: Failed to get size of gamma for output default
$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected primary 1024x768+0+0 0mm x 0mm
   1024x768      76.00* 
   1920x1080_60.00  59.96

然后,显示设置中会显示 1920x1080 分辨率,但当我选择它时没有任何变化。见屏幕截图: 在此处输入图片描述

可能是因为 Atom x6413 太新了,集成显卡还不支持?这款芯片于 2021 年 1 月推出。

刚启动的系统上的 dmesg 似乎没有显示任何与图形相关的错误。

inxi -G 命令显示:

Graphics:
  Device-1: Intel driver: N/A 
  Display: x11 server: X.Org 1.20.11 driver: fbdev 
  unloaded: modesetting,vesa resolution: 1024x768~76Hz 
  OpenGL: renderer: llvmpipe (LLVM 12.0.0 128 bits) v: 4.5 Mesa 21.0.3

英特尔驱动程序:N/A 看起来很可疑。

lshw -C 显示内容:

  *-display UNCLAIMED
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list
       configuration: latency=0
       resources: memory:80000000-80ffffff memory:70000000-7fffffff ioport:6000(size=64) memory:c0000-dffff

有人能帮我弄清楚如何让视频输出正常工作吗?

我也尝试将内核更新到 5.14.1,但发现了同样的问题。

我查看了两个内核版本(5.11.0 和 5.14.1)的 dmesg 输出,发现与 pinctrl_elkhartlake 相关的 oops。这可能与图形问题有关,但似乎不太可能。以下是显示内核版本 5.14.1 错误的 dmesg 输出:

...
[    0.741662] acpi device:4e: hash matches
[    0.741810] RAS: Correctable Errors collector initialized.
[    0.743163] Freeing unused decrypted memory: 2036K
[    0.743723] Freeing unused kernel image (initmem) memory: 2892K
[    0.763189] Write protecting the kernel read-only data: 30720k
[    0.764251] Freeing unused kernel image (text/rodata gap) memory: 2036K
[    0.764773] Freeing unused kernel image (rodata/data gap) memory: 1816K
[    0.780290] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    0.780298] Run /init as init process
[    0.780307]   with arguments:
[    0.780315]     /init
[    0.780317]     splash
[    0.780319]   with environment:
[    0.780320]     HOME=/
[    0.780322]     TERM=linux
[    0.780323]     BOOT_IMAGE=/boot/vmlinuz-5.14.1-051401-generic
[    0.872410] BUG: kernel NULL pointer dereference, address: 0000000000000000
[    0.872426] #PF: supervisor read access in kernel mode
[    0.872428] #PF: error_code(0x0000) - not-present page
[    0.872431] PGD 0 P4D 0 
[    0.872434] Oops: 0000 [#1] SMP NOPTI
[    0.872438] CPU: 2 PID: 174 Comm: systemd-udevd Tainted: G          I       5.14.1-051401-generic #202109030936
[    0.872442] Hardware name:  /, BIOS 5.19 06/22/2021
[    0.872444] RIP: 0010:strcmp+0xc/0x20
[    0.872450] Code: 06 49 89 f8 48 83 c6 01 48 83 c7 01 88 47 ff 84 c0 75 eb 4c 89 c0 c3 0f 1f 80 00 00 00 00 31 c0 eb 08 48 83 c0 01 84 d2 74 0f <0f> b6 14 07 3a 14 06 74 ef 19 c0 83 c8 01 c3 31 c0 c3 66 90 48 85
[    0.872454] RSP: 0018:ffffa10bc05b7b10 EFLAGS: 00010246
[    0.872457] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffa10bc05b7ac0
[    0.872459] RDX: 0000000000000000 RSI: ffffffffc007ac93 RDI: 0000000000000000
[    0.872461] RBP: ffffa10bc05b7b38 R08: 0000000000000000 R09: 0000000000000000
[    0.872464] R10: ffff8f37ca2ec000 R11: 0000000000000000 R12: ffffffffc007cc40
[    0.872466] R13: ffffffffc007e0e0 R14: 0000000000000000 R15: ffffffffc007e140
[    0.872468] FS:  00007f1339622880(0000) GS:ffff8f384bf00000(0000) knlGS:0000000000000000
[    0.872471] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.872473] CR2: 0000000000000000 CR3: 000000010d84a000 CR4: 0000000000350ee0
[    0.872476] Call Trace:
[    0.872479]  ? intel_pinctrl_get_soc_data+0x67/0xc0
[    0.872484]  intel_pinctrl_probe_by_uid+0x13/0x30
[    0.872488]  platform_probe+0x42/0xa0
[    0.872492]  really_probe+0x1fb/0x400
[    0.872495]  __driver_probe_device+0x109/0x180
[    0.872498]  driver_probe_device+0x23/0x90
[    0.872501]  __driver_attach+0xac/0x1b0
[    0.872503]  ? __device_attach_driver+0xe0/0xe0
[    0.872506]  bus_for_each_dev+0x7c/0xc0
[    0.872509]  driver_attach+0x1e/0x20
[    0.872511]  bus_add_driver+0x135/0x1f0
[    0.872513]  driver_register+0x95/0xf0
[    0.872516]  ? 0xffffffffc0081000
[    0.872519]  __platform_driver_register+0x1e/0x20
[    0.872522]  ehl_pinctrl_driver_init+0x1c/0x1000 [pinctrl_elkhartlake]
[    0.872527]  do_one_initcall+0x46/0x1d0
[    0.872531]  ? kmem_cache_alloc_trace+0x159/0x2c0
[    0.872535]  do_init_module+0x62/0x290
[    0.872539]  load_module+0xaa8/0xb40
[    0.872543]  __do_sys_finit_module+0xbf/0x120
[    0.872547]  __x64_sys_finit_module+0x18/0x20
[    0.872550]  do_syscall_64+0x59/0xc0
[    0.872554]  ? exit_to_user_mode_prepare+0x37/0xb0
[    0.872558]  ? syscall_exit_to_user_mode+0x27/0x50
[    0.872561]  ? __x64_sys_read+0x19/0x20
[    0.872565]  ? do_syscall_64+0x69/0xc0
[    0.872568]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[    0.872572] RIP: 0033:0x7f1339ba489d
[    0.872575] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d c3 f5 0c 00 f7 d8 64 89 01 48
[    0.872580] RSP: 002b:00007ffe65f1b308 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[    0.872583] RAX: ffffffffffffffda RBX: 00005604123a8d70 RCX: 00007f1339ba489d
[    0.872586] RDX: 0000000000000000 RSI: 00007f1339a81ded RDI: 0000000000000005
[    0.872588] RBP: 0000000000020000 R08: 0000000000000000 R09: 0000000000000000
[    0.872590] R10: 0000000000000005 R11: 0000000000000246 R12: 00007f1339a81ded
[    0.872593] R13: 0000000000000000 R14: 00005604123aa7b0 R15: 00005604123a8d70
[    0.872596] Modules linked in: video(+) fjes(+) pinctrl_elkhartlake(+)
[    0.872603] CR2: 0000000000000000
[    0.872606] ---[ end trace 42d0286ff1ef1c67 ]---
[    0.872608] RIP: 0010:strcmp+0xc/0x20
[    0.872611] Code: 06 49 89 f8 48 83 c6 01 48 83 c7 01 88 47 ff 84 c0 75 eb 4c 89 c0 c3 0f 1f 80 00 00 00 00 31 c0 eb 08 48 83 c0 01 84 d2 74 0f <0f> b6 14 07 3a 14 06 74 ef 19 c0 83 c8 01 c3 31 c0 c3 66 90 48 85
[    0.872615] RSP: 0018:ffffa10bc05b7b10 EFLAGS: 00010246
[    0.872618] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffa10bc05b7ac0
[    0.872620] RDX: 0000000000000000 RSI: ffffffffc007ac93 RDI: 0000000000000000
[    0.872622] RBP: ffffa10bc05b7b38 R08: 0000000000000000 R09: 0000000000000000
[    0.872625] R10: ffff8f37ca2ec000 R11: 0000000000000000 R12: ffffffffc007cc40
[    0.872627] R13: ffffffffc007e0e0 R14: 0000000000000000 R15: ffffffffc007e140
[    0.872629] FS:  00007f1339622880(0000) GS:ffff8f384bf00000(0000) knlGS:0000000000000000
[    0.872632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.872634] CR2: 0000000000000000 CR3: 000000010d84a000 CR4: 0000000000350ee0
[    0.872654] fbcon: Taking over console
[    0.872722] Console: switching to colour frame buffer device 128x48
[    0.927847] acpi PNP0C14:02: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:01)
...

答案1

我设法通过强制 i915 驱动程序进行探测,使显示器支持的所有分辨率都正常工作。即,我将 grub 配置文件中的 linux 启动命令行编辑为如下内容:GRUB_CMDLINE_LINUX="i915.force_probe=4555" 这是在文件中:/etc/default/grub 然后我运行 sudo update-grub 并重新启动,所有分辨率都显示在显示设置中,并且它们都正常工作。我通过注意到 lsmod 的输出在使用 i915 模块时没有显示任何内容来弄清楚这一点:

lsmod | grep i915
i915                 2297856  0
drm_kms_helper        237568  1 i915
cec                    53248  2 drm_kms_helper,i915
drm                   548864  2 drm_kms_helper,i915
i2c_algo_bit           16384  2 igb,i915
video                  49152  1 i915

lspci 的输出还给出了设备 ID 为 4555 的设备详细信息:

sudo lspci -nnk | grep -i -A3 vga
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:4555] (rev 01)
    DeviceName: Onboard - Video
    Subsystem: Intel Corporation Device [8086:7270]
    Kernel modules: i915

相关内容