i915 显卡、Fedora 28、分辨率和显示问题

i915 显卡、Fedora 28、分辨率和显示问题

我很乐意在我的 Dell Inspiron 1545 上安装 Fedora 28(实际上是 27,然后升级到 28,但这发生在 27 安装开始时)。

问题陈述:我必须使用 NOMODESET 才能收到可用的 GUI。如果命令行中没有该开关,我会在 F1 控制台上收到一个 GUI,如下所述 - 只是一个鼠标指针。我实际上可以点击 END(我认为)并收到一个 GUI 弹出窗口,要求输入英语/其他语言,但在我单击某些内容后它会关闭,然后我回到漂亮的桌面图片、鼠标指针,什么也没有。

背景:

尝试对我的 Inspiron 灵越 1545(4GB RAM、128GB SSD)进行基于 USB 的安装,继续进行 GUI 安装的唯一方法是在安装过程的 cmdline(e,编辑)上提供 NOMODESET。它显然是低分辨率的(由于必须使用 NOMODESET 来安装),但我认为安装后驱动程序排序是有序的,它会给我完整的分辨率。没有喜悦。

抱怨:我现在陷入了 1024x768 的困境。 无论有多少摆弄、故障排除都没有给我带来快乐。

无模式集在cmdline中被硬编码(可以理解,因为这是我开始安装的,所以我相信它保留了它)——这是我可以启动到GUI并使用LXDE的唯一方法(这是我选择的默认桌面选项) )。这个 gui 是 1024x768,XRANDR 或其他任何东西都不会改变它。

细节:

(1) 笔记本电脑本身有点像一个怪物 - 液晶显示屏从笔记本电脑上物理移除 - 整个东西,所以它只是笔记本电脑的底部。它很丑,但仍然有效。

事实上 ^^ 它可以在 Windows 上运行,没有任何问题,在外部三洋 LCD 显示器上以全分辨率 (1360x768) 显示也没有问题。

此外,LXDE 可与 NOMODESET 配合使用,但仅限于 1024x768。

(2) 当我从命令行中删除“nomodeset”时,它会正常启动 - 但我看到的是迎宾背景(光纤蓝色图形)、鼠标指针,没有其他任何东西。其他终端 (ALT-F[2-8]) 提供正常的文本控制台登录,效果很好。 ALT-F1(主控制台)再次显示 Fedora 背景问候语、鼠标指针(移动),除此之外什么也没有。

(3) 以下是我在 cmdline(grub 引导行)中使用和不使用 NOMODESET 参数执行的一些(希望)相关诊断:

第一的,lspci确保我们拥有有效支持的图形芯片组:

**[root@Towel ~]# lspci -nnk | grep -A3 VGA**
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07)
    Subsystem: Dell Device [1028:02aa]
    Kernel modules: i915
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 07)

cmdline 中存在 NOMODESET 时,inxi 会说什么:

**[root@Towel ~]# inxi -SMCGx** 
System:
  Host: Towel Kernel: 4.19.14-200.fc28.x86_64 x86_64 bits: 64 compiler: gcc 
  v: 8.2.1 Desktop: LXDE 0.9.3 Distro: Fedora release 28 (Twenty Eight) 
Machine:
  Type: Portable System: Dell product: Inspiron 1545 v: N/A serial: 5DQG7H1 
  Mobo: Dell model: 0G848F serial: .5DQG7H1.CN701668CR02E3. BIOS: Dell 
  v: A14 date: 12/07/2009 
CPU:
  Topology: Dual Core model: Intel Pentium Dual T3400 bits: 64 type: MCP 
  arch: Core Merom rev: D L2 cache: 1024 KiB 
  flags: lm nx pae sse sse2 sse3 ssse3 bogomips: 8645 
  Speed: 998 MHz min/max: 1000/2167 MHz Core speeds (MHz): 1: 998 2: 998 
Graphics:
  Device-1: Intel Mobile 4 Series Integrated Graphics vendor: Dell 
  driver: N/A bus ID: 00:02.0 
  Display: server: Fedora Project X.org 1.19.6 driver: vesa 
  unloaded: fbdev,modesetting resolution: 1024x768~N/A 
  OpenGL: renderer: llvmpipe (LLVM 6.0 128 bits) v: 3.3 Mesa 18.0.5 
  direct render: Yes

现在,命令行中没有 NOMODESET:

**[root@Towel ~]# inxi -SMCGx** 
System:    Host: Towel Kernel: 4.19.13-200.fc28.x86_64 x86_64 bits: 64 compiler: gcc v: 8.2.1 Console: tty 2 
           Distro: Fedora release 28 (Twenty Eight) 
