Bug 251302 - x11-drivers/xf86-video-intel intel_drv.so seems broken in the latest version(2.99.917.909,1)
Summary: x11-drivers/xf86-video-intel intel_drv.so seems broken in the latest version(...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-22 01:02 UTC by buffy
Modified: 2021-11-19 15:06 UTC (History)
3 users (show)

See Also:
linimon: maintainer-feedback? (x11)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description buffy 2020-11-22 01:02:10 UTC
Recently I tried to install FreeBSD 12.2-RELEASE, after install mate as DE, the resolution didn't seem good to me, so I edited driver-intel.conf as instructed (I have a Intel(R) i5-4690K CPU as Integrated graphics card), 
the content of it as below:

org.conf.d/driver-intel.conf
Section "Device"
	Identifier "Card0"
	Driver     "intel"
	BusID    "PCI0:0:2:0"
EndSection

But after reboot, it couldn't switch to graphic mode, /var/log/Xorg.0.log says it couldn't find device, 

[    11.163] (II) LoadModule: "intel"
[    11.163] (II) Loading /usr/local/lib/xorg/modules/drivers/intel_drv.so
[    11.165] (II) Module intel: vendor="X.Org Foundation"
[    11.165] 	compiled for 1.20.9, module version = 2.99.917
[    11.165] 	Module class: X.Org Video Driver
[    11.165] 	ABI class: X.Org Video Driver, version 24.1
[    11.165] (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
[    11.165] (II) intel: Driver for Intel(R) HD Graphics
[    11.165] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[    11.165] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[    11.165] (--) Using syscons driver with X support (version 2.0)
[    11.165] (++) using VT number 9

[    11.165] (EE) No devices detected.
[    11.165] (EE) 
Fatal server error:
[    11.165] (EE) no screens found(EE) 
[    11.165] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org

After a few tries, I found the intel_drv.so driver couldn't be loaded,
Here is kldload output:

kldload: an error occurred while loading module /usr/local/lib/xorg/modules/drivers/intel_drv.so. Please check dmesg(8) for more details.

dmesg:

kldload: unexpected relocation type 16
kldload: unexpected relocation type 17
link_elf: symbol _CurrentRuneLocale undefined

I kind of newbie to FreeBSD kernel module, please let me know if there is something wrong with above diagnosis.
Comment 1 Niclas Zeising freebsd_committer freebsd_triage 2020-11-22 08:19:37 UTC
This error usually happens when there is no installed graphics driver.
Have you installed drm-kmod from ports, and are you loading /boot/modules/i915kms.ko properly?  You should generally not need xf86-video-intel, nor an xorg configuration.  The modesetting driver, which is installed and used by default should be enough.
Comment 2 Jan Beich freebsd_committer freebsd_triage 2020-11-22 10:19:45 UTC
(In reply to buffy from comment #0)
> FreeBSD 12.2-RELEASE
[...]
> kldload: unexpected relocation type 16
> kldload: unexpected relocation type 17
> link_elf: symbol _CurrentRuneLocale undefined

Did you rebuild drm-*-kmod after upgrade? Packages from pkg.freebsd.org are built on the oldest *supported* release of a given branch.

xf86-video-intel requires KMS drivers for anything newer than i810/i815.
Comment 3 buffy 2020-11-22 15:06:47 UTC
(In reply to Niclas Zeising from comment #1)
Yes, I have installed drm-kmod from pkg;
I loaded i915kms by adding following line to /etc/rc.conf

kld_list="/boot/modules/i915kms.ko"

I installed xf86-video-intel because of the default resolution which is too low for my display(currently 1024x768, but I have a display of 1920x1080 res).

Here is my loaded kernel modules:

Id Refs Address                Size Name
 1   43 0xffffffff80200000  227ad00 kernel
 2    1 0xffffffff82a11000   12ccb0 i915kms.ko
 3    1 0xffffffff82b3e000    76570 drm.ko
 4    4 0xffffffff82bb5000    12d30 linuxkpi.ko
 5    3 0xffffffff82bc8000    12f30 linuxkpi_gplv2.ko
 6    2 0xffffffff82bdb000      6d0 debugfs.ko
 7    1 0xffffffff82bdc000     1860 uhid.ko
 8    1 0xffffffff82bde000     1a40 wmt.ko
 9    1 0xffffffff82be0000     d890 snd_uaudio.ko
10    1 0xffffffff82bee000     2908 ums.ko
11    1 0xffffffff82bf1000      acf mac_ntpd.ko
12    1 0xffffffff82bf2000     87d0 tmpfs.ko
Comment 4 buffy 2020-11-22 15:15:36 UTC
(In reply to Jan Beich from comment #2)
No, I haven't been upgrade, its a fresh install from a Freebsd-12.2-Release image;
And I didn't build drm-*-kmod from ports, just installed them from pkg, I only rebuilt xf86-video-intel from ports.
Comment 5 Niclas Zeising freebsd_committer freebsd_triage 2020-11-23 08:45:58 UTC
(In reply to buffy from comment #4)
Hi!
As Jan already explained, you need to build drm-*-kmod *locall* on the machine you are going to run it on.  This is because packages for FreeBSD 12.2 is still built on 12.1, and this breaks drm-*-kmod.
Comment 6 buffy 2020-11-24 23:02:56 UTC
(In reply to Niclas Zeising from comment #5)
Thanks Niclas & Jan , After rebuilt drm-*-kmod and change driver-intel.conf to use modesetting, my display now works as 1920x1080.

> As Jan already explained, you need to build drm-*-kmod *locall* on the machine you are going to run it on.  This is because packages for FreeBSD 12.2 is still built on 12.1, and this breaks drm-*-kmod.

Should this be treated as a problem? Because if the user going to install FreeBSD 12.2, they are not aware to rebuilt drm-*-kmod if they don't get the desired resolution, or the pkg package need to be updated ?
Comment 7 Emmanuel Vadot freebsd_committer freebsd_triage 2021-11-19 15:06:00 UTC
Seems fixed, closing.