我很乐意在我的 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