尽管配置modprobe和un-blacklisting,为什么sisfb模块没有加载?

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

为什么sisfb模块没有加载到我的电脑上?

我在/ etc / modules中添加了行sisfb 。 我在/ etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"更改为GRUB_CMDLINE_LINUX_DEFAULT="video=sisfb quiet splash"

我发现在/etc/modprobe.d/blacklist-framebuffer.conf和/etc/modprobe.d/fbdev-blacklist.conf中将sisfb列入黑名单,并在两个文件中注释掉blacklist sisfb行(通过添加#在行的开头)。

然而/var/log/Xorg.0.log文件仍然说“未找到sisfb”。 为什么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  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 not found行)

更新:在查看/ 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无法保留帧缓冲存储器并以致命错误退出。 我在/etc/modprobe.d/blacklist-framebuffer.conf列入了黑名单vesafb并运行sudo update-initramfs -k all -u 。 但是我找不到文件/boot/grub/menu.lst ,可能是因为Lubuntu在Xubuntu时没有这个文件。

好的,grub2中不存在/boot/grub/menu.lst ,我的启动加载程序是grub2。 相反,grub2配置了/etc/default/grub文件和/etc/grub.d/的文件,但目前我不知道该怎么做相当于“从/ boot /删除vga =行” grub / menu.lst“在grub2中。

似乎没有加载sisfb,因为内核首先加载了vesafb。 sisfb无法保留帧缓冲内存,因为vesafb已经有,所以sisfb有一个致命的错误并退出。 这个链接断言vesafb阻止了sisfb,并展示了如何在grub中禁用vesafb以便sisfb加载。 但是,原始grub引导程序的方法,因为我的安装使用grub2,对我来说不起作用。 Grub2在/boot/grub中没有menu.lst

这里解释了在grub2中禁用帧缓冲的方法。 总之,你必须编辑/ 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并重新启动来修复此问题。

我的1360×768分辨率回来了,我的颜色又恢复了,sisfb似乎已根据Xorg.0.logdmesg读入。 我的启动画面仍然是乱码,但我想我需要通过编辑/etc/default/grub的行来为启动画面选择较低的分辨率:

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

在我的电脑上可能无法使用1360×768分辨率。

这是我的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"