# Xorg intel HD4000 problems



## Business_Woman (Jun 20, 2014)

Hi,

I have a laptop equipped with the Intel HD4000, and I'm  trying to get Xorg running with the Intel driver, without any luck. Currently Xorg refuses to use anything other than VESA, and i am not sure why.

If i try to comment out the VESA driver in Xorg.conf i just get the "No screens found" message.
This is what's in my make.conf

```
WITH_KMS=YES]
WITH_NEW_XORG=YES
```

Xorg.conf

```
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        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  "drm"
        Load  "extmod"
        Load  "record"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbLayout" "se"
        Option      "XkbOptions" "terminate:ctrl_alt_bksp"
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 "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "ServerFlags"
        Option  "AllowEmptyInput" "off"
        Option  "AutoAddDevices" "off"
        Option  "DRI2"          "True"
        #Option "DRI"           "True"
        Option  "AIGLX"         "True"
EndSection



Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "NoAccel"                   #"False"
        #Option     "AccelMethod"               # <str>
        #Option     "Backlight"                 # <str>
        #Option     "DRI"                       # <str>
        #Option     "ColorKey"                  # <i>
        #Option     "VideoKey"                  # <i>
        #Option     "Tiling"                    # [<bool>]
        #Option     "LinearFramebuffer"         # [<bool>]
        #Option     "SwapbuffersWait"           # [<bool>]
        #Option     "TripleBuffer"              # [<bool>]
        #Option     "XvPreferOverlay"           # [<bool>]
        #Option     "HotPlug"                   # [<bool>]
        #Option     "ReprobeOutputs"            # [<bool>]
        #Option     "XvMC"                      # [<bool>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "TearFree"                  # [<bool>]
        #Option     "PerCrtcPixmaps"            # [<bool>]
        #Option     "FallbackDebug"             # [<bool>]
        #Option     "DebugFlushBatches"         # [<bool>]
        #Option     "DebugFlushCaches"          # [<bool>]
        #Option     "DebugWait"                 # [<bool>]
        #Option     "BufferCache"               # [<bool>]
        Option      "AccelMethod"               "sna"
        Identifier  "Card1"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "DefaultRefresh"            # [<bool>]
        #Option     "ModeSetClearScreen"        # [<bool>]
        Identifier  "Card0"
        Driver      "vesa"
        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

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        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
```

And the relevant part of Xorg.0.log


