Solved Need help with Xorg on 11.2-Release (Intel), or Do I still need to compile drm-next-kmod?

Hi all,

I may have this wrong, but I understood that the kernel bits needed for drm-next are in 11.2-RELEASE so there should no longer be a need to compile a customer kernel module. Is that right? [Edit:] WRONG, there is no longer a need to compile a custom kernel, but there is a need to compile the drm-next-kmod port (it wasn't in the package repository when I tried). Instructions are in a reply to this thread.

If so, I'm still missing something on getting X11 to work on FreeBSD 11.2 and would appreciate some help. Here is what I've got:

System summary:
  • HP Laptop
  • Intel Core i5-7200U (I think the integrated graphics is supported as of 11.2, right?)
  • 8GB ram
  • 128GB ssd
From /etc/rc.conf: (Edit: not sure if I need this)
Code:
hald_enable="YES"
dbus_enable="YES"

From /boot/loader.conf: (Edit: don't need this. It should be removed/disabled.)
Code:
i915kms_load="YES"
kern.vty=vt
kern.vt.fb.default_mode=1280x720

The kern.vt.fb.default_mode doesn't appear to do anything. I was hoping it would make the default console mode 1280x720 instead of 1080p as the console font is very small (but that is a different problem) [Edit:] fernandel pointed out how to fix this by changing the font used for vt consoles to a much larger one. Instructions are in a reply to this thread.

Packages installed (via pkg install):
* Xorg -- this is a meta-port that installed a bunch of other X11 related ports
* xf86-video-intel

Xorg.0.log:
Code:
[  1132.735]
X.Org X Server 1.18.4
Release Date: 2016-07-19
[  1132.735] X Protocol Version 11, Revision 0
[  1132.735] Build Operating System: FreeBSD 11.1-RELEASE-p11 amd64
[  1132.736] Current Operating System: FreeBSD laptop 11.2-RELEASE FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:32:14 UTC 2018     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
[  1132.736] Build Date: 28 June 2018  08:40:06AM
[  1132.736]
[  1132.736] Current version of pixman: 0.34.0
[  1132.736]     Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[  1132.736] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  1132.737] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jul  1 16:00:40 2018
[  1132.737] (II) Loader magic: 0x80fc90
[  1132.737] (II) Module ABI versions:
[  1132.737]     X.Org ANSI C Emulation: 0.4
[  1132.737]     X.Org Video Driver: 20.0
[  1132.737]     X.Org XInput driver : 22.1
[  1132.737]     X.Org Server Extension : 9.0
[  1132.737] (--) PCI:*(0:0:2:0) 8086:5916:103c:83a3 rev 2, Mem @ 0xb0000000/16777216, 0xa0000000/268435456, I/O @ 0x00004000/64, BIOS @ 0x????????/65536
[  1132.737] (==) Using default built-in configuration (39 lines)
[  1132.738] (==) --- Start of built-in configuration ---
[  1132.738]     Section "Device"
[  1132.738]         Identifier    "Builtin Default intel Device 0"
[  1132.738]         Driver    "intel"
[  1132.738]     EndSection
[  1132.738]     Section "Screen"
[  1132.738]         Identifier    "Builtin Default intel Screen 0"
[  1132.738]         Device    "Builtin Default intel Device 0"
[  1132.738]     EndSection
[  1132.738]     Section "Device"
[  1132.738]         Identifier    "Builtin Default modesetting Device 0"
[  1132.738]         Driver    "modesetting"
[  1132.738]     EndSection
[  1132.738]     Section "Screen"
[  1132.738]         Identifier    "Builtin Default modesetting Screen 0"
[  1132.738]         Device    "Builtin Default modesetting Device 0"
[  1132.738]     EndSection
[  1132.738]     Section "Device"
[  1132.738]         Identifier    "Builtin Default scfb Device 0"
[  1132.738]         Driver    "scfb"
[  1132.738]     EndSection
[  1132.738]     Section "Screen"
[  1132.738]         Identifier    "Builtin Default scfb Screen 0"
[  1132.738]         Device    "Builtin Default scfb Device 0"
[  1132.738]     EndSection
[  1132.738]     Section "Device"
[  1132.738]         Identifier    "Builtin Default vesa Device 0"
[  1132.738]         Driver    "vesa"
[  1132.738]     EndSection
[  1132.738]     Section "Screen"
[  1132.738]         Identifier    "Builtin Default vesa Screen 0"
[  1132.738]         Device    "Builtin Default vesa Device 0"
[  1132.738]     EndSection
[  1132.738]     Section "ServerLayout"
[  1132.738]         Identifier    "Builtin Default Layout"
[  1132.738]         Screen    "Builtin Default intel Screen 0"
[  1132.738]         Screen    "Builtin Default modesetting Screen 0"
[  1132.738]         Screen    "Builtin Default scfb Screen 0"
[  1132.738]         Screen    "Builtin Default vesa Screen 0"
[  1132.738]     EndSection
[  1132.738] (==) --- End of built-in configuration ---
[  1132.738] (==) ServerLayout "Builtin Default Layout"
[  1132.738] (**) |-->Screen "Builtin Default intel Screen 0" (0)
[  1132.738] (**) |   |-->Monitor "<default monitor>"
[  1132.739] (**) |   |-->Device "Builtin Default intel Device 0"
[  1132.739] (==) No monitor specified for screen "Builtin Default intel Screen 0".
    Using a default monitor configuration.
[  1132.739] (**) |-->Screen "Builtin Default modesetting Screen 0" (1)
[  1132.739] (**) |   |-->Monitor "<default monitor>"
[  1132.739] (**) |   |-->Device "Builtin Default modesetting Device 0"
[  1132.739] (==) No monitor specified for screen "Builtin Default modesetting Screen 0".
    Using a default monitor configuration.
[  1132.739] (**) |-->Screen "Builtin Default scfb Screen 0" (2)
[  1132.739] (**) |   |-->Monitor "<default monitor>"
[  1132.739] (**) |   |-->Device "Builtin Default scfb Device 0"
[  1132.739] (==) No monitor specified for screen "Builtin Default scfb Screen 0".
    Using a default monitor configuration.
[  1132.739] (**) |-->Screen "Builtin Default vesa Screen 0" (3)
[  1132.739] (**) |   |-->Monitor "<default monitor>"
[  1132.740] (**) |   |-->Device "Builtin Default vesa Device 0"
[  1132.740] (==) No monitor specified for screen "Builtin Default vesa Screen 0".
    Using a default monitor configuration.
[  1132.740] (==) Automatically adding devices
[  1132.740] (==) Automatically enabling devices
[  1132.740] (==) Not automatically adding GPU devices
[  1132.740] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  1132.740] (==) 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/
[  1132.740] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[  1132.740] (II) The server relies on devd to provide the list of input devices.
    If no devices become available, reconfigure devd or disable AutoAddDevices.
