ASUS X555LJ with Intel Haswell-ULT Integrated Graphics Controller

Good day!

Decided to open a new post to piece together the steps for configuring the Integrated Graphics Controller From Intel. I think it will be interesting to all owners of laptops with similar adapters.

Input data:
Notebook ASUS X555LJ on Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz
Installed FreeBSD 10.2 RELEASE amd64
Notebook have TWO Graphics Controller, Second - nVidia GeForce 920M


On page https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
may be find description about Core i3-4005U and find:
Graphics HD Graphics 4400 with Code name Haswell Launch On 2013 year.

$pciconf -lvb
Code:
vgapci0@pci0:0:2:0:  class=0x030000 card=0x1a6d1043 chip=0x0a168086 rev=0x0b hdr=0x00
  vendor  = 'Intel Corporation'
  device  = 'Haswell-ULT Integrated Graphics Controller'
  class  = display
  subclass  = VGA
  bar  [10] = type Memory, range 64, base 0xa1400000, size 4194304, enabled
  bar  [18] = type Prefetchable Memory, range 64, base 0xb0000000, size 268435456, enabled
  bar  [20] = type I/O Port, range 32, base 0x5000, size 64, enabled

...

vgapci1@pci0:4:0:0:  class=0x030200 card=0x1a6d1043 chip=0x129910de rev=0xa1 hdr=0x00
  vendor  = 'NVIDIA Corporation'
  class  = display
  subclass  = 3D
  bar  [10] = type Memory, range 32, base 0xa0000000, size 16777216, enabled
  bar  [14] = type Prefetchable Memory, range 64, base 0xc0000000, size 268435456, enabled
  bar  [1c] = type Prefetchable Memory, range 64, base 0xd0000000, size 33554432, enabled
  bar  [24] = type I/O Port, range 32, base 0x3000, size 128, enabled

Then install:
X.Org X Server 1.17.4
/usr/ports/x11/nvidia-driver
/usr/ports/x11-drivers/xf86-video-intel

and other needed port.

All was well until that's up and running X.org.