```
X.Org X Server 1.12.4
Release Date: 2012-08-27
[   124.920] X Protocol Version 11, Revision 0
[   124.920] Build Operating System: FreeBSD 10.0-STABLE amd64 
[   124.921] Current Operating System: FreeBSD notebook 10.0-STABLE FreeBSD 10.0-STABLE #1 r267213M: Sun Jun  8 12:42:44 CEST 2014     <user>:/usr/obj/usr/src/sys/GENERIC amd64
[   124.921] Build Date: 09 June 2014  12:09:23AM
[   124.921]  
[   124.921] Current version of pixman: 0.32.4
[   124.921]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[   124.921] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   124.921] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jun 14 21:13:47 2014
[   125.021] (==) Using config file: "/usr/local/etc/X11/xorg.conf"
[   125.032] (==) ServerLayout "X.org Configured"
[   125.032] (**) |-->Screen "Screen0" (0)
[   125.032] (**) |   |-->Monitor "Monitor0"
[   125.032] (**) |   |-->Device "Card0"
[   125.032] (**) |-->Screen "Screen1" (1)
[   125.032] (**) |   |-->Monitor "Monitor1"
[   125.032] (**) |   |-->Device "Card1"
[   125.032] (**) |-->Input Device "Mouse0"
[   125.032] (**) |-->Input Device "Keyboard0"
[   125.032] (**) Option "AIGLX" "True"
[   125.032] (**) Option "AutoAddDevices" "off"
[   125.032] (**) Option "DRI2" "True"
[   125.032] (**) Not automatically adding devices
[   125.032] (==) Not automatically enabling devices
[   125.161] (**) 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/
[   125.161] (**) ModulePath set to "/usr/local/lib/xorg/modules"
[   125.161] (II) Loader magic: 0x7bf370
[   125.161] (II) Module ABI versions:
[   125.161]    X.Org ANSI C Emulation: 0.4
[   125.161]    X.Org Video Driver: 12.1
[   125.161]    X.Org XInput driver : 16.0
[   125.161]    X.Org Server Extension : 6.0
[   125.161] (--) PCI:*(0:0:2:0) 8086:0a16:103c:198f rev 9, Mem @ 0xd0000000/4194304, 0xc0000000/268435456, I/O @ 0x00003000/64, BIOS @ 0x????????/65536
[   125.161] (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) "record" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) "dri" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) "dri2" will be loaded. This was enabled by default and also specified in the config file.
[   125.161] (II) LoadModule: "dbe"
[   125.181] (II) Loading /usr/local/lib/xorg/modules/extensions/libdbe.so
[   125.192] (II) Module dbe: vendor="X.Org Foundation"
[   125.192]    compiled for 1.12.4, module version = 1.0.0
[   125.192]    Module class: X.Org Server Extension
[   125.192]    ABI class: X.Org Server Extension, version 6.0
[   125.192] (II) Loading extension DOUBLE-BUFFER
[   125.192] (II) LoadModule: "dri"
[   125.193] (II) Loading /usr/local/lib/xorg/modules/extensions/libdri.so
[   125.242] (II) Module dri: vendor="X.Org Foundation"
[   125.242]    compiled for 1.12.4, module version = 1.0.0
[   125.242]    ABI class: X.Org Server Extension, version 6.0
[   125.242] (II) Loading extension XFree86-DRI
[   125.242] (II) LoadModule: "dri2"
[   125.242] (II) Loading /usr/local/lib/xorg/modules/extensions/libdri2.so
[   125.256] (II) Module dri2: vendor="X.Org Foundation"
[   125.256]    compiled for 1.12.4, module version = 1.2.0
[   125.256]    ABI class: X.Org Server Extension, version 6.0
[   125.256] (II) Loading extension DRI2
[   125.256] (II) LoadModule: "extmod"
[   125.256] (II) Loading /usr/local/lib/xorg/modules/extensions/libextmod.so
[   125.292] (II) Module extmod: vendor="X.Org Foundation"
[   125.292]    compiled for 1.12.4, module version = 1.0.0
[   125.292]    Module class: X.Org Server Extension
[   125.292]    ABI class: X.Org Server Extension, version 6.0
[   125.292] (II) Loading extension MIT-SCREEN-SAVER
[   125.292] (II) Loading extension XFree86-VidModeExtension
[   125.292] (II) Loading extension XFree86-DGA
[   125.292] (II) Loading extension DPMS
[   125.292] (II) Loading extension XVideo
[   125.292] (II) Loading extension XVideo-MotionCompensation
[   125.292] (II) Loading extension X-Resource
[   125.292] (II) LoadModule: "record"
[   125.292] (II) Loading /usr/local/lib/xorg/modules/extensions/librecord.so
[   125.304] (II) Module record: vendor="X.Org Foundation"
[   125.304]    compiled for 1.12.4, module version = 1.13.0
[   125.304]    Module class: X.Org Server Extension
[   125.304]    ABI class: X.Org Server Extension, version 6.0
[   125.304] (II) Loading extension RECORD
[   125.304] (II) LoadModule: "glx"
[   125.304] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[   125.331] (II) Module glx: vendor="X.Org Foundation"
[   125.331]    compiled for 1.12.4, module version = 1.0.0
[   125.331]    ABI class: X.Org Server Extension, version 6.0
[   125.331] (**) AIGLX enabled
[   125.331] (II) Loading extension GLX
[   125.331] (II) LoadModule: "vnc"
[   125.331] (II) Loading /usr/local/lib/xorg/modules/extensions/libvnc.so
[   125.844] (II) Module vnc: vendor="Constantin Kaplinsky"
[   125.844]    compiled for 1.12.4, module version = 1.0.0
[   125.844]    Module class: X.Org Server Extension
[   125.844]    ABI class: X.Org Server Extension, version 6.0
[   125.844] (II) Loading extension VNC
[   125.844] (II) LoadModule: "vesa"
[   125.886] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
[   125.893] (II) Module vesa: vendor="X.Org Foundation"
[   125.893]    compiled for 1.12.4, module version = 2.3.3
[   125.893]    Module class: X.Org Video Driver
[   125.893]    ABI class: X.Org Video Driver, version 12.1
[   125.893] (II) LoadModule: "intel"
[   125.906] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[   125.948] (II) Module intel: vendor="X.Org Foundation"
[   125.948]    compiled for 1.12.4, module version = 2.21.15
[   125.948]    Module class: X.Org Video Driver
[   125.948]    ABI class: X.Org Video Driver, version 12.1
[   125.948] (II) LoadModule: "mouse"
[   125.949] (II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
[   125.966] (II) Module mouse: vendor="X.Org Foundation"
[   125.966]    compiled for 1.12.4, module version = 1.9.0
[   125.966]    Module class: X.Org XInput Driver
[   125.966]    ABI class: X.Org XInput driver, version 16.0
[   125.966] (II) LoadModule: "kbd"
[   125.967] (II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so
[   125.977] (II) Module kbd: vendor="X.Org Foundation"
[   125.977]    compiled for 1.12.4, module version = 1.8.0
[   125.977]    Module class: X.Org XInput Driver
[   125.977]    ABI class: X.Org XInput driver, version 16.0
[   125.977] (II) VESA: driver for VESA chipsets: vesa
[   125.977] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
        i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
        915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
        Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
        GM45, 4 Series, G45/G43, Q45/Q43, G41, B43, HD Graphics,
        HD Graphics 2000, HD Graphics 3000, HD Graphics 2500,
        HD Graphics 4000, HD Graphics P4000, HD Graphics 4600,
        HD Graphics 5000, HD Graphics P4600/P4700, Iris(TM) Graphics 5100,
        HD Graphics 4400, HD Graphics 4200, Iris(TM) Pro Graphics 5200
[   125.978] (--) Using syscons driver with X support (version 2.0)
[   125.978] (--) using VT number 9

[   126.003] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[   126.003] (II) Loading sub module "vbe"
[   126.003] (II) LoadModule: "vbe"
[   126.003] (II) Loading /usr/local/lib/xorg/modules/libvbe.so
[   126.036] (II) Module vbe: vendor="X.Org Foundation"
[   126.036]    compiled for 1.12.4, module version = 1.1.0
[   126.036]    ABI class: X.Org Video Driver, version 12.1
[   126.036] (II) Loading sub module "int10"
[   126.036] (II) LoadModule: "int10"
[   126.037] (II) Loading /usr/local/lib/xorg/modules/libint10.so
[   126.058] (II) Module int10: vendor="X.Org Foundation"
[   126.058]    compiled for 1.12.4, module version = 1.0.0
[   126.058]    ABI class: X.Org Video Driver, version 12.1
[   126.058] (II) VESA(0): initializing int10
[   126.058] (II) VESA(0): Primary V_BIOS segment is: 0xc000
[   126.069] (II) VESA(0): VESA BIOS detected
[   126.069] (II) VESA(0): VESA VBE Version 3.0
[   126.069] (II) VESA(0): VESA VBE Total Mem: 65472 kB
[   126.069] (II) VESA(0): VESA VBE OEM: Intel(R) HSW Mobile/Desktop Graphics Chipset Accelerated VGA BIOS
[   126.069] (II) VESA(0): VESA VBE OEM Software Rev: 0.0
[   126.075] (==) VESA(0): Depth 24, (--) framebuffer bpp 32
[   126.075] (==) VESA(0): RGB weight 888
[   126.075] (==) VESA(0): Default visual is TrueColor
[   126.075] (==) VESA(0): Using gamma correction (1.0, 1.0, 1.0)
[   126.075] (II) Loading sub module "ddc"
[   126.075] (II) LoadModule: "ddc"
[   126.075] (II) Module "ddc" already built-in
[   126.111] (II) VESA(0): VESA VBE DDC supported
[   126.111] (II) VESA(0): VESA VBE DDC Level 2
[   126.111] (II) VESA(0): VESA VBE DDC transfer in appr. 1 sec.
[   126.114] (II) VESA(0): VESA VBE DDC read successfully
[   126.143] (II) VESA(0): Manufacturer: AUO  Model: 34ed  Serial#: 0
[   126.143] (II) VESA(0): Year: 2012  Week: 0
[   126.143] (II) VESA(0): EDID Version: 1.4
[   126.143] (II) VESA(0): Digital Display Input
[   126.143] (II) VESA(0): 6 bits per channel
[   126.143] (II) VESA(0): Digital interface is DisplayPort
[   126.143] (II) VESA(0): Max Image Size [cm]: horiz.: 34  vert.: 19
[   126.143] (II) VESA(0): Gamma: 2.20
[   126.143] (II) VESA(0): No DPMS capabilities specified
[   126.143] (II) VESA(0): Supported color encodings: RGB 4:4:4 
[   126.143] (II) VESA(0): First detailed timing is preferred mode
[   126.143] (II) VESA(0): Preferred mode is native pixel format and refresh rate
[   126.143] (II) VESA(0): redX: 0.620 redY: 0.349   greenX: 0.324 greenY: 0.606
[   126.143] (II) VESA(0): blueX: 0.152 blueY: 0.118   whiteX: 0.313 whiteY: 0.329
[   126.143] (II) VESA(0): Manufacturer's mask: 0
[   126.143] (II) VESA(0): Supported detailed timing:
[   126.143] (II) VESA(0): clock: 141.0 MHz   Image Size:  344 x 193 mm
[   126.143] (II) VESA(0): h_active: 1920  h_sync: 1968  h_sync_end 2068 h_blank_end 2100 h_border: 0
[   126.143] (II) VESA(0): v_active: 1080  v_sync: 1083  v_sync_end 1084 v_blanking: 1112 v_border: 0
[   126.143] (II) VESA(0): Supported detailed timing:
[   126.143] (II) VESA(0): clock: 94.0 MHz   Image Size:  344 x 193 mm
[   126.143] (II) VESA(0): h_active: 1920  h_sync: 1968  h_sync_end 2068 h_blank_end 2100 h_border: 0
[   126.143] (II) VESA(0): v_active: 1080  v_sync: 1083  v_sync_end 1084 v_blanking: 1112 v_border: 0
[   126.143] (II) VESA(0): Unknown vendor-specific block 2
[   126.143] (II) VESA(0): EDID (in hex):
[   126.143] (II) VESA(0):      00ffffffffffff0006afed3400000000
[   126.143] (II) VESA(0):      001601049522137802d1159e59539b27
[   126.143] (II) VESA(0):      1e505400000001010101010101010101
[   126.143] (II) VESA(0):      010101010101143780b4703820403064
[   126.143] (II) VESA(0):      310058c110000018b82480b470382040
[   126.143] (II) VESA(0):      3064310058c110000018000000000000
[   126.143] (II) VESA(0):      00000000000000000000000000000002
[   126.143] (II) VESA(0):      000c33ff0e3c961b0d1c962020200008
[   126.155] (II) VESA(0): EDID vendor "AUO", prod id 13549
[   126.156] (II) VESA(0): Printing DDC gathered Modelines:
[   126.156] (II) VESA(0): Modeline "1920x1080"x0.0  141.00  1920 1968 2068 2100  1080 1083 1084 1112 -hsync -vsync (67.1 kHz eP)
[   126.156] (II) VESA(0): Modeline "1920x1080"x0.0   94.00  1920 1968 2068 2100  1080 1083 1084 1112 -hsync -vsync (44.8 kHz e)
[   126.156] (II) VESA(0): Searching for matching VESA mode(s):
[   126.156] Mode: 13c (0x0)
```
Any ideas?