[  1132.740] (II) LoadModule: "glx"
[  1132.741] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  1132.745] (II) Module glx: vendor="X.Org Foundation"
[  1132.745]     compiled for 1.18.4, module version = 1.0.0
[  1132.745]     ABI class: X.Org Server Extension, version 9.0
[  1132.745] (==) AIGLX enabled
[  1132.745] (II) LoadModule: "intel"
[  1132.745] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[  1132.746] (II) Module intel: vendor="X.Org Foundation"
[  1132.746]     compiled for 1.18.4, module version = 2.99.917
[  1132.746]     Module class: X.Org Video Driver
[  1132.746]     ABI class: X.Org Video Driver, version 20.0
[  1132.746] (II) LoadModule: "modesetting"
[  1132.746] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
[  1132.746] (II) Module modesetting: vendor="X.Org Foundation"
[  1132.746]     compiled for 1.18.4, module version = 1.18.4
[  1132.746]     Module class: X.Org Video Driver
[  1132.746]     ABI class: X.Org Video Driver, version 20.0
[  1132.746] (II) LoadModule: "scfb"
[  1132.746] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
[  1132.746] (II) Module scfb: vendor="X.Org Foundation"
[  1132.746]     compiled for 1.18.4, module version = 0.0.4
[  1132.747]     ABI class: X.Org Video Driver, version 20.0
[  1132.747] (II) LoadModule: "vesa"
[  1132.747] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
[  1132.747] (II) Module vesa: vendor="X.Org Foundation"
[  1132.747]     compiled for 1.18.4, module version = 2.4.0
[  1132.747]     Module class: X.Org Video Driver
[  1132.747]     ABI class: X.Org Video Driver, version 20.0
[  1132.747] (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
[  1132.748] (II) intel: Driver for Intel(R) HD Graphics
[  1132.748] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[  1132.748] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[  1132.748] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  1132.748] (II) scfb: driver for wsdisplay framebuffer: scfb
[  1132.748] (II) VESA: driver for VESA chipsets: vesa
[  1132.748] (--) Using syscons driver with X support (version 2.0)
[  1132.748] (--) using VT number 9

