[drm-kmod] Help completing the compatibility matrix "Intel GPUs vs FreeBSD versions"

[Table below last updated Apr.1. Updated table according to recent compatibility reports. Added market names. Cut down text to keep post <25k chars.]

Explanation of entries:
  • Yes: Known to work.
  • Yes? Need confirmation: Probably works, but not sure (forum posts exist that sound like GPU works on particular version, but not detailed whether with or without drm-kmod
  • No: Known not to work (but still high probabilty it will work with user mode switching, eg without i915kms.ko and drm-kmod)
drmXX = drm-kmod of FreeBSD XX
drmXXd = drm-devel-kmod (avoid if possible)

GPU GenCodeNameMarket namesdrm12drm13drm13ddrm14IntroCPU GenSources
12.0TGLTiger LakeIris·Xe·GraphicsNoNoYesYes2020120,3
11.0JSLJasper LakeNoYes? Need confirmationYesYes2020?113,40
11.0ICLIce LakeIris·Plus·Graphics·655, Iris·Plus·GraphicsNoYes? Need confirmationYesYes2019100,37,4
11.0EHLElkhart LakeNoYes? Need confirmationYesYes2020?1139,9
10.0CNLCannon LakeYes? Need confirmationYesYesYes2018?821,35
9.5WHLWhiskey LakeYesYesYesYes201881,32,4,45
9.5KBLKaby LakeHD·Graphics·610, HD·Graphics·615, HD·Graphics·620, UHD·Graphics·620, HD·Graphics·630, HD·Graphics·P630, Iris·Plus·Graphics·640, Iris·Plus·Graphics·650,YesYesYesYes2017?25,4,9,a
9.5GLKGemini Lake (Goldmont Plus, Gemini Lake Refresh)UHD·Graphics·600, UHD·Graphics·605Yes? Need confirmationYesYesYes2017?34
9.5CMLComet LakeYes? Need confirmationYesYesYes2020?101,31,4
9.5CFLCoffee LakeUHD·Graphics·610, UHD·Graphics·630, Iris·Plus·Graphics·645, Iris·Plus·Graphics·655YesYesYesYes2018821,33,4,45
9.5AMLAmber Lake YYes? Need confirmationYesYesYes2019101,36,44
9.0SKLSkylakeHD·Graphics·510, HD·Graphics·515, HD·Graphics·520, HD·Graphics·530, HD·Graphics·P530, Iris·Graphics·540, Iris·Graphics·550, Iris·Pro·Graphics·P555, Iris·Pro·Graphics·580, Iris·Pro·Graphics·P580YesYesYesYes2015?21,30,9,a
9.0BXTBroxton (Goldmont Apollo Lake)HD·Graphics·500, HD·Graphics·505YesYesYesYes2016?42
8.0CHVCherry Trail (Braswell, Cherry View)HD·Graphics, HD·Graphics·400, HD·Graphics·405YesYesYesYes2015/16?43
8.0BDWBroadwellHD·Graphics, HD·Graphics·5300, HD·Graphics·5500, HD·Graphics·5600, HD·Graphics·P5700, , HD·Graphics·6000, Iris·Graphics·6100, Iris·Pro·Graphics·6200, Iris·Pro·Graphics·P6300YesYesYesYes2014/15?21,28,6,9
7.5HSWHaswellHD·Graphics, HD·Graphics·4200, HD·Graphics·4400, HD·Graphics·4600, HD·Graphics·P4600, HD·Graphics·P4700, HD·Graphics·5000, Iris·Graphics·5100YesYesYesYes2013421,5,9,a
7.5CRWCrystal WellHD·Graphics, HD·Graphics·4600, Iris·Pro·Graphics·5200YesYesYesYes2013IGP20,27,b
7.0VLVBay Trail (Valleyview)HD·GraphicsYesYesYesYes2013SOC19,24,9,b
7.0IVBIvy BridgeHD·Graphics, HD·Graphics·2500, HD·Graphics·4000, HD·Graphics·P4000YesYesYesYes2012321,26,7,9,a
6.0SNBSandy BridgeHD·Graphics, HD·Graphics·2000, HD·Graphics·3000, HD·Graphics·P3000YesYesYesYes2011221,8,9,a
5IRONLAKEIronlakeHD·GraphicsYes?Yes?Yes?Yes?2010118,2,9
4.5GM45CantigaGMA·4500MHDYes?Yes?Yes?Yes?2008GMCH14,15,21,9,a
4.5G45EaglelakeGMA·X4500HDYes?Yes?Yes?Yes?2008GMA15,16,21,9,a
4I965GMCrestlineGMA·X3100Yes?Yes?Yes?Yes?2007ICH12,9
4I965GBroadwater Bearlake LakeportGMA·3000Yes?Yes?Yes?Yes?2006ICH12,9
3PINEVIEWPineviewGMA·3150Yes?Yes?Yes?Yes?2010GMA17,9,c
3I945GMCalistogaGMA·950Yes?Yes?Yes?Yes?2006ICH12,9,c
3I945GLakeportGMA·950Yes?Yes?Yes?Yes?2005ICH12,9,c
3I915GMAlvisoGMA·900Yes?Yes?Yes?Yes?2005ICH12,9,c
3I915GGrantsdaleGMA·900Yes?Yes?Yes?Yes?2004ICH12,9,c
3G33BearlakeGMA·3100Yes?Yes?Yes?Yes?2007GMCH13,9,c
2I865GSpringdaleExtreme·Graphics·2Yes? Need confirmationYes? Need confirmationYes? Need confirmationYes? Need confirmation2003ICH12,9,c
2I85XMontaraExtreme·Graphics·2Yes? Need confirmationYes? Need confirmationYes? Need confirmationYes? Need confirmation2003ICH12,9,c
2I845GBrookdaleExtreme·GraphicsYes? Need confirmationYes? Need confirmationYes? Need confirmationYes? Need confirmation2002ICH12,22,9,c
2I830AlmadorExtreme·GraphicsYes? Need confirmationYes? Need confirmationYes? Need confirmationYes? Need confirmation2001ICH12,22,9,c
1I815Solanoi754NoNoNoNo2000ICH12,22,46,9,c
1I810Whitneyi752NoNoNoNo1999ICH12,22,46,9,c


Notes:
  • All entries which contain a question mark have no confirmation source in the "Sources" row yet, and thus might be incorrect.
  • The chronological order is only roughly exact. The items are ordered only by GPU generation, but not ordered inside-generation.
  • The "Code" row shows the code string parts from which you can recognize and associate the #defined constants and macros used in the freedesktop.org xf86-video-intel sources.
  • For GPU generations 4-6 to work on 12.2, according to this thread, it seems necessary to first deinstall graphics/drm-kmod, then explicitly install graphics/drm-fbsd12.0-kmod (needs still to be verified whether this is really necessary when doing fresh install).

The source links below are not listed above, as they affect all:
https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
https://wiki.freebsd.org/MarkLinimon/WorkAreaGraphics/DRM
https://wiki.freebsd.org/MarkLinimon/WorkAreaGraphics/AMD
https://wiki.freebsd.org/Graphics

Big thanks to all people who contributed by confirming particular GPU/OS combinations' working or not working!
 
Last edited:
Someone once did something similar or the same:

 
Thank you very much for this great link, Alexander88207 !
Some really interesting info there. 👍

For example, it showed that for GPU generation 1-3 (or even higher?) i915kms.ko must not be loaded, and drm-kmod must not be installed if one wants to use Xorg.
 
Would it be useful to also add the year of introduction for each GPU, to assist with determining which gen a particular machine may have? My current laptop is a 2015 model (Broadwell based) and going strong, i'm quite suprised there is already talk of dropping Haswell, which is only one GPU gen before this one!
 
Would it be useful to also add the year of introduction for each GPU, to assist with determining which gen a particular machine may have? My current laptop is a 2015 model (Broadwell based) and going strong, i'm quite suprised there is already talk of dropping Haswell, which is only one GPU gen before this one!

Great idea!
I'll update the table in post #1 today or tomorrow to include the introduction year of each GPU.
I am also considering to add another row, which displays the respective CPU generation, as it is important not to confuse CPU and GPU generations.
This might make things even easier, as the CPU generation is easy to determine:
1. CPU gen: i?-XXX
2.-9. CPU gen: i?-XXXX
10.+ CPU gen: i?-XXXX

Btw, the autodetecting/autoconfiguring postinstaller I am working on will tell the user the exact GPU information, including its generation.
I initially assumed that this would not be necessary. But I recently learned that I need to add functionality that tells the user which FreeBSD version can be used, if hs FreeBSD version does either not yet or no longer support a particular GPU. (=> the actual reason for this thread)

Learning of the plan to drop support for most to all Intel-GPU-based laptops and desktops that are older than circa 7 years was a hefty surprise to me, too.
Sadly I have not yet managed to find any text about the reasons.
I really would appreciate to learn why that is deemed necessary.
 
  • Thanks
Reactions: JAW
I am surprised. My laptop has an Ivy Bridge (3rd gen.) chip, which is older than Haswell (4th gen.) and should not work with i915kms, according to what I read here. However I do use it daily with that driver on 12.2 and it works well.

Should I expect it not to work anymore with 13.0?

Since graphics/drm-legacy-kmod has been deprecated, this would mean I will have to choose between sticking with 12.2 until its end of support (but what then?) or accept a massive loss of video performance and use 13.0 without a DRM driver. Quite annoying.
 
Learning of the plan to drop support for most to all Intel-GPU-based laptops and desktops that are older than circa 7 years was a hefty surprise to me, too.
Could you show any documents about this.
This is the first I am hearing of it. I use SandyBridge and IvyBridge laptops with i915kms from base (11.4)
 
https://freebsddesktop.github.io/2018/12/08/drm-kmod-primer.html :

So what do you need?
  1. A system with Haswell or newer Intel HD Graphics (see here for a list) or a system with AMD Radeon HD7000 AMD GPU or newer (see here for a list).
[...]

Support For Older Systems​


So what if you have a system older than a Haswell era Intel CPU? Historically the driver for this hardware has been included in the base FreeBSD OS and will continue to be so in 12.0-RELEASE, but the expectation is it will be removed by version 13. To prepare for this eventuality a new port has been created named drm-legacy-kmod. If you have one of these older systems and are having problems with graphics using the drm-kmod port, please try this legacy version.

I already have been accused of spreading misinformation.
Please let me again emphasize that, for the autodetect/autoconfiguration script, I need data as correct and exact as possible.

I have found several similar references to the removal of support for hardware older than Haswell, for example in notes on Freshports.org.
Now I heavily regret not having bookmarked these pages when I was sifting through countless pages to collect information for the compatibility matrix table.

This drm-legacy-kmod module has been removed very recently.
Sadly I have not yet found any information whether possibly (and hopefully) the plan to drop support for legacy GPU hardware might have been abandoned, leading to dropping drm-legacy-kmod.

What now particularly worries me is that from what I read, apparently some xf86-video-something drivers do no longer work in user mode, only in KMS mode. If KMS support for this hardware is dropped, this potentially could mean that the affected hardware can no longer be used with FreeBSD

As a Nvidia user, personally do not care much about Intel or AMD support. I can also use my Thinkpad with Linux if necessary.
My main interest to get these questions clarified is to make sure that the postinstaller does the correct installation, and if some hardware is not supported, also detects this and informs the user accordingly.
 
I have updated the table, added introduction years and CPU generation.

Please guys, please understand that this thread is not about worries of obsolete hardware.

The thread is about collecting exact information which GPUs work with which FreeBSD versions' drm-kmod.
I need this information for correct autodetection and autoconfiguration.
So that the user can install and run Xorg easily without having to deal with the installation and the configuration.

Currently I am particularly looking for:
  • Confirmations that pre-Haswell GPU hardware runs or does not run on FreeBSD 13, and whether it still works using the xf86-video-intel driver, without KMS and drm-kmod, if it is no longer supported by KMS
  • Any information that helps understand what is being planned regarding dropping support for older hardware
  • Any information that can tell which GPU generations (or sub-generations JSL, ICL, EHL of gen 11) are supported by 13-RELEASE, and which not yet. For example, I read somewhere that GPU generation 12 allegedly is only usable with graphics/drm-devel-kmod.
 
This is what ThinkWiki says I have on mine:

The T43 comes with:
Intel Graphics Media Accelerator X3100 (Intel 965)

The X61 comes in two versions:
Intel 915GM northbridge with integrated Intel Graphics Media Accelerator 900 (not capable of DVI output) using shared system RAM

Intel 915PM northbridge and an ATI Mobility Radeon X300 with 64MB on-chip dedicated RAM. Supports DVI output through a dock or port replicator

The T61 comes with
Intel Graphics Media Accelerator X3100
 
I initially install the drivers from the list provided during the build of Xorg. I was trying to think if I istallled the Intel and ATI driver separately for my T43 but figrured they would all be included in the MetaPort pkg so proably not. I know I did install them separately when building OpenBSD and for Switchable Graphics on my GateWay.

All have just been updated to 12.2-RELEASE. p4 except my W520 running 12.i- RELEASE. p3.

My Sony Vaio is running i386 FreeBSD- 11.2-RELEASE. p3 and has an Intel 82945GM (945GM GMCH) SVGA controller.

They all use the Intel driver but will default to scfb if that's not working.

I've never installed i915kms.ko.
 
I am surprised. My laptop has an Ivy Bridge (3rd gen.) chip, which is older than Haswell (4th gen.) and should not work with i915kms, according to what I read here. However I do use it daily with that driver on 12.2 and it works well.
Confusing CPU and GPU generations is easy.
I also had to learn to avoid this trap. Regarding the drm-kmod support, only the GPU generation matters.
The table update to include both GPU and CPU generations, might help avoid this kind of confusion.

Haswell has GPU generation 7.5, IvyBridge has probably a bit less.
So your computer is a very interesting "border line" case!
Could you possibly look into the xorg log and check which driver does the actual work, to make sure it is "intel" and not "scfb", "vesa", or the like?

Should I expect it not to work anymore with 13.0?

Since graphics/drm-legacy-kmod has been deprecated, this would mean I will have to choose between sticking with 12.2 until its end of support (but what then?) or accept a massive loss of video performance and use 13.0 without a DRM driver. Quite annoying.
I honestly do not know, but I am curious... :(
The information about the deletion of graphics/drm-legacy-kmod does not give detail, it just says

Legacy DRM driver that used to be in FreeBSD base before the removal in FreeBSD 13. (...) The drm-legacy-kmod port can be enabled for older Intel and ATI/AMD graphics adapters as well as legacy graphics adapters through kld_list in /etc/rc.conf.
I honestly do not understand, how can that legacy port be enabled by kld_list if it is gone?

Maybe it just means exactly what you said: that the "scfb" or "fb", or even "vesa" drivers will take over?
On fast computers many people tend to not notice such anymore, but on older computers the performance difference is very obvious indeed...

Maybe some guru can enlighten?


Edit:
I have updated the table to reflect the high probability that support for GPU generations below 6 has been dropped in FreeBSD 13.
Looking at the maintainer messages for graphics/drm-legacy-kmod, I am quite sure that this is final:
drm-legacy-kmod is holding back changes in the FreeBSD VM subsystem, and it requires substantial changes to be updated to work with the VM changes. Remove[d] expired port

My main focus now is to find out whether in FreeBSD 13 the GPUs Gen. 7 are still supported or not, as they are below Haswell (Gen. 7.5).
 
Don't panic FreeBSD 12 branch has support till 2024. By that time your hardware will really be obsolete.
I do care that I can use my then >15 year old previous laptop with FreeBSD. It's a dual core 64-bit machine. Why should I throw it in the trash bin while the hardware is still working fine? That's yesterday's western living style with lots of cheap chinese use-once low-quality products. Very oldschool & not contemporary. Please follow the "Off-Topic -> Environmentalist" thread.
 
Trying to understand the status of pre-Haswell GPUs (down to Sandy Bridge) on FreeBSD 12.2, I still feel confused.

Freshports says there is no graphics/drm-fbsd12.0-kmod package, and it needs to be built from ports.
To install the port: cd /usr/ports/graphics/drm-fbsd12.0-kmod/ && make install clean
A package is not available for ports marked as: Forbidden / Broken / Ignore / Restricted

However, I read
Note that graphics/drm-kmod is a meta-port/package. It has nothing of itself, it simply depends on, in this case, graphics/drm-fbsd12.0-kmod. Removing and reinstalling drm-kmod is a no-op. Force a reinstall of drm-fbsd12.0-kmod to make sure you're getting the rebuilt version; pkg install -f drm-fbsd12.0-kmod. From pkg(8)'s point of view, nothing has changed, so it's not going to (re)install it automatically.

I tried what SirDice suggested, and indeed, there a package got installed.
Code:
# pkg install -f drm-fbsd12.0-kmod
[...]
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        drm-fbsd12.0-kmod: 4.16.g20201016_1
        gpu-firmware-kmod: g20201213

Number of packages to be installed: 2

The process will require 56 MiB more space.
7 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/2] Fetching drm-fbsd12.0-kmod-4.16.g20201016_1.txz: 100%    2 MiB   2.1MB/s    00:01
[2/2] Fetching gpu-firmware-kmod-g20201213.txz: 100%    5 MiB   5.1MB/s    00:01
Checking integrity... done (0 conflicting)
[1/2] Installing gpu-firmware-kmod-g20201213...
[1/2] Extracting gpu-firmware-kmod-g20201213: 100%
[2/2] Installing drm-fbsd12.0-kmod-4.16.g20201016_1...
[2/2] Extracting drm-fbsd12.0-kmod-4.16.g20201016_1: 100%
=====
Message from drm-fbsd12.0-kmod-4.16.g20201016_1:
--
The drm-fbsd12.0-kmod port can be enabled for [...] i915kms (for Intel APUs starting with
HD3000 / Sandy Bridge) through kld_list in /etc/rc.conf.
So it looks like that the metapackage does some magic and installs graphics/drm-fbsd12.0-kmod as a package!
No need to build it! 👍

Will that work until 12.2 EOLs in 2024?

It is wrong that pre-Haswell graphics will stop working [in KMS mode on FreeBSD 13+].
If I understand you correctly, they still work, respective can be used in KMS mode with the VESA driver (assuming that Intel graphics BIOS in general supports VESA?)?

Does x11-drivers/xf86-video-vesa have to be installed then?
Or are there faster drivers available that do not depend on UEFI like x11-drivers-scfb?

Or might it even on FreeBSD 13 still be possible to just ditch KMS and drm-kmod, and use x11-drivers/xf86-video-intel with traditional user space modesetting?[/B]
If you have graphics hardware that is even more ancient (like ~20 years old), then you can probably use one of the xf86-video-* drivers. Note that OpenGL acceleration for old GPUs was already dropped about 8 years ago.
From what Trihexagonal reported, it looks like that it is still possible to use x11-drivers/xf86-video-intel without also loading i915kms.ko and graphics/drm-whatever-kmod?
If 2D acceleration with userspace mode switching can be used, most end users would just be happy!

Can it be confirmed that it is generally possible to use x11-drivers/xf86-video-intel in userspace mode?

Thank you all again for your patience and your invaluable help!
 
Will that work until 12.2 EOLs in 2024?
12.2 will be EoL three months after the release of 12.3. Which I expect to get released sometime in September or October 2021. Then in September/October 2022 we'll probably also see a 12.4 appear. The expected EoL date of 2024 is for the entire 12 branch.
 
Can it be confirmed that it is generally possible to use x11-drivers/xf86-video-intel in userspace mode?
I can’t test that myself because I don’t have hardware from the previous century. But I’m pretty sure that all of the legacy xf86-video-* ports should still work, otherwise they would have been removed long ago (or at least marked as deprecated, which is not the case). Note, in particular, that the xf86-video-intel port is still maintained; it received an update to a newer upstream version just a few weeks ago.

As I wrote elsewhere, the current drm-kmod port supports Intel GPUs at least back to Sandy Bridge, which predates Haswell and Ivy Bridge. Older GPUs like Nehalem might be supported, but there may be bugs because most of the developers don’t have such old hardware themselves, so they cannot test it.

By the way, switching to Linux won’t make things better because they have the same driver situation.
 
I have a Zotac ID 70 plus, which has an Intel Core i3-2100T (that's a Sandy Bridge according to wikipedia; HD Graphics 2000 ). It's currently running 13.0-RC2 but I had 12.2 on it before. It's running on x11-drivers/xf86-video-intel. That works fine. I do also have drm-fbsd13-kmod installed (previously that was drm-fbsd12.0-kmod). With the Intel driver everything works, this machine is hooked up to my TV. I'll see if I can try it without the Intel driver tonight.
 
I can’t test that myself because I don’t have hardware from the previous century. But I’m pretty sure that all of the legacy xf86-video-* ports should still work, otherwise they would have been removed long ago (or at least marked as deprecated, which is not the case). Note, in particular, that the xf86-video-intel port is still maintained; it received an update to a newer upstream version just a few weeks ago.
The x11-drivers/xf86-video-intel for long time did indeed contain only legacy drivers (for GPU generation 1+2).

I originally missed out that, I think three or four years ago, there was a big driver merge at freedesktop.
Possibly initiated by Intel, as they seem to develop the actual drivers.
This eliminated the need for the xf86-video-i915 driver (or something else, I forgot).
To me this sounds completely plausible, as most people would intuitively choose an "-intel" instead of some cryptic "-i915" driver.

So the current driver sources are a strange mix of historic, less-historic and top modern code.
When you look at https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/blob/master/src/i915_pciids.h you can see that the driver not only supports last centuries' chips, but even the 12th GPU generation (Tiger Lake)!

This is why I am so interested in knowing whether the x11-drivers/xf86-video-intel can also be used without KMS+drm-kmod, only with user mode switching.
If this turns out to be possible, then one could use even the most top modern Intel chips on 12.2, no matter the drm-kmod version!

As I wrote elsewhere, the current drm-kmod port supports Intel GPUs at least back to Sandy Bridge, which predates Haswell and Ivy Bridge.
You make me think about adding an "experimentator feature" in the postinstaller, so people could actually test this and report back how far backward the particular drm-kmod versions actually work, so community knowledge could be gained.
If it could easily be reconfigured to non-KMS, if that turns out to not work on the particular computer, that at least won't result in bad UX!

I have a Zotac ID 70 plus, which has an Intel Core i3-2100T (that's a Sandy Bridge according to wikipedia; HD Graphics 2000 ). It's currently running 13.0-RC2 but I had 12.2 on it before. It's running on x11-drivers/xf86-video-intel. That works fine. I do also have drm-fbsd13-kmod installed (previously that was drm-fbsd12.0-kmod). With the Intel driver everything works, this machine is hooked up to my TV. I'll see if I can try it without the Intel driver tonight.
That would be awesome!
If it turns out that older GPUs really still work with FreeBSD 13, that would be just wonderful! 👍
Even without any "official warranty" or support!
 
So, some tests done. All of them on the same Zotac ID 70 plus. It does UEFI boot, not entirely sure if that matters. All of the tests were done on 13.0-RC2.

Only graphics/drm-fbsd13-kmod installed: Works, driver is auto-detected no need for a xorg.conf; https://termbin.com/k1cw
Only x11-drivers/xf86-video-intel installed: Works, driver is auto-detected; https://termbin.com/abz4
Both installed: Works, without a config the intel(4) driver is picked; https://termbin.com/x6jj

I've not looked if there's a performance difference between the drivers. That might be interesting to look at, if someone knows a nice simple application to test/measure 2D acceleration I can try to get some measurements.
 
This is just wonderful news, SirDice! 👍👍👍

I just reworked the matrix table to show official and inofficial support for 12, 13 and 13-drm-devel-kmod.
(Done) Will update it again, so your confirmation can be referred as proof! (might take until tomorrow morning, as I am not so satisfied with the new layout yet)

olli@ and Zirias
OpenGL and VA-API are nice extras, but not really necessary.

Many users don't even notice that they are using the vesa driver.
So I believe it is more benefit in a script that just detects the GPU hardware, chooses the correct driver, installs it and configures the system as optimally as hardware/OS combo permits, so one can go start X afterwards, without hassle.
 
So I believe it is more benefit in a script that just detects the GPU hardware, chooses the correct driver, installs it and configures the system as optimally as hardware/OS combo permits, so one can go start X afterwards, without hassle.
Well, except when there's "hassle" of course:

I'm pretty sceptical about such scripts. If you know what you do, installing graphics/drm-kmod and loading the correct driver really isn't much work, done in a minute. So you only need such a script if you don't know what you do. But then, running into any problem, you're really stuck.

Still I have no doubt some people would find it useful. Just saying… ;)
 
Back
Top