----------



## acheron (Jun 20, 2014)

Hi,

Intel HD4000 is currently not supported, the DRM code of the kernel needs to be updated, see https://wiki.freebsd.org/Graphics.


----------



## Business_Woman (Jun 20, 2014)

Derp


----------



## wblock@ (Jun 20, 2014)

Specifically, it's the video on the Haswell processors.  HD4000 started with the Ivy Bridge processors and ought to work.  The Haswell versions are HD4400 and HD4600.


----------



## tzoi516 (Jun 23, 2014)

wblock@ said:
			
		

> Specifically, it's the video on the Haswell processors.  HD4000 started with the Ivy Bridge processors and ought to work.  The Haswell versions are HD4400 and HD4600.



I have 3 Intel HD laptop variants that support this quote - HD3000 and HD4000 run fine, and the Haswell/Optimus-based laptop is stuck with BSD virtually.


----------



## doa379 (Jun 25, 2014)

Could someone who is up to date with Intel branding spec tell me which bracket does "Intel i Core Processor Integrated Graphics Controller" fit in? It is also called "Intel HD Graphics Dynamic Video Memory Technology 5.0".

I've got FreeBSD-10-amd64 up and running but only with the VESA driver in Xorg so far. I've refreshed the ports collection, updated and compiled xf86-drivers, and Xorg. I get a blank screen when starting Xorg.


