Version clarification - pkg vs ports - graphics hardware & drivers

  • I have installed FreeBSD version 14.2 on a Lenovo X270. I chose this version as it is marked "Production" on the FreeBSD home page
  • Everything went well with the installer, and I can now boot into a terminal as root or my created user.
  • I am working through the handbook, but have tripped up at the installation of the graphics driver:
    • The device has Intel 620 graphics
    • I install drm-kmod as instructed in chapter 5 of the handbook
    • I add the "kld_list="i915kms" to /etc/rc.conf using sysrc (again, as instructed in chapter 5).
    • On reboot, the startup doesn't get as far as the terminal, but stops with an error message stating
      Code:
      kbl_dmc_ver1_04.bin: could not load binary firmware /boot/firmware/kbl_dmc_ver1_04.bin either
      i915/kbl_dmc_ver1_04.bin: could not load binary firmware /boot/firmware/i915/kbl_dmc_ver1_04.bin either
  • Looking through the forum posts, I see reference to the fact the actual drivers are in gpu-firmware-intel-kmod-kabylake. The version in pkg is 20230625.1401000. I also saw a comment saying that the packages are built for FreeBSD 14.1 (listed as legacy on the website landing page), and that for version 14.2, the ports version would need to be built and installed. This seems contrary to the recommendation not to use ports as a "beginner".
  • I have made sure that the packages are up to date.
Is my understanding correct - should I indeed compile the ports version and install that instead? It looks like the suggestion not to use ports is not applicable with stuff like graphics drivers which are closely coupled with the kernel?

Thanks, and apologies if I have missed something in the handbook which explained this clearly! I have been diligent in reading through it carefully! Also - apologies if this is in the wrong group on the forum - My question isn't about packages/ports per se, but about the installation of the system, so I hope this is OK here.
 
I also saw a comment saying that the packages are built for FreeBSD 14.1 (listed as legacy on the website landing page), and that for version 14.2, the ports version would need to be built and installed.
14.1 is still supported, until the end of this month. In April the packages will get built for 14.2 and this issue disappears.
Is my understanding correct - should I indeed compile the ports version and install that instead?
There should be a specific repository to install the DRM drivers for 14.2. You can add this as an alternative.
 
The most complete (overview) entry point for the 14.2-RELEASE is FreeBSD 14.2 Release Information. Unfortunately this is (very) easy to miss, especially the seperate FreeBSD 14.2-RELEASE errata, that contains at Open Issues:
  • drm-kmod packages compiled on FreeBSD 14.1 result in the text console being inoperative when the kernel module is loaded. Recompiling the package from the ports tree will restore the lost functionality. This issue will also resolve itself after the FreeBSD 14.1 EoL, when packages for 14-STABLE will start being built on FreeBSD 14.2-RELEASE.

On 14.2R, on 'quarterly' or 'latest' you should have:
Code:
# pkg info | grep drm-61-kmod
drm-61-kmod-6.1.128.1402000_1  DRM drivers modules
as the 14.2-RELEASE specific variant of this package. Note that the necessity of such minor-specific packages is the (big) exception and only applies to packages containing kernel modules. You can either build this yourself (taking the meta port's source graphics/drm-kmod that will get you drm-61-kmod as well), or, as hinted, set up the appropriate 'kmods' repository in a pkf .conf setting; for that see Possible solution to the drm-kmod kernel mismatch after upgrade from Bapt; this is not a full featured solution however, it has limitations.
 
Many thanks to you both - I will go away and do some more reading, then decide how to proceed. I guess being new to FreeBSD, I hadn't recognised the recentness of 14.2!
 
Back
Top