Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Sep 2018 20:19:00 -0500 (CDT)
From:      Karl Dunn <kdunn@acm.org>
To:        freebsd-stable@freebsd.org
Subject:   Freebsd-11.2-p2/amd64: Black-screen freeze with base i915kms and xf86-video-intel
Message-ID:  <alpine.LRH.2.03.1809032011280.9246@acm.org>

next in thread | raw e-mail | index | archive | help
I need help getting Xorg working with the intel driver.  Here is some info:

Machine: Dellox755 shipped 2009-May-16

dmesg snips:
  FreeBSD 11.2-RELEASE-p2 #0: Tue Aug 14 21:45:40 UTC 2018
      root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
  ...
  CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (2992.19-MHz K8-class CPU)
    Origin="GenuineIntel"  Id=0x1067a  Family=0x6  Model=0x17  Stepping=10
    Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
    Features2=0xc08e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,OSXSAVE>
    AMD Features=0x20100800<SYSCALL,NX,LM>
    AMD Features2=0x1<LAHF>
    VT-x: (disabled in BIOS) HLT,PAUSE
    TSC: P-state invariant, performance statistics
  real memory  = 3221225472 (3072 MB)
  ...
  vgapci0: <VGA-compatible display> port 0xec90-0xec97 mem 0xfea00000-0xfea7ffff,0xd0000000-0xdfffffff,0xfeb00000-0xfebfffff irq 16 at device 2.0 on pci0
  agp0: <Intel Q35 SVGA controller> on vgapci0
  agp0: aperture size is 256M, detected 7164k stolen memory
  ...

pciconf -lv snip:
  vgapci0@pci0:0:2:0:	class=0x030000 card=0x02111028 chip=0x29b28086 rev=0x02 hdr=0x00
      vendor     = 'Intel Corporation'
      device     = '82Q35 Express Integrated Graphics Controller'
      class      = display
      subclass   = VGA
  vgapci1@pci0:0:2:1:	class=0x038000 card=0x02111028 chip=0x29b38086 rev=0x02 hdr=0x00
      vendor     = 'Intel Corporation'
      device     = '82Q35 Express Integrated Graphics Controller'
      class      = display

Screen capture, intall of xf86-video-intel:
  # pkg install xf86-video-intel
  Updating FreeBSD repository catalogue...
  FreeBSD repository is up to date.
  All repositories are up to date.
  Checking integrity... done (0 conflicting)
  The following 1 package(s) will be affected (of 0 checked):

  New packages to be INSTALLED:
          xf86-video-intel: 2.99.917.20180512

  Number of packages to be installed: 1

  The process will require 2 MiB more space.

  Proceed with this action? [y/N]: y
  [1/1] Installing xf86-video-intel-2.99.917.20180512...
  [1/1] Extracting xf86-video-intel-2.99.917.20180512: 100%

If I do anything much different than the following, I get a black-screen freeze, no network, no interrupts, dead keyboard.  Only way out is power-off/power-on, followed by single-user boot and fsck.
  kldload i915
  startx
which gets X going, but it uses VESA, not the intel driver.
For examples:
  kldload i915kms --> black-screen-freeze
  kldload drm2; kldload i915kms --> BSF
  Don't load either --> BSF (xf86-video-intel installed, no drm or 915 modules)

HOWEVER: Exactly once, I forgot to kldload any of drm or i915kms or i915, and then ran startx, Xorg used the intel driver and it seemed to work OK.  It even loaded i915kms and drm2 by itself, as was shown by kldstat after Xorg had shut down.  It never did that again!  Unfortunately I can't find the Xorg log I think I saved!

Some more detail, for the case where Xorg uses VESA:
kldstat right after boot:
  Id Refs Address            Size     Name
   1    7 0xffffffff80200000 20647f8  kernel
   2    1 0xffffffff82421000 1780     uhid.ko
   3    1 0xffffffff82423000 2328     ums.ko
kldstat right after loading i915.ko:
  Id Refs Address            Size     Name
   1   13 0xffffffff80200000 20647f8  kernel
   2    1 0xffffffff82421000 1780     uhid.ko
   3    1 0xffffffff82423000 2328     ums.ko
   4    1 0xffffffff82426000 6d44     i915.ko
   5    1 0xffffffff8242d000 10708    drm.ko
kldstat after startx and then exiting X:
  Id Refs Address            Size     Name
   1   33 0xffffffff80200000 20647f8  kernel
   2    1 0xffffffff82421000 1780     uhid.ko
   3    1 0xffffffff82423000 2328     ums.ko
   4    1 0xffffffff82426000 6d44     i915.ko
   5    1 0xffffffff8242d000 10708    drm.ko
   6    1 0xffffffff8243e000 7a2b8    i915kms.ko
   7    1 0xffffffff824b9000 3f8cc    drm2.ko
   8    4 0xffffffff824f9000 1ed0     iicbus.ko
   9    1 0xffffffff824fb000 e58      iic.ko
  10    1 0xffffffff824fc000 1570     iicbb.ko