----------



## wblock@ (Jun 25, 2014)

The easy way to look it up is by the processor.  Which processor do you have?


----------



## doa379 (Jun 25, 2014)

It is a Core i5 540M.


----------



## wblock@ (Jun 25, 2014)

Type that in to any search engine, and the top result is Intel's page for it: http://ark.intel.com/products/43544/Intel-Core-i5-540M-Processor-3M-Cache-2_53-GHz.  That says it has "HD Graphics", which would be the original.  Really, any i3/i5/i7 before Haswell will work.

See https://wiki.freebsd.org/Graphics#Installing_KMS_Ports to get the KMS ports installed.  The Handbook page is wrong in recommending generating an xorg.conf, try it first without one.


----------



## doa379 (Jun 25, 2014)

Yes I've done precisely that. I also deleted the xorg.conf and attempted to run Xorg -configure without a config file.
I'm then thrown a blank screen if I run startx.

The Intel driver ought to be working fine as I successfully installed Linux complete with full Hardware Acceleration.


----------



## kpa (Jun 25, 2014)

BSD--user said:
			
		

> Yes I've done precisely that. I also deleted the xorg.conf and attempted to run Xorg -configure without a config file.
> I'm then thrown a blank screen if I run startx.
> 
> The Intel driver ought to be working fine as I successfully installed Linux complete with full Hardware Acceleration.



