# fbdevhw



## bsdolith (Mar 13, 2012)

Hi,

I know there have been some posts about this that I've read but I still need help...

I can make an install of 9.0 release with gdm and gnome desktop if I install the ports from my USB installation media and don't update my ports tree. I have tried it and it works. But when I update my ports tree and all the ports, gdm stops working. So now I have made a clean install, only installing the sources. After the install I have fetched the ports tree with portsnap, installed the xorg binary package and made a *portmaster -a* update. This updated a couple of ports. Now I am trying to set up xorg.

I have enabled hald and dbus and moused and rebooted my computer. when I did *%startx* (without making any configurations) the system did not start because it was unable to load fbdev. I installed fbdev from x11-drivers/xf86-video-fbdev and rebooted the computer. Now it was possible to go *%startx* but the mouse and keyboard did not work. So I logged in as superuser and started to configure xorg. I went ahead and did a *#Xorg -configure* but the setup of the installation file failed. This is the output from my /var/log/Xorg.0.log file (actually the xorg.conf.new file was created, see further down):


```
X.Org X Server 1.7.7
Release Date: 2010-05-04
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 9.0-RELEASE i386 
Current Operating System: FreeBSD busta.xxxxxx.xx 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC 2012     
root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
Build Date: 03 December 2011  06:59:29AM
 
Current version of pixman: 0.24.2
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar 13 11:46:21 2012
(II) Loader magic: 0x81e0080
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.4
	X.Org Video Driver: 6.0
	X.Org XInput driver : 7.0
	X.Org Server Extension : 2.0
(--) Using syscons driver with X support (version 2.0)
(--) using VT number 9

(--) PCI:*(0:0:2:0) 8086:0116:1025:054c Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
 rev 9, Mem @ 0xc0000000/4194304, 0xb0000000/268435456, I/O @ 0x00003000/64, BIOS @ 0x????????/65536
List of video drivers:
	radeon
	radeonhd
	r128
	openchrome
	nv
	mach64
	intel
	ati
	fbdev
	vesa
(II) LoadModule: "radeon"
(II) Loading /usr/local/lib/xorg/modules/drivers/radeon_drv.so
(II) Module radeon: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 6.14.3
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "radeonhd"
(II) Loading /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
(II) Module radeonhd: vendor="AMD GPG"
	compiled for 1.7.7, module version = 1.3.0
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "r128"
(II) Loading /usr/local/lib/xorg/modules/drivers/r128_drv.so
(II) Module r128: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 6.8.1
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "openchrome"
(II) Loading /usr/local/lib/xorg/modules/drivers/openchrome_drv.so
(II) Module openchrome: vendor="http://openchrome.org/"
	compiled for 1.7.7, module version = 0.2.904
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "nv"
(II) Loading /usr/local/lib/xorg/modules/drivers/nv_drv.so
(II) Module nv: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 2.1.18
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "mach64"
(II) Loading /usr/local/lib/xorg/modules/drivers/mach64_drv.so
(II) Module mach64: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 6.8.2
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "intel"
(II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 2.7.1
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "ati"
(II) Loading /usr/local/lib/xorg/modules/drivers/ati_drv.so
(II) Module ati: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 6.14.3
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "fbdev"
(II) Loading /usr/local/lib/xorg/modules/drivers/fbdev_drv.so
(II) Module fbdev: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 0.4.2
	ABI class: X.Org Video Driver, version 6.0
(II) LoadModule: "vesa"
(II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
(II) Module vesa: vendor="X.Org Foundation"
	compiled for 1.7.7, module version = 2.3.0
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 6.0
(II) Primary Device is: PCI 00@00:02:0
(II) FBDEV: driver for framebuffer: fbdev
(II) VESA: driver for VESA chipsets: vesa
(++) Using config file: "/root/xorg.conf.new"
(==) ServerLayout "X.org Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Card0"
(**) |-->Input Device "Mouse0"
(**) |-->Input Device "Keyboard0"
(==) Automatically adding devices
(==) Automatically enabling devices
(**) FontPath set to:
	/usr/local/lib/X11/fonts/misc/,
	/usr/local/lib/X11/fonts/TTF/,
	/usr/local/lib/X11/fonts/OTF,
	/usr/local/lib/X11/fonts/Type1/,
	/usr/local/lib/X11/fonts/100dpi/,
	/usr/local/lib/X11/fonts/75dpi/,
	/usr/local/lib/X11/fonts/misc/,
	/usr/local/lib/X11/fonts/TTF/,
	/usr/local/lib/X11/fonts/OTF,
	/usr/local/lib/X11/fonts/Type1/,
	/usr/local/lib/X11/fonts/100dpi/,
	/usr/local/lib/X11/fonts/75dpi/
(**) ModulePath set to "/usr/local/lib/xorg/modules"
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
(WW) Disabling Mouse0
(WW) Disabling Keyboard0
(II) Loading sub module "fbdevhw"
(II) LoadModule: "fbdevhw"
(II) Loading /usr/local/lib/xorg/modules/linux/libfbdevhw.so
(EE) LoadModule: Module fbdevhw does not have a fbdevhwModuleData data object.
(II) UnloadModule: "fbdevhw"
(II) Unloading /usr/local/lib/xorg/modules/linux/libfbdevhw.so
(EE) Failed to load module "fbdevhw" (invalid module, 0)
(WW) Falling back to old probe method for fbdev
Number of created screens does not match number of detected devices.
  Configuration failed.
```

