尽管配置了 modprobe 并取消了黑名单,为什么 sisfb 模块仍无法加载?

尽管配置了 modprobe 并取消了黑名单,为什么 sisfb 模块仍无法加载?

Lubuntu 14.04 安装在旧的 XP 桌面上,该桌面配备 Intel Celeron 2.00GHz、SiS 651 图形芯片组和 2GB DDR RAM。

为什么 sisfb 模块无法在我的计算机上加载?

我已将该行添加sisfb到 /etc/modules。我已将该行更改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX_DEFAULT="video=sisfb quiet splash"/etc/default/grub。

我发现 sisfb 在 /etc/modprobe.d/blacklist-framebuffer.conf 和 /etc/modprobe.d/fbdev-blacklist.conf 中都被列入黑名单,并且已经blacklist sisfb在两个文件中注释掉了该行(通过在行首添加 #)。

但 /var/log/Xorg.0.log 文件仍然显示“sisfb not found”。sisfb 为何无法加载?

Xorg.0.log文件:

[    35.083]  
X.Org X Server 1.15.1  
Release Date: 2014-04-13  
[    35.088] X Protocol Version 11, Revision 0  
[    35.088] Build Operating System: Linux 3.2.0-75-generic i686 Ubuntu  
[    35.088] Current Operating System: Linux iqondesktop 3.13.0-68-generic   #111-Ubuntu SMP Fri Nov 6 18:18:09 UTC 2015 i686  
[    35.088] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-68-generic root=UUID=972fb678-4a5f-45f1-a64d-0773fb7b3169 ro video=sisfb quiet splash vt.handoff=7  
[    35.089] Build Date: 12 February 2015  02:49:46PM  
[    35.089] xorg-server 2:1.15.1-0ubuntu2.7 (For technical support please see support)   
[    35.089] Current version of pixman: 0.30.2  
[    35.089]    Before reporting problems, check  
    to make sure that you have the latest version.  
[    35.089] Markers: (--) probed, (*\*) from config file, (==) default     setting,  
    (++) from command line, (!!) notice, (II) informational,  
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.  
[    35.090] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Nov 13 19:56:43 2015  
[    35.091] (==) Using config file: "/etc/X11/xorg.conf"  
[    35.091] (==) Using system config directory     "/usr/share/X11/xorg.conf.d"  
[    35.097] (==) ServerLayout "X.org Configured"  
[    35.097] (*\*) |-->Screen "Screen0" (0)  
[    35.097] (*\*) |   |-->Monitor "Monitor0"  
[    35.098] (*\*) |   |-->Device "Card0"  
[    35.098] (*\*) |-->Input Device "Mouse0"  
[    35.098] (\**) |-->Input Device "Keyboard0"  
[    35.098] (==) Automatically adding devices  
[    35.098] (==) Automatically enabling devices  
[    35.098] (==) Automatically adding GPU devices  
[    35.098] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.  
[    35.098]    Entry deleted from font path.  
[    35.098] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.  
[    35.098]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.099] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.  
[    35.099]    Entry deleted from font path.  
[    35.104] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.  
[    35.104]    Entry deleted from font path.  
[    35.104] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.  
[    35.104]    Entry deleted from font path.  
[    35.104] (\**) FontPath set to:  
    /usr/share/fonts/X11/misc,  
    built-ins,  
    /usr/share/fonts/X11/misc,  
    built-ins  