You need custom kernel with the NewCons console to avoid the blank screen, the easiest way to get one is to use the VT configuration that is a ready made configuration for that purpose.


```
cd /usr/src
make buildkernel KERNCONF=VT
make installkernel KERNCONF=VT
```

Edit: Well actually this is to avoid blank screen when trying to switch back to the text console from X but it doesn't hurt migrating to NewCons now.


----------



## doa379 (Jun 25, 2014)

OK, so I do still need to compile the KMS ports and the xf86-video-intel driver and Xorg in that case?


----------



## kpa (Jun 25, 2014)

BSD--user said:
			
		

> OK, so I do still need to compile the KMS ports and the xf86-video-intel driver and Xorg in that case?



Yes of course.


----------



## doa379 (Jun 25, 2014)

Oh no, it's terrible compiling Xorg.
Any recommendations in which particular order compiling of these packages ought to be done, or does it not matter?

Thanks


----------



## doa379 (Jun 26, 2014)

I managed to successfully recompile KMS, Xorg, xf86-video-intel and the latest FreeBSD kernel.

The startup TTY comes up in native display resolution mode and I am able to `startx`. But `Xorg` or `X` still gives me a blank screen. Only this time I am able to switch terminals and kill the X server (Ctrl+C).

`Xorg -retro` works.
`Xorg -configure` does not work (blank screen).