The xorg.conf.new file was created and if I go ahead and try it with [cmd=]# Xorg -config xorg.conf.new -retro[/cmd] I get the screen but the mouse is not working. This is the output of my /root/xorg.conf.new that was actually created. I can see that it is set to load fbdev. Maybe I should try to set it to load VESA?


```
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "dbe"
	Load  "dri"
	Load  "dri2"
	Load  "extmod"
	Load  "glx"
	Load  "record"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "Rotate"             	# <str>
        #Option     "fbdev"              	# <str>
        #Option     "debug"              	# [<bool>]
	Identifier  "Card0"
	Driver      "fbdev"
	VendorName  "Intel Corporation"
	BoardName   "2nd Generation Core Processor Family Integrated Graphics Controller"
	BusID       "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection
```

I hope this is enough information to solve this issue.

NB. If I would have made an install without updating the ports tree and the ports, everything would have worked!?!


----------



## SirDice (Mar 13, 2012)

What videocard do you have?

It would appear to be an Intel card. So use x11-drivers/xf86-video-intel or x11-drivers/xf86-video-intel29.


----------



## bsdolith (Mar 13, 2012)

It's an Intel HD Graphics 3000 card. But I'm not sure if this is the problem. If I go in and change the card loaded from fbdev to Intel the system still complains that it fails to load the fbdevhw module.

When I go [CMD=]Xorg -config xorg.config.new -retro[/CMD] I get the screen ok but the mouse is not working. When I back out of the screen I see the message


```
(EE) LoadModule: Module fbdev does not have a fbdevhwModuleData data object.
(EE) Failed to load module "fbdevhw" (invalid module, 0)
```

Looking at the xorg.0.log file I can read

```
Loading /usr/local/lib/xorg/modules/[B]linux[/B]/libfbdevhw.so
```

I have not loaded any linux modules yet. Can this be the reason for the error?


----------



## adamk (Mar 13, 2012)

The Xorg fbdev driver does not work on FreeBSD.  Your GPU is too new for the intel driver, unless you want to patch and rebuild the kernel from source, and update various ports:  http://miwi.bsdcrew.de/2012/02/cft-xorg-upgrade-7-5-2/

Barring that, your only option is to use the Xorg vesa driver.

Adam


----------



## bsdolith (Mar 14, 2012)

Ok, thanks. I will try and follow the instructions and see what I come up with. I'll report back.


----------



## bsdolith (Mar 14, 2012)

To be honest I believe it is way over my head right now to patch and rebuild the kernel from source. The easiest thing for me would be to reinstall everything and to include the ports that I have on my USB. If I do this and don't update the ports with portsnap I will have a system that works. The only bad thing is that I will not understand why and I want to be able to update the ports tree. I have tried to load the vesa driver but with no success.

Does anyone have any other input?


----------



## bsdolith (Mar 25, 2012)

Hi again,

Ok, so I have followed the instructions here: 
http://miwi.bsdcrew.de/2012/02/cft-xorg-upgrade-7-5-2/

and here:
http://forums.freebsd.org/showthread.php?t=21852&page=5

It's been real interesting and I have learned a lot BUT still this solution did not work out for me. Basically I got kernel panic and the system shut down. So I have decided to either use PC-BSD (I'm writing this post testing out a live PC-BSD session) or the RELEASE of FreeBSD using the vesa driver. As I said in my first post, xorg stops working if I update the ports tree and the ports. I don't understand why?

What changed when I updated and upgraded the ports tree causing xorg to break? How can I avoid this?

I really appreciate any answers!


----------

