I am trying to get a brand-new install of FreeBSD 14-Release working with X on my GMKtec Nucbox 3 (12th Gen Alder Lake CPU with integrated Intel graphics). It fails, unable to load the i915kms driver in Xorg.
I read posts all afternoon and evening and have tried quite a few things. I installed the drm and drm-515 modules, I have tried using just the "drm-intel" driver set, the "drm-510", and "drm-515" driver packages (individually, not all at the same time).
As suggested, I added the
to the /etc/rc.conf, but the i915 driver does not load during boot (I checked in multiple reboots). Here is the last part of the rc.conf (the rest is baseline from the install):
I can manually load it by using
This seems to me that the i915kms is attaching to the iic bus, not the drm0 devices. This is consistent. The iic device message does not show up until I issue the kldload command.
After I issue the kldload command by hand, the kldstat output shows the driver loaded:
When I try to start X, it fails unable to find a screen:
When I look at the graphics device in the system this is the output:
Does anyone have any suggestions? I picked this unit because it had been around for a while (the 13th gen is out for quite a while already) and I wanted it for a very low power FreeBSD desktop. Am I going to have to wait until FreeBSD 15 or later?
If it is of any use, here is the dmesg output (long, so window scrolls):
I read posts all afternoon and evening and have tried quite a few things. I installed the drm and drm-515 modules, I have tried using just the "drm-intel" driver set, the "drm-510", and "drm-515" driver packages (individually, not all at the same time).
pkg info | grep drm
drm-515-kmod-5.15.118_3 DRM drivers modules
gpu-firmware-kmod-20230210_1,1 Firmware modules for the drm-kmod drivers
libdrm-2.4.119,1 Userspace interface to kernel Direct Rendering Module services
As suggested, I added the
Code:
kld_list="i915kms"
Code:
tail /etc/rc.conf
sshd_enable="YES"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
powerd_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
dbus_enable="YES"
kld_list="i915kms"
I can manually load it by using
sudo kldload i915kms
I get a message on the console
Code:
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1
After I issue the kldload command by hand, the kldstat output shows the driver loaded:
Code:
kldstat
Id Refs Address Size Name
1 108 0xffffffff80200000 1d34598 kernel
2 1 0xffffffff81f35000 5d51c8 zfs.ko
3 1 0xffffffff8250b000 7718 cryptodev.ko
4 1 0xffffffff835f9000 3390 acpi_wmi.ko
5 1 0xffffffff835fd000 3250 ichsmb.ko
6 1 0xffffffff83601000 2178 smbus.ko
7 1 0xffffffff83604000 5f00 ig4.ko
8 1 0xffffffff8360a000 3360 uhid.ko
9 1 0xffffffff8360e000 4364 ums.ko
10 1 0xffffffff83613000 33c0 usbhid.ko
11 1 0xffffffff83617000 3380 hidbus.ko
12 1 0xffffffff8361b000 3360 wmt.ko
13 1 0xffffffff8361f000 e5ac snd_uaudio.ko
14 1 0xffffffff8362e000 4d20 ng_ubt.ko
15 6 0xffffffff83633000 abb8 netgraph.ko
16 2 0xffffffff8363e000 a250 ng_hci.ko
17 4 0xffffffff83649000 2670 ng_bluetooth.ko
18 1 0xffffffff8364c000 e268 ng_l2cap.ko
19 1 0xffffffff8365b000 1bf68 ng_btsocket.ko
20 1 0xffffffff83677000 38f8 ng_socket.ko
21 1 0xffffffff8367b000 2a68 mac_ntpd.ko
28 1 0xffffffff8367e000 1b3920 i915kms.ko
29 2 0xffffffff83832000 7c050 drm.ko
30 1 0xffffffff838af000 22b8 iic.ko
31 3 0xffffffff838b2000 3080 linuxkpi_hdmi.ko
32 3 0xffffffff838b6000 6350 dmabuf.ko
33 3 0xffffffff838bd000 3378 lindebugfs.ko
34 1 0xffffffff838c1000 b360 ttm.ko
When I try to start X, it fails unable to find a screen:
Code:
tail -20 /var/log/Xorg.0.log
[ 4972.695] (--) PCI:*(0@0:2:0) 8086:46d1:0301:02f3 rev 0, Mem @ 0x6000000000/16777216, 0x4000000000/268435456, I/O @ 0x00004000/64, BIOS @ 0x????????/65536
[ 4972.695] (II) LoadModule: "glx"
[ 4972.695] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[ 4972.696] (II) Module glx: vendor="X.Org Foundation"
[ 4972.696] compiled for 1.21.1.11, module version = 1.0.0
[ 4972.696] ABI class: X.Org Server Extension, version 10.0
[ 4972.696] (II) LoadModule: "i915kms"
[ 4972.696] (WW) Warning, couldn't open module i915kms
[ 4972.696] (EE) Failed to load module "i915kms" (module does not exist, 0)
[ 4972.696] (EE) No drivers available.
[ 4972.696] (EE)
Fatal server error:
[ 4972.696] (EE) no screens found(EE)
[ 4972.696] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 4972.696] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 4972.696] (EE)
[ 4972.697] (EE) Server terminated with error (1). Closing log file.
When I look at the graphics device in the system this is the output:
Code:
pciconf -lv | grep -B4 VGA
vgapci0@pci0:0:2:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x46d1 subvendor=0x0301 subdevice=0x02f3
vendor = 'Intel Corporation'
device = 'Alder Lake-N [UHD Graphics]'
class = display
subclass = VGA
Does anyone have any suggestions? I picked this unit because it had been around for a while (the 13th gen is out for quite a while already) and I wanted it for a very low power FreeBSD desktop. Am I going to have to wait until FreeBSD 15 or later?
If it is of any use, here is the dmesg output (long, so window scrolls):
Code:
Copyright (c) 1992-2023 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 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 05:57:23 UTC 2023
root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
VT(efifb): resolution 1920x1080
CPU: Intel(R) N100 (806.40-MHz K8-class CPU)
Origin="GenuineIntel" Id=0xb06e0 Family=0x6 Model=0xbe Stepping=0
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=0x239ca7eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,PQE,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,PROCTRACE,SHA>
Structured Extended Features2=0x98c007bc<UMIP,PKU,OSPKE,WAITPKG,GFNI,VAES,VPCLMULQDQ,RDPID,MOVDIRI,MOVDIR64B>
Structured Extended Features3=0xfc184410<FSRM,MD_CLEAR,IBT,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
IA32_ARCH_CAPS=0x180fd6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO,TAA_NO>
VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
TSC: P-state invariant, performance statistics
real memory = 34358689792 (32767 MB)
avail memory = 33061076992 (31529 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I >
WARNING: L3 data cache covers more APIC IDs than a package (7 > 3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-119
Launching APs: 3 1 2
random: entropy device external interface
kbd0 at kbdmux0
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
smbios0: <System Management BIOS> at iomem 0x73bc1000-0x73bc101e
smbios0: Version: 3.5, BCD Revision: 3.5
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS,SHA1,SHA256>
acpi0: <ALASKA A M I >
Firmware Error (ACPI): Could not resolve symbol [\134_SB.PC00.TXHC.RHUB.SS01], AE_NOT_FOUND (20221020/dswload2-315)
ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20221020/psobject-372)
Firmware Error (ACPI): Could not resolve symbol [\134_SB.PC00.TXHC.RHUB.SS02], AE_NOT_FOUND (20221020/dswload2-315)
ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20221020/psobject-372)
acpi0: Power Button (fixed)
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 19200000 Hz quality 950
Event timer "HPET" frequency 19200000 Hz quality 550
Event timer "HPET1" frequency 19200000 Hz quality 440
Event timer "HPET2" frequency 19200000 Hz quality 440
Event timer "HPET3" frequency 19200000 Hz quality 440
Event timer "HPET4" frequency 19200000 Hz quality 440
atrtc1: <AT realtime clock> on acpi0
atrtc1: Warning: Couldn't map I/O.
atrtc1: 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
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0x6000000000-0x6000ffffff,0x4000000000-0x400fffffff at device 2.0 on pci0
vgapci0: Boot video device
xhci0: <XHCI (generic) USB 3.0 controller> mem 0x6001100000-0x600110ffff at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <memory, RAM> at device 20.2 (no driver attached)
pci0: <serial bus> at device 21.0 (no driver attached)
pci0: <serial bus> at device 21.3 (no driver attached)
pci0: <simple comms> at device 22.0 (no driver attached)
ahci0: <AHCI SATA controller> port 0x4090-0x4097,0x4080-0x4083,0x4060-0x407f mem 0x80800000-0x80801fff,0x80803000-0x808030ff,0x80802000-0x808027ff at device 23.0 on pci0
ahci0: AHCI v1.31 with 1 6Gbps ports, Port Multiplier not supported
ahcich1: <AHCI channel> at channel 1 on ahci0
sdhci_pci0: <Generic SD HCI> mem 0x6001129000-0x6001129fff at device 26.0 on pci0
sdhci_pci0: 1 slot(s) allocated
mmc0: <MMC/SD bus> on sdhci_pci0
pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <network> at device 0.0 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 29.0 on pci0
pci2: <ACPI PCI bus> on pcib2
nvme0: <Generic NVMe Device> mem 0x80600000-0x80603fff,0x80604000-0x80605fff at device 0.0 on pci2
pcib3: <ACPI PCI-PCI bridge> at device 29.2 on pci0
pci3: <ACPI PCI bus> on pcib3
igc0: <Intel(R) Ethernet Controller I225-V> mem 0x80400000-0x804fffff,0x80500000-0x80503fff at device 0.0 on pci3
igc0: Using 1024 TX descriptors and 1024 RX descriptors
igc0: Using 4 RX queues 4 TX queues
igc0: Using MSI-X interrupts with 5 vectors
igc0: Ethernet address: e0:51:d8:12:91:82
igc0: netmap queues/slots: TX 4/1024, RX 4/1024
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
hdac0: <Intel Alder Lake-N HDA Controller> mem 0x6001120000-0x6001123fff,0x6001000000-0x60010fffff at device 31.3 on pci0
pci0: <serial bus> at device 31.5 (no driver attached)
acpi_button0: <Sleep Button> on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_syscontainer0: <System Container> on acpi0
acpi_syscontainer1: <System Container> on acpi0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
atrtc0: Can't map interrupt.
atrtc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 15.
ns8250: UART FCR is broken
ns8250: UART FCR is broken
uart0: <16550 or compatible> at port 0x3f8 irq 4 flags 0x10 on isa0
uart0: non-PNP ISA device will be removed from GENERIC in FreeBSD 15.
hwpstate_intel0: <Intel Speed Shift> on cpu0
hwpstate_intel1: <Intel Speed Shift> on cpu1
hwpstate_intel2: <Intel Speed Shift> on cpu2
hwpstate_intel3: <Intel Speed Shift> on cpu3
Timecounter "TSC" frequency 806393376 Hz quality 1000
Timecounters tick every 1.000 msec
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
ugen0.1: <Intel XHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <Intel XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
mmc0: No compatible cards found on bus
nvme0: Allocated 64MB host memory buffer
nda0 at nvme0 bus 0 scbus1 target 0 lun 1
nda0: <SPCC M.2 PCIe SSD VC2S038E AA230711NV01KG02346>
nda0: Serial Number AA230711NV01KG02346
nda0: nvme version 1.4
nda0: 953869MB (1953525168 512 byte sectors)
Trying to mount root from zfs:zroot/ROOT/default []...
uhub0: 16 ports with 16 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <Logitech USB Receiver> at usbus0
ukbd0 on uhub0
ukbd0: <Logitech USB Receiver, class 0/0, rev 2.00/12.11, addr 1> on usbus0
kbd1 at ukbd0
ugen0.3: <SIGMACHIP Usb Mouse> at usbus0
Root mount waiting for: usbus0
ugen0.4: <CSCTEK USB Audio and HID> at usbus0
ugen0.5: <Realtek Bluetooth Radio> at usbus0
ig4iic0: <Intel Alder Lake-M I2C Controller-0> at device 21.0 on pci0
ig4iic0: Using MSI
iicbus0: <Philips I2C bus (ACPI-hinted)> on ig4iic0
ig4iic1: <Intel Alder Lake-M I2C Controller-3> at device 21.3 on pci0
ig4iic1: Using MSI
iicbus1: <Philips I2C bus (ACPI-hinted)> on ig4iic1
ichsmb0: <Intel Alder Lake SMBus controller> port 0xefa0-0xefbf mem 0x6001128000-0x60011280ff at device 31.4 on pci0
smbus0: <System Management Bus> on ichsmb0
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: cannot find EC device
acpi_wmi0: Embedded MOF found
ACPI: \134_SB.WFDE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> on acpi0
acpi_wmi1: cannot find EC device
acpi_wmi1: Embedded MOF found
ACPI: \134_SB.WFTE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
lo0: link state changed to UP
ums0 on uhub0
ums0: <Logitech USB Receiver, class 0/0, rev 2.00/12.11, addr 1> on usbus0
ums0: 16 buttons and [XYZT] coordinates ID=2
uhid0 on uhub0
uhid0: <Logitech USB Receiver, class 0/0, rev 2.00/12.11, addr 1> on usbus0
ums1 on uhub0
ums1: <SIGMACHIP Usb Mouse, class 0/0, rev 1.10/1.10, addr 2> on usbus0
ums1: 3 buttons and [XYZ] coordinates ID=0
uhid1 on uhub0
uhid1: <CSCTEK USB Audio and HID, class 0/0, rev 2.00/80.07, addr 3> on usbus0
device_attach: uhid1 attach returned 12
uhid1 on uhub0
uhid1: <CSCTEK USB Audio and HID, class 0/0, rev 2.00/80.07, addr 3> on usbus0
device_attach: uhid1 attach returned 12
uaudio0 on uhub0
uaudio0: <CSCTEK USB Audio and HID, class 0/0, rev 2.00/80.07, addr 3> on usbus0
uaudio0: Play[0]: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: Play[0]: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: Play[0]: 8000 Hz, 2 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: Record[0]: 48000 Hz, 1 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: Record[0]: 16000 Hz, 1 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: Record[0]: 8000 Hz, 1 ch, 16-bit S-LE PCM format, 2x2ms buffer.
uaudio0: No MIDI sequencer.
pcm0: <USB audio> on uaudio0
uaudio0: No HID volume keys found.
uhid1 on uhub0
uhid1: <CSCTEK USB Audio and HID, class 0/0, rev 2.00/80.07, addr 3> on usbus0
device_attach: uhid1 attach returned 12
uhid1 on uhub0
uhid1: <CSCTEK USB Audio and HID, class 0/0, rev 2.00/80.07, addr 3> on usbus0
device_attach: uhid1 attach returned 12
ubt0 on uhub0
ubt0: <Bluetooth Radio> on usbus0
igc0: link state changed to UP
Security policy loaded: MAC/ntpd (mac_ntpd)
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1
iic0: detached
iicbus0: <unknown card> at addr 0
iic1: detached
iicbus1: <unknown card> at addr 0
Warning: memory type debugfsint leaked memory on destroy (2 allocations, 80 bytes leaked).
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1