/var/log/Xorg.0.log reports:


```
(WW) intel(0): drmDropMaster failed: Unknown error: -22
```


----------



## wblock@ (Jun 26, 2014)

Please stop using `Xorg -configure`.  It is generally not helpful.  With KMS systems, it runs, generates a poor-quality xorg.conf, then exits.  But most KMS systems do not yet have vt(4), and can't show the console after X starts.

What happens if you remove or rename xorg.conf and just do `startx`?  (That would assume all the setup stuff mentioned in the Handbook chapter has been done, mostly enabling hal and dbus in /etc/rc.conf.)


----------



## doa379 (Jun 26, 2014)

Pardon me, it is working. i.e. with hardware accelerated Intel driver. I was trying to initiate the XDM by running Xorg. Running Xorg alone still shows a blank screen. It isn't a problem per se, as XDM is run straight through the boot process by enabling it in /etc/ttys. Just curious.

Thanks to all, in particular @wblock@ and @kpa. I hope this thread hasn't gone too far OT but I am sure it will help others for the time being.

*SUMMARY*


Compile and install Xorg: `/usr/ports/x11/xorg/make install clean`

Compile and Install KMS ports: 
   (Important: the KMS features are not in the binary packages and must be built from ports.)

    Enable in /etc/make.conf:

```
WITH_NEW_XORG=yes
    WITH_GALLIUM=yes  # Needed for Radeon cards, but does no harm with Intel devices.
```
    WITH_KMS is no longer needed.
    Make certain the ports tree is up-to-date and all installed ports are current.

    If ports-mgmt/portmaster is not already installed, install it: `pkg install ports-mgmt/portmaster`
    Remove old versions of graphics/libGL and graphics/dri: `pkg delete -f graphics/libGL graphics/dri`
    Install or rebuild ports that are affected: `portmaster graphics/libdrm graphics/libGL graphics/dri x11-servers/xorg-server`
    If you install X.Org drivers for the first time (adapt this list to your needs):

```
portmaster                        \
      x11-drivers/xf86-input-keyboard \
      x11-drivers/xf86-input-mouse    \
      x11-drivers/xf86-video-intel    \
      x11-drivers/xf86-video-ati
```
    If drivers are already installed, just rebuild them: `portmaster xf86-`

Fetch the FreeBSD *k*ernel: `svn co [url=svn://svn.freebsd.org/base/head]svn://svn.freebsd.org/base/head[/url] /usr/src`
(This fetches the latest, not necessarily current/stable *k*ernel.)

Compile and Install the *k*ernel

```
cd /usr/src
make kernel-toolchain
make buildkernel KERNCONF=VT
make installkernel KERNCONF=VT
```



```
pkg install xdm awesome
.
.
.
```


----------



## kpa (Jun 26, 2014)

BSD--user said:
			
		

> 3. Fetch FreeBSD Kernel
> 
> 
> ```
> ...




This fetches the 11-CURRENT (at this moment it's at version 11, it will be 12 when FreeBSD 11 matures to stable status) system sources. You might be better off with 10-STABLE (stable/10 branch in the SVN repository) if you're not prepared to keep an eye on the mailing lists and for occasional breakage when some experimental feature doesn't work and crash recovery is needed to get your system back up again. FreeBSD uses a very different development methodology compared to let's say Debian Linux. On FreeBSD the head branch of the SVN repository is not the latest "stable" version but it's the latest bleeding edge experimental branch.


```
svn co svn://svn.freebsd.org/base/stable/10 /usr/src
```

The handbook has a chapter about CURRENT/STABLE, you should read it:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html

Edit: Almost forgot, you have to match the system sources you pull with the version of the OS you're running. If you're on 10-STABLE you shouldn't use the head sources to compile the custom kernel but the stable/10 sources. At the moment NewCons is available in 11-CURRENT, 10-STABLE, 9-STABLE and 9.3-RELEASE (not released yet though). If you're not on one of those versions you have to upgrade first.


----------