[    35.104] (\**) ModulePath set to "/usr/lib/xorg/modules"  
[    35.104] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse'     or 'vmmouse' will be disabled.  
[    35.104] (WW) Disabling Mouse0  
[    35.104] (WW) Disabling Keyboard0  
[    35.104] (II) Loader magic: 0xb77376c0  
[    35.104] (II) Module ABI versions:  
[    35.104]    X.Org ANSI C Emulation: 0.4  
[    35.104]    X.Org Video Driver: 15.0  
[    35.104]    X.Org XInput driver : 20.0  
[    35.105]    X.Org Server Extension : 8.0  
[    35.115] (--) PCI:*(0:1:0:0) 1039:6325:1043:8081 rev 0, Mem @ 0xf0000000/134  
217728, 0xe7800000/131072, I/O @ 0x0000d800/128  
[    35.115] Initializing built-in extension Generic Event Extension  
[    35.116] Initializing built-in extension SHAPE  
[    35.116] Initializing built-in extension MIT-SHM  
[    35.116] Initializing built-in extension XInputExtension  
[    35.116] Initializing built-in extension XTEST  
[    35.116] Initializing built-in extension BIG-REQUESTS  
[    35.116] Initializing built-in extension SYNC  
[    35.116] Initializing built-in extension XKEYBOARD  
[    35.116] Initializing built-in extension XC-MISC  
[    35.116] Initializing built-in extension SECURITY  
[    35.116] Initializing built-in extension XINERAMA  
[    35.117] Initializing built-in extension XFIXES  
[    35.117] Initializing built-in extension RENDER  
[    35.117] Initializing built-in extension RANDR  
[    35.117] Initializing built-in extension COMPOSITE  
[    35.117] Initializing built-in extension DAMAGE  
[    35.117] Initializing built-in extension MIT-SCREEN-SAVER  
[    35.117] Initializing built-in extension DOUBLE-BUFFER  
[    35.117] Initializing built-in extension RECORD  
[    35.117] Initializing built-in extension DPMS  
[    35.117] Initializing built-in extension Present  
[    35.117] Initializing built-in extension DRI3  
[    35.117] Initializing built-in extension X-Resource  
[    35.117] Initializing built-in extension XVideo  
[    35.117] Initializing built-in extension XVideo-MotionCompensation  
[    35.117] Initializing built-in extension SELinux  
[    35.118] Initializing built-in extension XFree86-VidModeExtension  
[    35.118] Initializing built-in extension XFree86-DGA  
[    35.118] Initializing built-in extension XFree86-DRI  
[    35.118] Initializing built-in extension DRI2  
[    35.118] (II) "glx" will be loaded. This was enabled by default and also spe  
cified in the config file.  
[    35.118] (WW) "xmir" is not to be loaded by default. Skipping.  
[    35.118] (II) LoadModule: "glx"  
[    35.124] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so  
[    35.157] (II) Module glx: vendor="X.Org Foundation"  
[    35.157]    compiled for 1.15.1, module version = 1.0.0  
[    35.157]    ABI class: X.Org Server Extension, version 8.0  
[    35.157] (==) AIGLX enabled  
[    35.157] Loading extension GLX  
[    35.158] (II) LoadModule: "sis"  
[    35.160] (II) Loading /usr/lib/xorg/modules/drivers/sis_drv.so  
[    35.161] (II) Module sis: vendor="X.Org Foundation"  
[    35.161]    compiled for 1.15.0, module version = 0.10.7  
[    35.161]    Module class: X.Org Video Driver  
[    35.161]    ABI class: X.Org Video Driver, version 15.0  
[    35.161] (II) SIS: driver for SiS chipsets: SIS5597/5598, SIS530/620,  
SIS6326/AGP/DVD, SIS300/305, SIS630/730, SIS540, SIS315, SIS315H,  
SIS315PRO/E, SIS550, SIS650/M650/651/740, SIS330(Xabre),  
SIS660/[M]661[F|M]X/[M]670/[M]741[GX]/[M]760[GX]/[M]761[GX]/[M]770[GX],  
SIS340  
[    35.162] (II) SIS: driver for XGI chipsets: Volari Z7 (XG20),  
Volari V3XT/V5/V8/Duo (XG40)  
[    35.162] (++) using VT number 7  

[    35.163] (WW) Falling back to old probe method for sis  
[    35.163] (--) Chipset SIS650/M650/651/740 found  
[    35.163] (II) SIS(0): SiS driver (2005/09/20-1, compiled for X.org 1.15.0.0)  
[    35.163] (II) SIS(0): Copyright (C) 2001-2005 Thomas Winischhofer <thomas@wi  
nischhofer.net> and others  
[    35.163] (II) SIS(0):  See /linuxsisvga.shtml  
[    35.163] (II) SIS(0):  for documentation and updates.  
[    35.164] (--) SIS(0): sisfb not found  
[    35.164] (--) SIS(0): Relocated I/O registers at 0xD800  
[    35.165] (II) Loading sub module "ramdac"  
[    35.165] (II) LoadModule: "ramdac"  
[    35.165] (II) Module "ramdac" already built-in  
[    35.166] (==) SIS(0): Depth 24, (--) framebuffer bpp 32  
[    35.166] (==) SIS(0): RGB weight 888  
[    35.166] (==) SIS(0): Default visual is TrueColor  
[    35.172] (--) SIS(0): Video BIOS version "1.10.08" found (old SiS data layou  
t)  
[    35.172] (==) SIS(0): Using HW cursor  
[    35.173] (==) SIS(0): Color HW cursor is enabled  
[    35.173] (II) SIS(0): Using VRAM command queue, size 512k  
[    35.173] (==) SIS(0): Hotkey display switching is enabled  
[    35.173] (II) SIS(0): WARNING: Using the Hotkey might freeze your machine, r  
egardless  
[    35.173] (II) SIS(0):          whether enabled or disabled. This is no drive  
r bug.  
[    35.173] (==) SIS(0): SiSCtrl utility interface is disabled  
[    35.173] (II) SIS(0): For information on SiSCtrl, see  
        http://www.winischhofer.eu/linuxsispart1.shtml#sisctrl  
