How to use the "old" or the "new" i915kms driver for Intel integrated graphics with Xorg..

I recently migrated my X1 Carbon (2nd gen) from running OpenBSD to FreeBSD. It was working perfectly with Xenocara but setting it in FreeBSD / X11 was not a great experience to be honest. The only thing that was a great help was actually this threads tutorial :)

The official handbook here: https://www.freebsd.org/doc/handbook/x-config.html
has been updated to an extent but doesn't mention anything about i915 from base and instead only mentions the ports version. It then doesn't mention a whole lot more such as how to use anything.

For example it misses off tips such as the i915kms will not work when added to /boot/loader.conf (i915kms_load="YES"). If it wasn't for the OPs tutorial and kld_list, I would have been quite stumped.

Is there any work to get this tutorial merged with the official handbook?
 
Filing a PR if you have time and inclination might help.
Yes, I am going to wait around a week for the new year madness to calm down at work but then I am going to look into getting docbook working and contributing some patches to the handbook myself.
I use LaTeX a lot and I am quite convinced it can't be any more awkward than that haha.

There are a couple of things that I think the handbook is lacking, not just relating to Xorg.
 
I have a 3rd gen CPU and I had to use the module from ports.

Code:
CPU: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz (2893.49-MHz K8-class CPU)

Using the one in base would cause this error:

Code:
(EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices

This is on 12-RELEASE.
 
This is because the driver in the base system has been black listed. It isn’t updated anymore and very outdated compared to the drivers from the ports.
Ivy Bridge was supported by the base driver, but you can‘t load that driver anymore. Hence the framebuffer error message.
 
So the latest i915kms is for a three year old (or older) chipset. I wonder if there is anything more recent, or if it matters.
 
Yes, is does support the most recent and very old Intel graphics.

IvyBridge is actually from 2012, but the most recent i915kms driver supports even older north bridge integrated graphics, like the i915G(M), hence the name.
If I recall correctly, the oldest supported graphics is the Intel 855G Series from 2005, I saw it in the source code when I wrote this guide last year.
 
Yes, is does support the most recent and very old Intel graphics.
I asked because the OP states:
The new i915kms.ko driver available from ports (graphics/drm-next-kmod) since FreeBSD 11.2-RELEASE, supports Intel Core family processors up to Kaby Lake (7th) generation.
Yes Kaby Lake is still being used and sold, but we're up to 9th generation now. I'm on Coffee Lake with Intel UHD Graphics 630, So if I your statement is correct then there is in fact an even newer version of i915kms. I haven't found anything lacking in the video display from my Intel Z390 chipset, so I'm not sure there's any benefit anyway.
 
I asked because the OP states:

Yes Kaby Lake is still being used and sold, but we're up to 9th generation now. I'm on Coffee Lake with Intel UHD Graphics 630, So if I your statement is correct then there is in fact an even newer version of i915kms. I haven't found anything lacking in the video display from my Intel Z390 chipset, so I'm not sure there's any benefit anyway.

Do you use ports for the i915kms driver?
 
Do you use ports for the i915kms driver?
I don't use the i915kms driver. I was just wondering if there was one for recent Intel chips since the OP seems to indicate there is not. In any case if there is some advantage I would consider trying it, but since it requires rebooting I'm not that keen on just randomly trying what's available.

Edit: I should also say that I've not been successful in my web search for what that driver actually does. What splendid improvement will impress me? :) I am curious but that information seems to not be publicly available.
 
I don't use the i915kms driver. I was just wondering if there was one for recent Intel chips since the OP seems to indicate there is not. In any case if there is some advantage I would consider trying it, but since it requires rebooting I'm not that keen on just randomly trying what's available.

Edit: I should also say that I've not been successful in my web search for what that driver actually does. What splendid improvement will impress me? :) I am curious but that information seems to not be publicly available.

Just like you said: everything is working fine now... but: https://duckduckgo.com/?q=i915kms&t=ffab&ia=web <-- these results might wet your whistle.
 
Note, that I wrote this turorial a year ago. At that time, CoffeeLake was the most recent generation but wasn't yet supported by the i915kms driver, but the second most recent generation KabyLake was.
Read post #8 and my answer for reference and look at the date.

To answer your question, the i915kms driver now has support for CoffeeLake graphics and is the driver of choice.
 
To answer your question, the i915kms driver now has support for CoffeeLake graphics and is the driver of choice.
Thanks k.jacker That answers that question. I still can't find a description of any advantage this driver may have. I have excellent graphics performance so I'm guessing that this driver has no real purpose on a modern system anyway. :)
 
I still can't find a description of any advantage this driver may have. I have excellent graphics performance so I'm guessing that this driver has no real purpose on a modern system anyway.

The proper driver provides accelerated video decoding and tear free rendering among other features. Are you sure you are actually on vesa/scfb? These things are instantly noticeable.
 
