Solved "no screens found" with "intel" driver

Hi!

Installed my first FreeBSD (11 RC3) on ASUS UX301 and enjoying systemd free system.

Still there is a problem with display driver, that I couldn't fix. Went through all connected forum posts and the handbook chapters, but still stuck with this error. The computer has "Iris Graphics 5100" (which should be supported), but I can run Xorg only with "vesa".

I tried to install Xorg from ports and with pkg install -- still the same behavior.

I can run XFCE with correct resolution (2560x1440), but graphics are very slow.

So, when I change the driver to intel by adding a file /usr/local/etc/X11/xorg.conf.d/driver-intel.conf:

Code:
Section "Device"
        Identifier "Card0"
        Driver     "intel"
EndSection
X does not start anymore and ends up like that:

Code:
[ 13293.330]
X.Org X Server 1.17.4
Release Date: 2015-10-28
[ 13293.330] X Protocol Version 11, Revision 0
[ 13293.330] Build Operating System: FreeBSD 11.0-RC3 amd64
[ 13293.330] Current Operating System: FreeBSD kiirtriikraud 11.0-RC3 FreeBSD 11.0-RC3 #0 r305786: Wed Sep 14 02:19:25 UTC 2016     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
[ 13293.331] Build Date: 24 September 2016  02:37:47PM
[ 13293.331]  
[ 13293.331] Current version of pixman: 0.34.0
[ 13293.331]    Before reporting problems, check http://wiki.x.org
   to make sure that you have the latest version.
[ 13293.331] Markers: (--) probed, (**) from config file, (==) default setting,
   (++) from command line, (!!) notice, (II) informational,
   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 13293.331] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Sep 27 20:44:49 2016
[ 13293.332] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[ 13293.332] (==) No Layout section.  Using the first Screen section.
[ 13293.332] (==) No screen section available. Using defaults.
[ 13293.332] (**) |-->Screen "Default Screen Section" (0)
[ 13293.332] (**) |   |-->Monitor "<default monitor>"
[ 13293.332] (==) No device specified for screen "Default Screen Section".
   Using the first device section listed.
[ 13293.332] (**) |   |-->Device "Card0"
[ 13293.332] (==) No monitor specified for screen "Default Screen Section".
   Using a default monitor configuration.
[ 13293.333] (==) Automatically adding devices
[ 13293.333] (==) Automatically enabling devices
[ 13293.333] (==) Not automatically adding GPU devices
[ 13293.333] (==) FontPath set to:
   /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/
[ 13293.333] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[ 13293.333] (II) The server relies on devd to provide the list of input devices.
   If no devices become available, reconfigure devd or disable AutoAddDevices.