[    35.173] (==) SIS(0): DRI disabled  
[    35.173] (II) SIS(0): Checking OS for SSE support is not supported in this v  
ersion of X.org  
[    35.173] (II) SIS(0): If your OS supports SSE, set the option "UseSSE" to "on".  
[    35.174] (--) SIS(0): DIMM0 is DDR SDRAM  
[    35.174] (--) SIS(0): DIMM1 is DDR SDRAM  
[    35.174] (--) SIS(0): DIMM2 is not installed  
[    35.174] (--) SIS(0): DIMM3 is not installed  
[    35.174] (--) SIS(0): DRAM type: DDR SDRAM  
[    35.174] (--) SIS(0): Memory clock: 267.268 MHz  
[    35.174] (--) SIS(0): DRAM bus width: 64 bit  
[    35.174] (--) SIS(0): Linear framebuffer at 0xF0000000  
[    35.174] (--) SIS(0): MMIO registers at 0xE7800000 (size 64K)  
[    35.174] (--) SIS(0): VideoRAM: 32768 KB  
[    35.174] (II) SIS(0): Using 32192K of framebuffer memory at offset 0K  
[    35.175] (--) SIS(0): SiS650 revision ID e0 (651)  
[    35.175] (--) SIS(0): Hardware supports two video overlays  
[    35.175] (==) SIS(0): Using gamma correction (1.0, 1.0, 1.0)  
[    35.175] (II) SIS(0): Gamma correction is enabled  
[    35.175] (II) SIS(0): Separate Xv gamma correction is disabled  
[    35.175] (--) SIS(0): Memory bandwidth at 32 bpp is 534.536 MHz  
[    35.175] (II) Loading sub module "ddc"  
[    35.175] (II) LoadModule: "ddc"  
[    35.175] (II) Module "ddc" already built-in  
[    35.781] (--) SIS(0): CRT1 DDC probing failed  
[    35.782] (II) Loading sub module "ddc"  

(我在这里停了下来,因为我现在已经越过了 sisfb 未找到行)

更新:当我查看 /var/log/ 中的 kern.log 文件时,我发现了一条线索

Nov 27 10:37:40 iqondesktop kernel: [    1.720375] vesafb: mode is 640x480x32, linelength=2560, pages=0
Nov 27 10:37:40 iqondesktop kernel: [    1.720383] vesafb: scrolling: redraw
Nov 27 10:37:40 iqondesktop kernel: [    1.720389] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
Nov 27 10:37:40 iqondesktop kernel: [    1.720834] vesafb: framebuffer at 0xf0000000, mapped to 0xf8480000, using 1216k, total 1216k
Nov 27 10:37:40 iqondesktop kernel: [    1.726543] Console: switching to colour frame buffer device 80x30
Nov 27 10:37:40 iqondesktop kernel: [    1.731846] fb0: VESA VGA frame buffer device

...

Nov 27 10:37:40 iqondesktop kernel: [    2.621286] agpgart-sis 0000:00:00.0: SiS chipset [1039/0651]
Nov 27 10:37:40 iqondesktop kernel: [    2.633082] agpgart-sis 0000:00:00.0: AGP aperture is 64M @ 0xe8000000
Nov 27 10:37:40 iqondesktop kernel: [    2.673595] sisfb: Video ROM found
Nov 27 10:37:40 iqondesktop kernel: [    2.673685] tsc: Refined TSC clocksource calibration: 2017.968 MHz
Nov 27 10:37:40 iqondesktop kernel: [    2.701226] sisfb: Fatal error: Unable to reserve 32MB framebuffer memory
Nov 27 10:37:40 iqondesktop kernel: [    2.701234] sisfb: Is there another framebuffer driver active?

根据,在内核启动期间,vesafb 在 sisfb 之前启动。因此 sisfb 无法保留帧缓冲区内存并退出并出现致命错误。我已将 vesafb 列入黑名单/etc/modprobe.d/blacklist-framebuffer.conf并运行sudo update-initramfs -k all -u。但是我找不到文件/boot/grub/menu.lst,可能是因为 Lubuntu 没有这个文件而 Xubuntu 有。