The proper driver provides accelerated video decoding and tear free rendering among other things. Are you sure you are actually on vesa/scfb?
No I'm not sure and don't know anything about that. I just use FreeBSD with Xorg out of the box. I can't imagine it working any better, but am always interested. Since I'm using Intel integrated graphics it just seemed reasonable that this driver might be relevant in some ways. Like I said, the benefits and purposes of the driver seems to be a secret. Or I'm just really dumb :)
 
k.jacker Thank you for this informational post!

I have FreeBSD 12.0-RELEASE-p9 on my laptop with SLiM as login manager and Lumina for a DE.

I had noticed these messages in dmesg...
Code:
info: [drm] Initialized drm 1.1.0 20060810
drmn0: =======================================================
drmn0: This code is obsolete abandonware. Install the graphics/drm-legacy-kmod pkg
drmn0: =======================================================
drmn0: Deprecated code (to be removed in FreeBSD 13): drm2 drivers
drmn0: =======================================================
drmn0: This code is obsolete abandonware. Install the graphics/drm-legacy-kmod pkg
drmn0: =======================================================
drmn0: Deprecated code (to be removed in FreeBSD 13): drm2 drivers
drmn0: <Intel IronLake> on vgapci0
info: [drm] MTRR allocation failed.  Graphics performance may suffer.

and so I went on to install drm-legacy-kmod, along with adding
Code:
kld_list="/boot/modules/i915kms.ko"
to /etc/rc.conf.

After a reboot, at the login screen, I was no longer able to switch to a console with Ctrl + Alt + Fn, as it did nothing. And if I hit those keys, I could no longer enter any text in the username field. The only way out was a reboot with a Ctrl + Alt + Del.

I even installed drm-kmod, which was the same. I did not have a "video" group to add my login id to which is what the pkg instructed to do after it was installed.

Anyways, I discovered this thread and realized that my CPU is old
Code:
CPU: Intel(R) Core(TM) i3 CPU       M 350  @ 2.27GHz (2261.05-MHz K8-class CPU)
, so really did not need install any of those drm-* packages. I've reverted the changes, and all is good.

I'm not sure if this qualifies as a bug, but I think if the CPU is detected to be an older generation, then it would make sense to suppress the "Install the graphics/drm-legacy-kmod pkg" message, as it is confusing.
 
Now suddenly in the middle of 12.1-stable I have to switch to drm-fbsd12.0-kmod for my i5-6200? It' a bit chaotic.

yep, not stable at all.

there's supposed to be meta packages that allegedly sort this out;
like 'drm-kmod', 'drm-next-kmod' and 'drm-legacy-kmod'

I still don't get why we need a 'drm-legacy-kmod' if we have another set of drm-kmod in base; what's the difference between those 2? Or does the legacy pkg only make sense on FreeBSD-13, or/and FreeBSD-current ?
 
Hello. FYI, I am working with an older Acer "Aspire One" laptop which has an Intel Atom processor with integrated graphics. Checking pciconf -lv and dmesg -a|more, then visiting several other bits of information on the web, I find that the graphics part of this processor is a Pineview, 3rd generation, dated 2010.

Doing pkg install drm-kmod and pkg install libva-intel-driver, and editing rc.conf, adding the line kld_list="/boot/modules/i915kms.ko", then rebooting, during the boot process, I can tell instantly when the video changes to a much higher resolution and everything looks great, BUT, when I start X, the screen blanks for a few seconds and then a fine "bar" of video appears across the screen and I am unable to read anything.

I then have to restart the system, go into Single-user mode, and undo the edit I made to rc.conf then reboot.

Editing rc.conf by adding the line kld_list="i915kms.ko", I get the same result.

I have read everything I could find here and on the net about this issue, but so far have not found an answer to this.

Anyone have a clue?

Ken Gordon
 
I have read everything I could find here and on the net about this issue, but so far have not found an answer to this.

All I can tell you is that I get similar on my GMA 915 (Thinkpad Z61).

Either I get a high resolution console (with the kms driver loaded), or I can actually run X11 (using the default). I cannot have both.

So a fullscreen XTerm is my solution for that one ;)
 
Rats! :mad:

I was afraid of that.

Well, although I got rid of the funny lines across my monitor by getting rid of xorg.conf (I renamed it), since it was trying to load the "vesa" driver on top, when I reboot, X refuses to load and I end up with the command prompt....at high resolution.

Nice...but useless for my purposes. I am trying to get this laptop usable by a bunch of computo-klutzes who are only barely familiar with WinDOZE. They would probably freak out if they saw a command prompt.

Gee... Sigh...

Ken Gordon
 
Hmm, just to check; are you able to load up X11?

Remove any gpu related entries from xorg.conf, boot.conf and rc.conf and from a command line just run startx. Do you see the default twm window manager?

It should work with X11 (just not with the hi-res boot console). Once that is confirmed, install something like Xfce (Gnome 3 is probably a no go) and that should be good enough for computo-klutzes.
 
Yes. Under those settings it works just fine. I guess I'll just have to be happy with it at 640 X 480. Darn!

BTW, the video processor is a GMA-3150, if that tells us anything...

Ken Gordon
 
Back
Top