Machine:   Type: Portable System: Dell product: Inspiron 1545 v: N/A serial: 5DQG7H1 
           Mobo: Dell model: 0G848F serial: .5DQG7H1.CN701668CR02E3. BIOS: Dell v: A14 date: 12/07/2009 
CPU:       Topology: Dual Core model: Intel Pentium Dual T3400 bits: 64 type: MCP arch: Core Merom rev: D L2 cache: 1024 KiB 
           flags: lm nx pae sse sse2 sse3 ssse3 bogomips: 8645 
           Speed: 998 MHz min/max: 1000/2167 MHz Core speeds (MHz): 1: 998 2: 998 
Graphics:  Device-1: Intel Mobile 4 Series Integrated Graphics vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           Display: server: X.org 1.19.6 driver: modesetting unloaded: fbdev,vesa tty: 170x48 
           Message: Advanced graphics data unavailable in console for root.

命令行中存在 NOMODESET 的 Xorg.0.log 怎么样:

**[root@Towel ~]# cat /var/log/Xorg.0.log | grep driver**
[    18.877]    X.Org XInput driver : 24.1
[    18.945] (==) Matched modesetting as autoconfigured driver 0
[    18.945] (==) Matched fbdev as autoconfigured driver 1
[    18.945] (==) Matched vesa as autoconfigured driver 2
[    18.945] (==) Assigned the driver to the xf86ConfigLayout
[    18.945] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[    18.951] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[    18.952] (II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
[    18.954] (II) FBDEV: driver for framebuffer: fbdev
[    18.954] (II) VESA: driver for VESA chipsets: vesa
[    20.419]    ABI class: X.Org XInput driver, version 24.1
[    20.419] (II) Using input driver 'libinput' for 'Power Button'
[    20.427] (II) No input driver specified, ignoring this device.
[    20.429] (II) Using input driver 'libinput' for 'Sleep Button'
[    20.437] (II) No input driver specified, ignoring this device.
[    20.437] (II) No input driver specified, ignoring this device.
[    20.440] (II) Using input driver 'libinput' for 'Logitech USB Receiver'
[    20.447] (II) Using input driver 'libinput' for 'Logitech USB Receiver Mouse'
[    20.460] (II) No input driver specified, ignoring this device.
[    20.464] (II) Using input driver 'libinput' for 'Logitech USB Receiver Consumer Control'
[    20.474] (II) Using input driver 'libinput' for 'Logitech USB Receiver System Control'
[    20.486] (II) Using input driver 'libinput' for 'Dell WMI hotkeys'
[    20.501] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    20.509] (II) Using input driver 'libinput' for 'AlpsPS/2 ALPS GlidePoint'
[    20.525] (II) No input driver specified, ignoring this device.
[    20.545] (II) Using input driver 'libinput' for 'Logitech USB Receiver Consumer Control'
[    20.545] (**) Option "_source" "_driver/libinput"

Xorg.0.log 中删除/不存在 NOMODESET:

**[root@Towel ~]# cat /var/log/Xorg.0.log | grep driver** 
[    18.506]    X.Org XInput driver : 24.1
[    18.620] (==) Matched modesetting as autoconfigured driver 0
[    18.620] (==) Matched fbdev as autoconfigured driver 1
[    18.620] (==) Matched vesa as autoconfigured driver 2
[    18.620] (==) Assigned the driver to the xf86ConfigLayout
[    18.621] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[    18.631] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[    18.633] (II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
[    18.635] (II) FBDEV: driver for framebuffer: fbdev
[    18.635] (II) VESA: driver for VESA chipsets: vesa
[    18.669] (II) glamor: OpenGL accelerated X.org driver based.
[    19.354] (II) modeset(0): [DRI2]   DRI driver: i965
[    19.354] (II) modeset(0): [DRI2]   VDPAU driver: va_gl
[    19.648]    ABI class: X.Org XInput driver, version 24.1
[    19.648] (II) Using input driver 'libinput' for 'Video Bus'
[    19.673] (II) Using input driver 'libinput' for 'Power Button'
[    19.684] (II) No input driver specified, ignoring this device.
[    19.686] (II) Using input driver 'libinput' for 'Sleep Button'
[    19.702] (II) No input driver specified, ignoring this device.
[    19.703] (II) No input driver specified, ignoring this device.
[    19.705] (II) Using input driver 'libinput' for 'Logitech USB Receiver'
[    19.714] (II) Using input driver 'libinput' for 'Logitech USB Receiver Mouse'
[    19.731] (II) No input driver specified, ignoring this device.
[    19.733] (II) Using input driver 'libinput' for 'Logitech USB Receiver Consumer Control'
[    19.743] (II) Using input driver 'libinput' for 'Logitech USB Receiver System Control'
[    19.756] (II) Using input driver 'libinput' for 'Dell WMI hotkeys'
[    19.771] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    19.781] (II) Using input driver 'libinput' for 'AlpsPS/2 ALPS GlidePoint'
[    19.793] (II) No input driver specified, ignoring this device.
[    19.843] (II) Using input driver 'libinput' for 'Logitech USB Receiver Consumer Control'
[    19.843] (**) Option "_source" "_driver/libinput"