好的,/boot/grub/menu.lst在 grub2 中不存在,而我的引导加载程序是 grub2。相反,grub2 是使用文件/etc/default/grub和里面的文件配置的/etc/grub.d/,但目前我不知道如何在 grub2 中执行相当于“从 /boot/grub/menu.lst 中删除 vga= 行”的操作。

答案1

sisfb 似乎无法加载,因为内核首先加载 vesafb。sisfb 无法保留帧缓冲区内存,因为 vesafb 已经保留了,所以 sisfb 出现致命错误并退出。 此链接断言 vesafb 会阻止 sisfb,并说明如何在 grub 中禁用 vesafb,以便 sisfb 加载。但是,那里的方法适用于原始 grub 引导加载程序,而由于我的安装使用 grub2,因此对我不起作用。Grub2menu.lst没有/boot/grub

grub2中禁用framebuffer的方法讲解这里。总之,您必须编辑 /etc/default/grub(例如sudo nano /etc/default/grub)并取消注释此行:

GRUB_TERMINAL_OUTPUT=console

然后你必须sudo update-grub重新启动。

然后我发现我的启动画面变得乱码,/etc/X11/xorg.conf文件被重命名为xorg.conf.11282015(MMDDYYYY 格式的今天日期),分辨率丢失,颜色都很奇怪。我设法用命令sudo cp /etc/X11/xorg.conf.11282015 /etc/X11/xorg.conf和重新启动解决了这个问题。

我的 1360x768 分辨率恢复了,颜色也恢复了,sisfb 似乎已根据 和 读入Xorg.0.logdmesg我的启动画面仍然乱码,但我认为我需要通过编辑 中的行来为启动画面选择较低的分辨率/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="video=sisfb:1360x768R@60m quiet splash"

也许我的电脑一开始就不支持 1360x768 分辨率。

下面是我的 dmesg 输出和 Xorg.0.log 输出,这更令人鼓舞:

jeff@iqondesktop:~$ dmesg | grep fb
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dffbfff] usable
[    0.000000]   HighMem  [mem 0x37bfe000-0x7dffbfff]
[    0.000000]   node   0: [mem 0x00100000-0x7dffbfff]
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-68-generic root=UUID=972fb678-4a5f-45f1-a64d-0773fb7b3169 ro video=sisfb:1360x768R@60m quiet splash vt.handoff=7
[    0.000000]     vmalloc : 0xf83fe000 - 0xffbfe000   ( 120 MB)
[    2.711401] sisfb: Video ROM found
[    2.737381] sisfb: Video RAM at 0xf0000000, mapped to 0xf8500000, size 32768k
[    2.737393] sisfb: MMIO at 0xe7800000, mapped to 0xfa540000, size 128k
[    2.737399] sisfb: Memory heap starting at 32160K, size 32K
[    4.114435] sisfb: CRT1 DDC probing failed
[    4.114447] sisfb: Default mode is 800x600x8 (60Hz)
[    4.114463] sisfb: Initial vbflags 0x0
[    4.147683] fbcon:  (fb0) is primary device
[    4.194040] sisfb: 2D acceleration is enabled, y-panning enabled (auto-max)
[    4.194045] fb0: SiS 651 frame buffer device version 1.8.9
[    4.194048] sisfb: Copyright (C) 2001-2005 Thomas Winischhofer
jeff@iqondesktop:~$ grep fb /var/log/Xorg.0.log
[    36.264] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-68-generic root=UUID=972fb678-4a5f-45f1-a64d-0773fb7b3169 ro video=sisfb:1360x768R@60m quiet splash vt.handoff=7
[    36.344] (--) SIS(0): fb0: SiS kernel fb driver (sisfb) 1.8.9 detected (PCI:01:00.0)
[    36.344] (--) SIS(0): sisfb: memory heap at 32160KB, size 32KB, viewport at 0KB
[    36.344] (--) SIS(0): sisfb: using video mode 0x30
[    36.344] (--) SIS(0): sisfb: using SiS315/330/340 series MMIO mode, reserved 512K
[    37.274] (II) Loading sub module "fb"
[    37.274] (II) LoadModule: "fb"
[    37.275] (II) Loading /usr/lib/xorg/modules/libfb.so
[    37.276] (II) Module fb: vendor="X.Org Foundation"

相关内容