
我很樂意將 Fedora 28(實際上是 27,然後升級到 28,但這發生在 27 安裝開始時)到我的 Dell Inspiron 1545 上。
問題陳述:我必須使用 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