命令行中没有 NOMODESET 的 dmesg 怎么样?

<snip>
[    9.632354] [Firmware Bug]: Duplicate ACPI video bus devices for the same VGA controller, please try module parameter "video.allow_duplicates=1"if the current driver doesn't work.
<snip>

最后,为了总结我最近学到的一组新命令,我还使用了 xrandr,并要求它告诉我 IT 认为显示器等是什么:

[root@Towel ~]# xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 (0x2ae) normal (normal) 0mm x 0mm
    Identifier: 0x2ad
    Timestamp:  19525
    Subpixel:   no subpixels
    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: 
  1024x768 (0x2ae)  0.000MHz *current
        h: width  1024 start    0 end    0 total 1024 skew    0 clock   0.00KHz
        v: height  768 start    0 end    0 total  768           clock   0.00Hz
  800x600 (0x2af)  0.000MHz
        h: width   800 start    0 end    0 total  800 skew    0 clock   0.00KHz
        v: height  600 start    0 end    0 total  600           clock   0.00Hz
  640x480 (0x2b0)  0.000MHz
        h: width   640 start    0 end    0 total  640 skew    0 clock   0.00KHz
        v: height  480 start    0 end    0 total  480           clock   0.00Hz

注意到“默认”作为唯一显示的名称了吗?这可能是由于系统看到连接的 LCD - 已断开/消失 - 以及 VGA 连接到外部显示器(例如,“默认”)。

还有一些 hwinfo 的优点:

[root@Towel ~]# hwinfo --monitor
28: None 00.0: 10000 Monitor                                    
  [Created at monitor.97]
  Unique ID: rdCR.dwn9oRFeFS2
  Hardware Class: monitor
  Model: "LCD TV"
  Vendor: SAN 
  Device: eisa 0x0000 "LCD TV"
  Resolution: 640x480@60Hz
  Resolution: 800x600@60Hz
  Resolution: 1024x768@60Hz
  Resolution: 1280x720@60Hz
  Resolution: 1360x768@60Hz
  Year of Manufacture: 2015
  Week of Manufacture: 0
  Detailed Timings #0:
     Resolution: 1360x768
     Horizontal: 1360 1424 1536 1792 (+64 +176 +432) +hsync
       Vertical:  768  771  777  795 (+3 +9 +27) +vsync
    Frequencies: 85.50 MHz, 47.71 kHz, 60.02 Hz
  Driver Info #0:
    Max. Resolution: 1360x768
    Vert. Sync Range: 23-63 Hz
    Hor. Sync Range: 15-69 kHz
    Bandwidth: 85 MHz
  Config Status: cfg=new, avail=yes, need=no, active=unknown

...

所以,总而言之:

(1) 使用 NOMODESET 安装 Centos 27(因为没有其他选项起作用) (2) 在命令行中卡住了 NOMODESET(但我已将其删除以进行测试) (3) 传递了 NOMODESET 参数的可行 gui,但卡在 1024x768 (4) i915 驱动程序似乎在 NOMODESET 缺失/删除​​的情况下加载,但没有可用的 GUI(可能是由于笔记本电脑屏幕实际上不存在)

PS我也尝试过将 video.allow_duplicates=1 放入命令行中,但这绝对不会产生我意识到的任何差异。

PPS 我听说,由于我的带有 LCD 的笔记本电脑盖子实际上触发了设备底座中的簧片开关,因此笔记本电脑可能期望电路闭合(通过关闭盖子的操作激活簧片开关)在笔记本电脑变得清晰并为 i915 配置提供任何形式的可用性之前。如果我能弄清楚如何做到这一点,我愿意在这个周末尝试一下。

-- 使用带和不带模式集的 Xorg.0.log 进行更新 --

-> 使用模式集:https://pastebin.com/muYey8SJ

-> 没有模式集:https://pastebin.com/JrSbSs7N

相关内容