Note that Xorg loaded the last five itself.

all.log snip, evidently because of kldload i915:
  Aug 31 15:02:00 dellox755 kernel: drm0: <Intel Q35> on vgapci0
  Aug 31 15:02:00 dellox755 kernel: info: [drm] MSI enabled 1 message(s)
  Aug 31 15:02:00 dellox755 kernel: info: [drm] AGP at 0xd0000000 256MB
  Aug 31 15:02:00 dellox755 kernel: info: [drm] Initialized i915 1.6.0 20080730

all.log snip, evidently because of startx:
  Aug 31 15:02:42 dellox755 kernel: info: [drm] Initialized drm 1.1.0 20060810
  Aug 31 15:02:42 dellox755 kernel: drmn0: <Intel Q35> on vgapci0
  Aug 31 15:02:42 dellox755 kernel: error: [drm:pid706:drm_get_minor] *ERROR* Failed to create cdev: 17
  Aug 31 15:02:42 dellox755 kernel: device_attach: drmn0 attach returned -17

Xorg.0.log snips:
  [  3056.909]
  X.Org X Server 1.18.4
  Release Date: 2016-07-19
  ...
  [  3057.252] (==) AIGLX enabled
  [  3057.253] (II) LoadModule: "intel"
  [  3057.253] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
  [  3057.335] (II) Module intel: vendor="X.Org Foundation"
  [  3057.335] 	compiled for 1.18.4, module version = 2.99.917
  [  3057.335] 	Module class: X.Org Video Driver
  [  3057.335] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.335] (II) LoadModule: "modesetting"
  [  3057.335] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
  [  3057.341] (II) Module modesetting: vendor="X.Org Foundation"
  [  3057.341] 	compiled for 1.18.4, module version = 1.18.4
  [  3057.341] 	Module class: X.Org Video Driver
  [  3057.341] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.341] (II) LoadModule: "scfb"
  [  3057.341] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
  [  3057.346] (II) Module scfb: vendor="X.Org Foundation"
  [  3057.346] 	compiled for 1.18.4, module version = 0.0.4
  [  3057.346] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.346] (II) LoadModule: "vesa"
  [  3057.346] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
  [  3057.354] (II) Module vesa: vendor="X.Org Foundation"
  [  3057.354] 	compiled for 1.18.4, module version = 2.4.0
  [  3057.354] 	Module class: X.Org Video Driver
  [  3057.354] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.354] (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
  [  3057.363] (II) intel: Driver for Intel(R) HD Graphics
  [  3057.363] (II) intel: Driver for Intel(R) Iris(TM) Graphics
  [  3057.363] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
  [  3057.363] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
  [  3057.363] (II) scfb: driver for wsdisplay framebuffer: scfb
  [  3057.363] (II) VESA: driver for VESA chipsets: vesa
  [  3057.363] (--) Using syscons driver with X support (version 2.0)
  [  3057.363] (--) using VT number 9

  [  3057.664] (WW) Falling back to old probe method for modesetting
  [  3057.664] (WW) Falling back to old probe method for scfb
  [  3057.664] scfb trace: probe start
  [  3057.664] scfb trace: probe done
  [  3057.664] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
  [  3057.664] (EE) Screen 0 deleted because of no matching config section.
  [  3057.664] (II) UnloadModule: "modesetting"
  [  3057.664] (II) Loading sub module "vbe"
  [  3057.664] (II) LoadModule: "vbe"
  [  3057.664] (II) Loading /usr/local/lib/xorg/modules/libvbe.so
  [  3057.686] (II) Module vbe: vendor="X.Org Foundation"
  [  3057.686] 	compiled for 1.18.4, module version = 1.1.0
  [  3057.686] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.686] (II) Loading sub module "int10"
  [  3057.686] (II) LoadModule: "int10"
  [  3057.687] (II) Loading /usr/local/lib/xorg/modules/libint10.so
  [  3057.716] (II) Module int10: vendor="X.Org Foundation"
  [  3057.716] 	compiled for 1.18.4, module version = 1.0.0
  [  3057.716] 	ABI class: X.Org Video Driver, version 20.0
  [  3057.716] (II) VESA(0): initializing int10
  ...

I have posted text files from which I composed the above at:

   http://home.hiwaay.net/~kdunn/dellox755-X-tests

I also tried to use drm-next-kmod, with much the same results, including the immediate crash on trying:
  kldload /boot/modules/i915kms
I'm not too worried about that, because the base i915kms and drm/drm2 should work for such an old chip, according to the message that appeared when I installed drm-next-kmod (and deinstalled when it made no improvement).

Please let me know what to try next.

Karl Dunn
kdunn@acm.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LRH.2.03.1809032011280.9246>