[  1132.754] (EE) open /dev/dri/card0: No such file or directory
[  1132.754] (WW) Falling back to old probe method for modesetting
[  1132.754] (EE) open /dev/dri/card0: No such file or directory
[  1132.754] (WW) Falling back to old probe method for scfb
[  1132.754] scfb trace: probe start
[  1132.755] (II) scfb(1): using default device
[  1132.755] scfb trace: probe done
[  1132.755] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  1132.755] (EE) Screen 0 deleted because of no matching config section.
[  1132.755] (II) UnloadModule: "modesetting"
[  1132.755] (EE)
Fatal server error:
[  1132.755] (EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices
[  1132.755] (EE)
[  1132.755] (EE)
Please consult the The X.Org Foundation support
     at http://wiki.x.org
for help.
[  1132.755] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  1132.755] (EE)
[  1132.761] (EE) Server terminated with error (1). Closing log file.

dmesg:
Code:
Copyright (c) 1992-2018 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:32:14 UTC 2018
    root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0)
VT(efifb): resolution 1920x1080
info: [drm] Initialized drm 1.1.0 20060810
CPU: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (2712.10-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x806e9  Family=0x6  Model=0x8e  Stepping=9
  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=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x121<LAHF,ABM,Prefetch>
  Structured Extended Features=0x29c67af<FSGSBASE,TSCADJ,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PROCTRACE>
  Structured Extended Features3=0xc000000<IBPB,STIBP>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  VT-x: (disabled in BIOS) PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8147419136 (7769 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <HPQOEM SLIC-MPC>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 hardware threads
ioapic0 <Version 2.0> irqs 0-119 on motherboard
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
Timecounter "TSC-low" frequency 1356051172 Hz quality 1000
random: entropy device external interface
kbd1 at kbdmux0
netmap: loaded module
module_register_init: MOD_LOAD (vesa, 0xffffffff80ff4550, 0) error 19
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
nexus0
cryptosoft0: <software crypto> on motherboard
acpi0: <HPQOEM SLIC-MPC> on motherboard
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 24000000 Hz quality 950
Event timer "HPET" frequency 24000000 Hz quality 550
Event timer "HPET1" frequency 24000000 Hz quality 440
Event timer "HPET2" frequency 24000000 Hz quality 440
Event timer "HPET3" frequency 24000000 Hz quality 440
Event timer "HPET4" frequency 24000000 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x50> port 0x62,0x66 on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pcib0: _OSC returned error 0x10
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0xb0000000-0xb0ffffff,0xa0000000-0xafffffff at device 2.0 on pci0
vgapci0: Boot video device
xhci0: <Intel Sunrise Point-LP USB 3.0 controller> mem 0xb1210000-0xb121ffff at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0: waiting for BIOS to give up control
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <simple comms> at device 22.0 (no driver attached)
ahci0: <Intel Sunrise Point-LP AHCI SATA controller> port 0x4080-0x4087,0x4088-0x408b,0x4060-0x407f mem 0xb1230000-0xb1231fff,0xb1237000-0xb12370ff,0xb1235000-0xb12357ff at device 23.0 on pci0
ahci0: AHCI v1.31 with 3 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x3000-0x30ff mem 0xb1104000-0xb1104fff,0xb1100000-0xb1103fff at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: ASPM disabled
re0: Chip rev. 0x54000000
re0: MAC rev. 0x00100000
miibus0: <MII bus> on re0
rgephy0: <RTL8251 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: b4:b6:86:12:d6:f7
re0: netmap queues/slots: TX 1/256, RX 1/256
pcib2: <ACPI PCI-PCI bridge> at device 28.5 on pci0
pci2: <ACPI PCI bus> on pcib2
iwm0: <Intel(R) Dual Band Wireless AC 7265> mem 0xb1000000-0xb1001fff at device 0.0 on pci2
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
pci0: <memory> at device 31.2 (no driver attached)
hdac0: <Intel Kabylake-LP HDA Controller> mem 0xb1228000-0xb122bfff,0xb1200000-0xb120ffff at device 31.3 on pci0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
acpi_tz2: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
battery0: <ACPI Control Method Battery> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
Timecounters tick every 1.000 msec
ada0 at ahcich2 bus 0 scbus1 target 0 lun 0
ugen0.1: <0x8086 XHCI root HUB> at usbus0
ada0: <SanDisk SD9SN8W-256G-1006 X6103006> ACS-4 ATA SATA 3.x device
ada0: Serial Number 180894802651
ada0: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 512bytes)
ada0: Command Queueing enabled
iwm0: ada0: 244198MB (500118192 512 byte sectors)
hw rev 0x210, fw ver 22.361476.0, address 90:61:ae:34:cc:d6
hdacc0: <Realtek ALC295 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC295 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC295 (Analog)> at nid 20 and 18 on hdaa0
pcm1: <Realtek ALC295 (Right Analog)> at nid 33 and 25 on hdaa0
hdacc1: <Intel Kabylake HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel Kabylake Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel Kabylake (HDMI/DP 8ch)> at nid 3 on hdaa1
Trying to mount root from ufs:/dev/ada0p5 [rw]...
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
random: unblocking device.
wlan0: Ethernet address: 90:61:ae:34:cc:d6
uhub0: 18 ports with 18 removable, self powered
ugen0.2: <vendor 0x8087 product 0x0a2a> at usbus0
ACPI Error: No handler for Region [RCM0] (0xfffff8000442e700) [SystemCMOS] (20171214/evregion-288)
ACPI Error: Region SystemCMOS (ID=5) has no handler (20171214/exfldio-428)
ACPI Error: Method parse/execution failed \134_SB.WMID.ESDT, AE_NOT_EXIST (20171214/psparse-677)
ACPI Error: Method parse/execution failed \134_SB.PCI0.LPCB.EC0._Q42, AE_NOT_EXIST (20171214/psparse-677)
acpi_ec0: evaluation of query method _Q42 failed: AE_NOT_EXIST
wlan0: link state changed to UP
ugen0.3: <Chicony HP Wide Vision HD Camera> at usbus0
re0: link state changed to DOWN
ubt0 on uhub0
ubt0: <vendor 0x8087 product 0x0a2a, class 224/1, rev 2.00/0.03, addr 1> on usbus0
 
The loader.conf entry works for me. But I wonder if you might be mistaken and still need either drm-next-kmod or drm-stable-kmod. I only have on machine that needs it, and haven't tried without the drm package.
 
The loader.conf entry works for me. But I wonder if you might be mistaken and still need either drm-next-kmod or drm-stable-kmod. I only have on machine that needs it, and haven't tried without the drm package.

I have libdrm-2.4.92,1 installed from packages. Do you mean to follow the cryptic instructions on compiling drm-next-kmod from source? If so, that is sort of the point to this post, trying to find out if I need to or not with 11.2.
 
The link works for me.
https://sourceforge.net/projects/terminus-font/files/latest/download
Above link works for me and I did download the file. If you have a problem I will attach a file.

I managed to get the .tgz but I had to go back a directory and manually choose it. The download link insists on choosing the exe when you are on windows.

I ended up using the following in /etc/rc.conf:
Code:
allscreens_flags="-f terminus-b32.fnt"

because that font is pre-installed on FreeBSD so I didn't need to get the whole terminus font set from sourceforge.

Also, the following command let me change it on the command line without rebooting:

Code:
vidcontrol -f terminus-b32.fnt
 
What cryptic instructions? The wiki's? It's quite out of date. I have a page (also sort of out of date, but probably easier to follow) at http://srobb.net/freebsdintel.html
It may even work from packages now, but I haven't tried it. My page has instructions, including checking out source first, just look for svn0 on the page and it begins, more or less, right above that.
(I will have to revise it when I have a chance though, as we don't have to worry about STABLE and RC's anymore.
 
What cryptic instructions? The wiki's? It's quite out of date. I have a page (also sort of out of date, but probably easier to follow) at http://srobb.net/freebsdintel.html
It may even work from packages now, but I haven't tried it. My page has instructions, including checking out source first, just look for svn0 on the page and it begins, more or less, right above that.
(I will have to revise it when I have a chance though, as we don't have to worry about STABLE and RC's anymore.

Yes, those out-of-date instructions on the wiki.

I was (possibly mistakenly) under the impression that 11.2 would no longer need a custom built kernel or kernel modules. Am I mistaken?
 
As I said above, I'm not sure. I just revised my page slightly, taking out the stuff about CURRENT and 11.x-STABLE so that it's mainly covering 11.2 I only have one machine new enough to require the drm-next, and I haven't tried reinstalling it without them.
You won't need to build a kernel. There may even be a working package by now, I don't know. However, even if you have to use the port, you don't have to build the kernel, just use the builtin svnlite to put the source code in /usr/src, then you can use portmaster, or just cd into /usr/ports/graphics/drm-next-kmod and type make install.
 
As I said above, I'm not sure. I just revised my page slightly, taking out the stuff about CURRENT and 11.x-STABLE so that it's mainly covering 11.2 I only have one machine new enough to require the drm-next, and I haven't tried reinstalling it without them.
You won't need to build a kernel. There may even be a working package by now, I don't know. However, even if you have to use the port, you don't have to build the kernel, just use the builtin svnlite to put the source code in /usr/src, then you can use portmaster, or just cd into /usr/ports/graphics/drm-next-kmod and type make install.

Thank you. That got it working.

Brief steps (aka my cryptic instructions):

All steps are done as the root user. I tested this on 2 of my own systems (an HP Laptop with 7th gen i5 and an Intel NUC with 6th gen i3).

[Edit:] WARNING: There appears to be an issue upgrading from 11.1 to 11.2 if you run VirtualBox, as noted in this thread -> https://forums.freebsd.org/threads/freebsd-update-to-11-2-release-fails-to-boot-reboots.66431/ I had to disable VirtualBox components in both /boot/loader.conf and /etc/rc.conf in order to get the 11.2 kernel to boot and finish the installation. Even reinstalling virtualbox and the virtualbox kernel module cause a hard-crash & reboot of FreeBSD 11.2.

1) Install FreeBSD
Steps not shown.

2) Install kernel source if you didn't already (there are several methods, this one is mine):
Code:
# Get kernel source
cd /tmp
fetch ftp://ftp.freebsd.org/pub/`uname -s`/releases/`uname -m`/`uname -r`/src.txz
[ ! -d /usr/src ] && mkdir /usr/src
tar -C / -xvzf src.txz

3) Install ports tree (if you didn't already):
Code:
# install the ports collection for the first time
portsnap fetch
portsnap extract
# if the ports collection is already installed:
# portsnap fetch update

4) Compile the drm-next-kmod port:
Code:
cd /usr/ports/graphics/drm-next-kmod
make build && make install
The "& make install" part is only needed if you actually want to install it on this system.