[ 13293.333] (II) Loader magic: 0x8112f0
[ 13293.333] (II) Module ABI versions:
[ 13293.333]    X.Org ANSI C Emulation: 0.4
[ 13293.333]    X.Org Video Driver: 19.0
[ 13293.333]    X.Org XInput driver : 21.0
[ 13293.333]    X.Org Server Extension : 9.0
[ 13293.333] (--) PCI:*(0:0:2:0) 8086:0a2e:1043:13bd rev 9, Mem @ 0xf7800000/4194304, 0xe0000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/65536
[ 13293.334] (II) LoadModule: "glx"
[ 13293.334] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[ 13293.340] (II) Module glx: vendor="X.Org Foundation"
[ 13293.340]    compiled for 1.17.4, module version = 1.0.0
[ 13293.340]    ABI class: X.Org Server Extension, version 9.0
[ 13293.340] (==) AIGLX enabled
[ 13293.340] (II) LoadModule: "intel"
[ 13293.341] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[ 13293.342] (II) Module intel: vendor="X.Org Foundation"
[ 13293.342]    compiled for 1.17.4, module version = 2.21.15
[ 13293.342]    Module class: X.Org Video Driver
[ 13293.342]    ABI class: X.Org Video Driver, version 19.0
[ 13293.342] (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
[ 13293.344] (--) Using syscons driver with X support (version 16777218.0)
[ 13293.344] (--) using VT number 9

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

The problem does not seem to be connected to Xorg configuration structure, because when I change the driver to "vesa":

Code:
Section "Device"
        Identifier "Card0"
        Driver     "vesa"
EndSection
then Xorg works (but sloow).

Any idea how to get my laptop run a usable graphics would be nice.
 
I am no way conversant with that graphics setup, however, I noticed a line in what you had posted:

Code:
[ 13293.333] (II) The server relies on devd to provide the list of input devices.
If no devices become available, reconfigure devd or disable AutoAddDevices.

Although that seems to relate to input devices.

Other than that I'd have a look at /var/log/Xorg.0.log as it suggests there is additional information there and worth posting that to pastebin or similar and linking here.
 
Thanks for reply!

I noticed a line in what you had posted:

Code:
[ 13293.333] (II) The server relies on devd to provide the list of input devices.
If no devices become available, reconfigure devd or disable AutoAddDevices.

Yeah, that's a good hint!
Reconfiguring devd(8) -- don't know what to configure -- there's only one configuration file about USB printers.
Disabling AutoAddDevices means I need to describe all my devices in Xorg config, right? Problem is, that when I create Xorg conf file: Xorg -configure it returns
Code:
Number of created screens does not match number of detected devices.
  Configuration failed.
(EE) Server terminated with error (2). Closing log file.
Other than that I'd have a look at /var/log/Xorg.0.log as it suggests there is additional information there and worth posting that to pastebin or similar and linking here.

The content in my previous post was from /var/log/Xorg.0.log.
Just in case I also put Xorg.0.log (that runs with VESA) into https://chatlink.com/#s3bp8kqw9im8u866u2cc.
 
Yes, I've had hit and miss luck with Intel cards. I did spot why your vesa driver is slow. It uses software rendering rather than the hardware for the graphic acceleration.

As a slight aside FreeBSD 11.0 was released today. I doubt it will really solve your issue but worth upgrading your RC?
 
As a slight aside FreeBSD 11.0 was released today. I doubt it will really solve your issue but worth upgrading your RC?

Yeah, I'll give it a try, but freebsd-update doesn't show the release yet. I'll post if it made difference once available.
 
Upgrade to 11.0-RELEASE did not make any difference here.

But there is something strange in Xorg.0.conf:
Code:
Build Operating System: FreeBSD 11.0-RC3 amd64
Current Operating System: FreeBSD kiirtriikraud 11.0-RELEASE FreeBSD 11.0-RELEASE #0 r306211: Thu Sep 22 21:43:30 UTC 2016     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
Build Date: 24 September 2016  02:37:47PM
"Build Operating System: FreeBSD 11.0-RC3" -- is it possible, that my system is still using Xorg that I compiled? I removed Xorg ( pkg remove xorg) and installed again pkg install xorg to run a fresh Xorg.
 
Tried even a clean install (to get the right Xorg version) but still stuck with this same "no screens found".
Sadly need to setup another OS (Devuan?) this time.
 
Several of us managed to make vesa work very fast using the so-called (MTRR) write-combine mode. This is not the best solution because essentially you are still not using the full capacity of your hardware (so things like HDMI will not work still, etc.), but at least it makes Xorg comfortable to use. If you are still interested in trying this one out, see this thread https://forums.freebsd.org/threads/46723/ for more information.

You could also post the results of # memcontrol list, and # vidcontrol -i mode | grep 2560x1440, and I'll see if I could help, although I can not guarantee that it will work for your case.
 
Using syscons driver with X support (version 16777218.0)
Whoa, large version number ? Mine says version 2.0. Mine's not quite the latest, saying also compiled for 1.17.2, module version = 2.21.15. Much older intel, in 32bit machine.

Don't know if that was relevant at all, just an observation,
Juha
 
Thanks for suggestion, but
This is not the best solution because essentially you are still not using the full capacity of your hardware (so things like HDMI will not work still, etc.)
... need to connect external monitor to make my workstation usable (can't really go without HDMI).
 
I had a mostly-failing-sometimes-crashing x-server with intel driver on some haswell i5 test-systems with activated BIOS/Legacy mode. Switching to EFI mode brought up everything in native resolution and the x-server worked just fine with the intel driver.

Also worth a try: using the scfb driver. It won't give you hardware acceleration, but for a pure office workhorse this isn't a problem.

Sadly need to setup another OS (Devuan?) this time.
Another suggestion: TrueOS might just work OOTB. I've spend nearly 2 days getting the intel skylake graphics in my work-desktop to work, but most I could get was x to start on one monitor with very low resolution. With TrueOS both screens worked in native resolution right from the setup. Never had to touch anything...
 
Thanks for suggestions!
Switching to EFI mode
Already using UEFI boot. Makes me wonder if BIOS/Legacy makes any difference...

Another suggestion: TrueOS
Installer detects intel video and brings up promising picture with right resolution (2560x1440) but then crashes with blank screen after selecting "TrueOS Desktop" (crash happens also when I choose anything else).
Text installer ends up (later) with message something like parseconfig.sh: head: Input/output error
 
You could address your problem to the freebsd-x11 mailing list. You may get an useful hint there.
That's exactly what happened :)
I followed instructions/hints from https://lists.freebsd.org/pipermail/freebsd-x11/2016-September/017986.html and found a way to run intel driver successfully!

How:
  1. added my video card PCI ID (0x0A2E) into sys/dev/drm2/drm_pciids.h and sys/dev/drm2/i915/i915_drv.c
    Code:
    diff --git a/drm_pciids.h b/drm_pciids.h
    index b1a95b6..acaea97 100644
    --- a/drm_pciids.h
    +++ b/drm_pciids.h
    @@ -66,6 +66,7 @@
            {0x8086, 0x0A22, 0, "Intel Haswell (ULT GT2 desktop)"}, \
            {0x8086, 0x0A26, 0, "Intel Haswell (ULT GT2 mobile)"}, \
            {0x8086, 0x0A2A, 0, "Intel Haswell (ULT GT2 server)"}, \
    +       {0x8086, 0x0A2E, 0, "Intel Haswell (Iris 5100)"}, \
            {0x8086, 0x0C02, 0, "Intel Haswell (SDV GT1 desktop)"}, \
            {0x8086, 0x0C06, 0, "Intel Haswell (SDV GT1 mobile)"}, \
            {0x8086, 0x0C0A, 0, "Intel Haswell (SDV GT1 server)"}, \
    diff --git a/i915_drv.c b/i915_drv.c
    index 0e54e9d..99236ac 100644
    --- a/i915_drv.c
    +++ b/i915_drv.c
    @@ -405,6 +405,7 @@ static const struct intel_gfx_device_id {
            INTEL_VGA_DEVICE(0x0A06, &intel_haswell_m_info), /* ULT GT1 mobile */
            INTEL_VGA_DEVICE(0x0A16, &intel_haswell_m_info), /* ULT GT2 mobile */
            INTEL_VGA_DEVICE(0x0A26, &intel_haswell_m_info), /* ULT GT2 mobile */
    +       INTEL_VGA_DEVICE(0x0A2E, &intel_haswell_m_info), /* Iris 5100 */
            INTEL_VGA_DEVICE(0x0D02, &intel_haswell_d_info), /* CRW GT1 desktop */
            INTEL_VGA_DEVICE(0x0D12, &intel_haswell_d_info), /* CRW GT2 desktop */
            INTEL_VGA_DEVICE(0x0D22, &intel_haswell_d_info), /* CRW GT2 desktop */
  2. applied this patch: https://git.kernel.org/cgit/linux/k...0&id=6b9f3486bb756d0aa6c00d7f745c8ca65ff35f07
  3. built and installed kernel.
Thanks everyone for the helpful welcome to FreeBSD :)
 
I'm having the exact same issue (my system has 11.0-STABLE running on an i7-6500U (Skylake)), but would like to not have to use a patch...
The scfb driver works fine for me, but I would nevertheless like to use the full driver knowing it exists.

Can you tell me whether /dev/dri showed up on your system? It doesn't show up on mine.
 
Back
Top