Log /var/log/Xorg.0.log contains:
Code:
[  2838.751] (==) Using config file: "/etc/X11/xorg.conf"
[  2838.751] (==) ServerLayout "L0"
[  2838.751] (**) |-->Screen "Screen0" (0)
[  2838.751] (**) |  |-->Monitor "Monitor0"
[  2838.751] (**) |  |-->Device "Card0"
[  2838.751] (**) |-->Input Device "Mouse0"
[  2838.751] (**) |-->Input Device "Keyboard0"
[  2838.751] (**) Option "DontZap" "on"
[  2838.751] (**) Option "BlankTime" "60"
[  2838.751] (**) Option "StandbyTime" "30"
[  2838.751] (**) Option "SuspendTime" "40"
[  2838.751] (**) Option "OffTime" "70"
[  2838.751] (**) Option "AutoAddDevices" "off"
[  2838.752] (**) Not automatically adding devices
[  2838.752] (==) Automatically enabling devices
[  2838.752] (==) Not automatically adding GPU devices
[  2838.752] (WW) The directory "/usr/local/share/fonts/artwiz-ru/" does not exist.
[  2838.752]  Entry deleted from font path.
[  2838.802] (WW) `fonts.dir' not found (or not valid) in "/usr/local/share/fonts/encodings/".
[  2838.802]  Entry deleted from font path.
[  2838.802]  (Run 'mkfontdir' on "/usr/local/share/fonts/encodings/").
[  2838.870] (**) FontPath set to:
  /usr/local/share/fonts/100dpi/,
  /usr/local/share/fonts/75dpi/,
  /usr/local/share/fonts/OTF/,
  /usr/local/share/fonts/TTF/,
  /usr/local/share/fonts/Type1/,
  /usr/local/share/fonts/cyrillic/,
  /usr/local/share/fonts/dejavu/,
  /usr/local/share/fonts/terminus-font/,
  /usr/local/share/fonts/misc/,
  /usr/local/share/fonts/urwfonts/,
  /usr/local/share/fonts/urwfonts-ttf/,
  /usr/local/share/fonts/webfonts/,
  /usr/local/share/fonts/misc/,
  /usr/local/share/fonts/TTF/,
  /usr/local/share/fonts/OTF/,
  /usr/local/share/fonts/Type1/,
  /usr/local/share/fonts/100dpi/,
  /usr/local/share/fonts/75dpi/
[  2838.870] (**) ModulePath set to "/usr/local/lib/xorg/modules"
[  2838.870] (II) Loader magic: 0x801510
[  2838.870] (II) Module ABI versions:
[  2838.870]  X.Org ANSI C Emulation: 0.4
[  2838.870]  X.Org Video Driver: 19.0
[  2838.870]  X.Org XInput driver : 21.0
[  2838.870]  X.Org Server Extension : 9.0
[  2838.870] (--) PCI:*(0:0:2:0) 8086:0a16:1043:1a6d rev 11, Mem @ 0xa1400000/4194304, 0xb0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/65536
[  2838.870] (--) PCI: (0:4:0:0) 10de:1299:1043:1a6d rev 161, Mem @ 0xa0000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00003000/128
[  2838.870] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[  2838.870] (II) LoadModule: "extmod"
[  2838.870] (II) Module "extmod" already built-in
[  2838.870] (II) LoadModule: "dbe"
[  2838.870] (II) Module "dbe" already built-in
[  2838.870] (II) LoadModule: "glx"
[  2838.870] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  2838.885] (II) Module glx: vendor="NVIDIA Corporation"
[  2838.885]  compiled for 4.0.2, module version = 1.0.0
[  2838.885]  Module class: X.Org Server Extension
[  2838.885] (II) NVIDIA GLX Module  346.96  Sun Aug 23 21:29:48 PDT 2015
[  2838.885] (II) LoadModule: "intel"
[  2838.885] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[  2838.886] (II) Module intel: vendor="X.Org Foundation"
[  2838.886]  compiled for 1.17.4, module version = 2.21.15
[  2838.886]  Module class: X.Org Video Driver
[  2838.886]  ABI class: X.Org Video Driver, version 19.0
[  2838.886] (II) LoadModule: "mouse"
[  2838.906] (II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
[  2838.927] (II) Module mouse: vendor="X.Org Foundation"
[  2838.928]  compiled for 1.17.4, module version = 1.9.1
[  2838.928]  Module class: X.Org XInput Driver
[  2838.928]  ABI class: X.Org XInput driver, version 21.0
[  2838.928] (II) LoadModule: "kbd"
[  2838.928] (II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so
[  2838.928] (II) Module kbd: vendor="X.Org Foundation"
[  2838.928]  compiled for 1.17.4, module version = 1.8.1
[  2838.928]  Module class: X.Org XInput Driver
[  2838.928]  ABI class: X.Org XInput driver, version 21.0
[  2838.928] (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
[  2838.928] (--) Using syscons driver with X support (version 0.x)
[  2838.928] (--) using VT number 5

[  2838.943] (EE) No devices detected.
[  2838.943] (EE)
Fatal server error:
[  2838.943] (EE) no screens found(EE)
[  2838.943] (EE)

Why (EE) No devices detected. ???
There are also HD Graphics 4400 in the list of adapters.

/etc/X11/xorg.conf
Code:
Section "Device"
  Identifier  "Card0"
  Driver  "intel"
  BusID  "PCI:0:2:0"
EndSection

Or is this the wrong adapter?

What to do? What plan of action?
The core may need to collect more: what to include and what to disable.
 
Don't install both drivers. The NVidia driver replaces a couple of Xorg libraries:
Code:
[  2838.870] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  2838.885] (II) Module glx: vendor="NVIDIA Corporation"
[  2838.885]  compiled for 4.0.2, module version = 1.0.0
[  2838.885]  Module class: X.Org Server Extension
And the Intel driver expects the original Xorg libraries.

I'd suggest trying to get it to work using the NVidia driver and not enable the Intel graphics.
 
Good day!
Card Intel vgapci0@pci0:0:2:0: main unit, card nVidia vgapci1@pci0:4:0:0: additional.
Intel card connected to the laptop display and the nVidia card gives the two connector: VGA and HDMI.
There is no options - I want the primary display.
Another question.
What's the difference how many cards and displays?
Intel does not see your adapter. There is a suspicion that notebook another graphics adapter, no HD Graphics 4400.

how to accurately know the Intel driver x11-drivers/xf86-video-intel for the adapter or not?

Also, I tried to remove the nvidia driver x11/nvidia-driver - error is the same.
 
Let us examine the output of the command: pciconf -lvb

Code:
vgapci0@pci0:0:2:0:  class=0x030000 card=0x1a6d1043 chip=0x0a168086 rev=0x0b hdr=0x00

card=0x1a6d1043 => 1a6d=(???) 1043=(ASUSTeK Computer Inc.)
chip=0x0a168086 => 0a16=(Haswell-ULT Integrated Graphics Controller) 8086=(Intel Corporation)

This examine based on file /usr/share/misc/pci_vendors for FreeBSD 10.2 RELEASE-p12 dated:
Code:
#  Version: 2012.10.24
#  Date:  2012-10-24 03:15:01
Very very old database of vendor and device.

But in file /usr/share/misc/pci_vendors for FreeBSD 11.0 from revision 295843 dated:
Code:
#  Version: 2015.07.31
#  Date:  2015-07-31 03:15:02
nothing has changed.
That is, the operating system itself already knows about these chips, but graphics drivers are still not implemented support.

I it to what. How the upgrade to version 11 of FreeBSD to change the situation? Or there is the interaction of graphics drivers and operating system components? Because the drivers are x11-drivers/xf86-video-intel is a separate component and why they can't see the device, which supposedly is supported.

How to find a list of all devices supported by the driver x11-drivers/xf86-video-intel? In the source code or something to go...
 
New survey.

In file /usr/ports/x11-drivers/xf86-video-intel/work/xf86-video-intel-2.21.15/src/intel_driver.h
i found my chip:
#define PCI_CHIP_HASWELL_ULT_M_GT2 0x0A16

Therefore, it is unclear why the driver does not found my device?

Next in /usr/ports/x11-drivers/xf86-video-intel/Makefile:
PORTNAME= xf86-video-intel
PORTVERSION= 2.21.15
PORTREVISION= 9
CATEGORIES= x11-drivers

and in /usr/ports/x11-drivers/xf86-video-intel/work/xf86-video-intel-2.21.15/ChangeLog:

commit f57ce6ef9ca735d5cb428b2f12f1f9413a70506a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Aug 21 12:20:29 2013 +0100
2.21.15 release
...

All is good, but the last changes were made on August 21, 2013.
Turns out these drivers is not relevant at all. Is this normal?
 
Forgot to say.
While working through the driver /usr/ports/x11-drivers/xf86-video-vesa.
Still lack of "transparency".
 
Yeah. Then the drivers should be called /usr/ports/x11-drivers/xf86-video-intel-legend
 
Good evening!
After a week of testing, trial and error ...
(Oh .. or am I complicating or doing something wrong)

Updated to version 11.0 (FreeBSD 11.0-CURRENT #0: Mon Feb 29 12:06:22 YEKT 2016)
To use the r295683 since it was made in the latest snapshots dated 17 February 2016. Prior to that, was an attempt to use a later version, but stopped, as there were build errors.

Were done all stages updates: buildworld, buildkernel and mergemaster. Everything works. I almost didn't notice the difference - as if minor version changed.

But the Intel driver does not detect a video adapter, again!

/etc/X11/xorg.conf contain:
Code:
Section "Device"
  Identifier  "Card0"
  Driver  "intel"
  #Driver  "vesa"
  BusID  "PCI:0:2:0"
EndSection

/var/log/Xorg.0.log after run command startx
Code:
[  1901.068]
X.Org X Server 1.17.4
Release Date: 2015-10-28
[  1901.068] X Protocol Version 11, Revision 0
[  1901.068] Build Operating System: FreeBSD 11.0-CURRENT amd64
[  1901.068] Current Operating System: FreeBSD 11.0-CURRENT amd64
[  1901.068] Build Date: 29 February 2016  10:25:34PM
[  1901.068]
[  1901.068] Current version of pixman: 0.34.0
[  1901.068]  Before reporting problems, check http://wiki.x.org
  to make sure that you have the latest version.
[  1901.068] Markers: (--) probed, (**) from config file, (==) default setting,
  (++) from command line, (!!) notice, (II) informational,
  (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  1901.068] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Mar  1 22:07:01 2016
[  1901.122] (==) Using config file: "/etc/X11/xorg.conf"
[  1901.128] (++) ServerLayout "L0"
[  1901.128] (**) |-->Screen "Screen0" (0)
[  1901.128] (**) |  |-->Monitor "Monitor0"
[  1901.129] (**) |  |-->Device "Card0"
[  1901.129] (**) |-->Input Device "Mouse0"
[  1901.129] (**) |-->Input Device "Keyboard0"
[  1901.129] (**) Option "DontZap" "off"
[  1901.129] (**) Option "BlankTime" "60"
[  1901.129] (**) Option "StandbyTime" "30"
[  1901.129] (**) Option "SuspendTime" "40"
[  1901.129] (**) Option "OffTime" "70"
[  1901.129] (**) Option "IgnoreABI" "1"
[  1901.129] (**) Option "AutoAddDevices" "off"
[  1901.129] (**) Ignoring ABI Version
[  1901.129] (**) Not automatically adding devices
[  1901.129] (==) Automatically enabling devices
[  1901.129] (==) Not automatically adding GPU devices
[  1901.375] (**) FontPath set to:
  /usr/local/share/fonts/100dpi/,
  /usr/local/share/fonts/75dpi/,
  /usr/local/share/fonts/OTF/,
  /usr/local/share/fonts/TTF/,
  /usr/local/share/fonts/Type1/,
  /usr/local/share/fonts/cyrillic/,
  /usr/local/share/fonts/dejavu/,
  /usr/local/share/fonts/terminus-font/,
  /usr/local/share/fonts/misc/,
  /usr/local/share/fonts/urwfonts/,
  /usr/local/share/fonts/urwfonts-ttf/,
  /usr/local/share/fonts/webfonts/,
  /usr/local/share/fonts/misc/,
  /usr/local/share/fonts/TTF/,
  /usr/local/share/fonts/OTF/,
  /usr/local/share/fonts/Type1/,
  /usr/local/share/fonts/100dpi/,
  /usr/local/share/fonts/75dpi/
[  1901.375] (**) ModulePath set to "/usr/local/lib/xorg/modules"
[  1901.375] (II) Loader magic: 0x80cc30
[  1901.375] (II) Module ABI versions:
[  1901.375]  X.Org ANSI C Emulation: 0.4
[  1901.375]  X.Org Video Driver: 19.0
[  1901.375]  X.Org XInput driver : 21.0
[  1901.375]  X.Org Server Extension : 9.0
[  1901.392] (--) PCI:*(0:0:2:0) 8086:0a16:1043:1a6d rev 11, Mem @ 0xa1400000/4194304, 0xb0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/65536
[  1901.392] (--) PCI: (0:4:0:0) 10de:1299:1043:1a6d rev 161, Mem @ 0xa0000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x00003000/128
[  1901.392] (II) "glx" will be loaded by default.
[  1901.392] (II) LoadModule: "glx"
[  1901.454] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  1902.265] (II) Module glx: vendor="NVIDIA Corporation"
[  1902.265]  compiled for 4.0.2, module version = 1.0.0
[  1902.265]  Module class: X.Org Server Extension
[  1902.265] (II) NVIDIA GLX Module  346.96  Sun Aug 23 21:29:48 PDT 2015
[  1902.281] (II) LoadModule: "intel"
[  1902.281] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[  1902.317] (II) Module intel: vendor="X.Org Foundation"
[  1902.317]  compiled for 1.17.4, module version = 2.21.15
[  1902.317]  Module class: X.Org Video Driver
[  1902.317]  ABI class: X.Org Video Driver, version 19.0
[  1902.317] (II) LoadModule: "mouse"
[  1902.349] (II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
[  1902.373] (II) Module mouse: vendor="X.Org Foundation"
[  1902.373]  compiled for 1.17.4, module version = 1.9.1
[  1902.373]  Module class: X.Org XInput Driver
[  1902.373]  ABI class: X.Org XInput driver, version 21.0
[  1902.373] (II) LoadModule: "kbd"
[  1902.373] (II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so
[  1902.384] (II) Module kbd: vendor="X.Org Foundation"
[  1902.384]  compiled for 1.17.4, module version = 1.8.1
[  1902.384]  Module class: X.Org XInput Driver
[  1902.384]  ABI class: X.Org XInput driver, version 21.0
[  1902.384] (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
[  1902.384] (--) Using syscons driver with X support (version 16777218.0)
[  1902.385] (--) using VT number 5

[  1902.580] (EE) No devices detected.
[  1902.580] (EE)
Fatal server error:
[  1902.580] (EE) no screens found(EE)
[  1902.581] (EE)
Please consult the The X.Org Foundation support
  at http://wiki.x.org
for help.
[  1902.581] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  1902.581] (EE)
[  1902.605] (EE) Server terminated with error (1). Closing log file.

kldstat
Code:
Id Refs Address  Size  Name
1  54 0xffffffff80200000 103fe18  kernel
2  1 0xffffffff81241000 8728  acpi_video.ko
3  1 0xffffffff8124a000 b67a80  nvidia.ko
4  1 0xffffffff81db2000 9cf0  acpi_asus.ko
5  1 0xffffffff81e21000 1ae66  ng_btsocket.ko
6  1 0xffffffff81e3c000 105c  ng_bluetooth.ko
7  1 0xffffffff81e3e000 bca2  netgraph.ko
8  1 0xffffffff81e4a000 a3be  linprocfs.ko
9  1 0xffffffff81e55000 5798  fdescfs.ko
10  1 0xffffffff81e5b000 781e9  i915kms.ko
11  1 0xffffffff81ed4000 5208f  drm2.ko
12  2 0xffffffff81f27000 e26f  agp.ko
13  1 0xffffffff81f36000 1c3f  iic.ko
14  1 0xffffffff81f38000 1e3b  iicbb.ko

Let me remind you that the laptop have two graphics cards - integrated Intel and discrete vNidia.

In link
https://wiki.freebsd.org/Graphics/Update i915 GPU driver to Linux 3.8
it is said that the new update version of the Linux kernel to 3.8, but I can see an old version of Linux.
sysctl compat.linux.osrelease
compat.linux.osrelease: 2.6.32

Excuse me, but what a separate branch, which exists separately from the STABLE and CURRENT?
How to work with it, then how to update and maintain?
What is the probability that this work will be included in 11-RELEASE and not have to wait for next version to STABLE or CURRENT?

Good people, what to do now? Where to go next?
 
Last edited by a moderator:
The sysctl(8) has nothing to do with GPU support - it is related to the Linux emulation, which is not needed in regards of this driver.

Development of this driver and kernel needed parts is done in separate repository on Github. Wikipage you mentioned contains info how to build and install kernel with needed bits. However it is ongoing work, things may broke or not function at all. Zero support included.
 
That is, it makes no sense to update the version 10.2 RELEASE to 11-CURRENT or 11.0-RELEASE?
In which version will apply these changes?
 
11-CURRENT is not supported here on the forums at all: Thread 40469. You can however ask your questions on the freebsd-current mailing list.

Additionally, your hardware is using Nvidia Optimus technology which is not supported under FreeBSD at all. If I recall, some FreeBSD users have been able to configure the Intel or Nvidia driver only and have it work successfully but it normally will not work and is not supported at all.
 
Sorry, I don't understand what you are asking for. Regarding Linux - somebody, probably intel, develops the driver for unix-like systems on Linux systems. Then it is easier for the FreeBSD developers to mimic some interfaces in our kernel and relatively straightforward port the driver then change each Linux system call in each driver which we want ported to the way FreeBSD does things.

Regarding CURRENT and other/multiple versions - It is usual that developer take copy of the source tree and works locally/outside on it, especially with longtime projects like this one. When the work is done, his local changes are merged back to the project tree. This way ensures that many people can do many incompatible changes without breaking each other work.
 
And to the protocelts' post - this forum is aimed primarily to the end users of the FreeBSD system. HEAD/CURRENT branch is work in progress, considered not suitable for production use and thus not for regular users, but only for developers and testers. There is not enough manpower here to support beginners with questions like "I just rebuilt my 11.nothing system and it doesn't boot now".
 
Yes, of course, it's open source. :)
I just want to know when will support for Intel FreeBSD.
Wait for it at all and to what version? It is clear that it is not for You.

With regard to assistance, this question is correct.
The state of Intel or Asus will be more.
And then there are a number of political issues.
In this respect, nVidia is being very reasonable.

Well, until there is nothing left to wait for. And still need to return the system and make a downgrade.
 
Back
Top