5) Edits to /etc/rc.conf:
Code:
# load the drm-next-kmod video driver:
kld_list="/boot/modules/i915kms.ko"

# Add hald and dbus because Xorg needs them
hald_enable="YES"
dbus_enable="YES"
Only needed lines are shown, you may have more lines in your /etc/rc.conf file.

6) Install Xorg (meta-package) and xf86-video-intel:
Code:
pkg install xorg xf86-video-intel

7) Test it:
Code:
# manually load the service configured in step 5
service hald start
service dbus start

# manually unload the generic video driver modules
kldunload i915kms.ko
kldunload drm.ko
# manually load the drm-next-kmod module
kldload /boot/modules/i915kms.ko

# try to start Xorg
startx
If you get a graphical display, it worked. To return to the console, "exit" all of the xterms or press alt+1.

8) Add the user accounts that should be allowed to run X11 to the "video" group:
Code:
pw groupmod video -M login_name
Replace "login_name" with the regular user account that should be allowed to run X11. Repeat as needed for each user account.


Now you can install the display manager, login manager, and desktop environment of your choice.

* Big thanks to scottro on the FreeBSD forums.
* Also thanks to several random blogs and forum posts found through search engines.

8) The entirely optional and not needed step to build a package:

If you are planning on doing this on multiple systems that all run the same kernel, there is no need to rebuild the port on every one of them. Once built on one system, you can create your own package file:
Code:
cd /usr/ports/graphics/drm-next-kmod/
make package
ls /usr/ports/graphics/drm-next-kmod/work/pkg/drm-next-kmod*.tgz
The package file should be moved to your local package repository. How to do this is up to you.
 
As I said above, I'm not sure. I just revised my page slightly, taking out the stuff about CURRENT and 11.x-STABLE so that it's mainly covering 11.2 I only have one machine new enough to require the drm-next, and I haven't tried reinstalling it without them.
You won't need to build a kernel. There may even be a working package by now, I don't know. However, even if you have to use the port, you don't have to build the kernel, just use the builtin svnlite to put the source code in /usr/src, then you can use portmaster, or just cd into /usr/ports/graphics/drm-next-kmod and type make install.

I have run into a new problem. It all worked nicely until I rebooted and the system automatically loaded the /boot/kernel/i915kms.ko and /boot/kernel/drm.ko modules. So, when rc.conf kicks in with the line you suggested, it fails to load because the older kernel modules are already loaded. I can manually unload the older modules and load the new ones with kldunload and kldload to get X to work. Any idea how to stop loading the old modules from /boot/kernel/?

Relevant part of /etc/rc.conf:
Code:
kld_load="/boot/modules/i915kms.ko"

[EDIT:] And answering my own question it should be kld_list not kld_load:
Code:
kld_list="/boot/modules/i915kms.ko"
 
Back
Top