Solved alderlake, tigerlake and rtw89

Well I can use scfb, for the time being.
14.3, but it still does not work.
Jus to be sure: are you using drm-61-kmod-6.1.128.1403000_4?

If so, I'd file a PR. Your N150 is somewhat newish:
Release date: Nov 20th, 2024.

I see three possibilities:
  1. N150 should work with drm-61-kmod but doesn't: there's a bug
  2. N150 will not work with drm-61-kmod because X, Y or Z
  3. N150 should work/is working/is going to work with graphics/drm-66-kmod but that is for FreeBSD 15
    (stable/15 branch is scheduled for 5 September 2025: 15 - Release Process)

The N150 does not strike me as some rare or exotic CPU/GPU; actually common. At least you should get some clarity from the graphics developers.
 
Jus to be sure: are you using drm-61-kmod-6.1.128.1403000_4?
Code:
drm-61-kmod-6.1.128.1403000_4
Name           : drm-61-kmod
Version        : 6.1.128.1403000_4
Installed on   : Sun Jun  8 14:26:38 2025 +07
Origin         : graphics/drm-61-kmod
Architecture   : FreeBSD:14:amd64
Prefix         : /usr/local
Categories     : graphics kld
Licenses       : BSD2CLAUSE, GPLv2, MIT
Maintainer     : x11@FreeBSD.org
WWW            : https://github.com/freebsd/drm-kmod/
Comment        : DRM drivers modules
Annotations    :
        FreeBSD_version: 1403000
        build_timestamp: 2025-06-07T17:37:24+0000
        built_by       : poudriere-git-3.4.2
        port_checkout_unclean: no
        port_git_hash  : b902f8f42
        ports_top_checkout_unclean: yes
        ports_top_git_hash: b902f8f42
        repo_type      : binary
        repository     : ochre
Flat size      : 16.9MiB
Description    :
amdgpu, i915, and radeon DRM drivers modules.
Currently corresponding to Linux 6.1 DRM.
This version is for FreeBSD 14-STABLE 1400508

Well, I'll get on with a PR then.
 
This is a long shot: GMKtec G3 Plus with Intel N150, no graphics driver on Ubuntu 24.04.1?

Although not the very latest version of the intel media driver, this one is available: multimedia/libva-intel-media-driver

On 14.3-RELEASE, try first without having this intel media driver installed
rc.conf: kld_list="i915kms", and your Xorg .conf file (for example /usr/local/etc/X11/xorg.conf.d/20-intel.conf):
Code:
Section "Device"
    Identifier "Intel Graphics"
    Driver "modesetting"
EndSection
start X manually and save /var/log/Xorg.0.log

Then install multimedia/libva-intel-media-driver and start X again manually; also save /var/log/Xorg.0.log

Post both log files, for example using cat <first log> | nc termbin.com 9999, cat <second log> | nc termbin.com 9999. Comparing these two should show if this intel media driver, specifically /usr/local/lib/dri/iHD_drv_video.so, is loaded and used.
 
Post both log files, for example using cat <first log> | nc termbin.com 9999, cat <second log> | nc termbin.com 9999.

Before

After

Looks pretty much the same.

Diff:
Code:
      1 1c1
      2 < [   300.905]
      3 ---
      4 > [   120.495]
      5 4,7c4,7
      6 < [   300.905] Current Operating System: FreeBSD viridian.local.minium.com 14.3-RELEASE FreeBSD 14.3-R      6 ELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC amd64
      7 < [   300.905]
      8 < [   300.905] Current version of pixman: 0.46.0
      9 < [   300.905]  Before reporting problems, check http://wiki.x.org
     10 ---
     11 > [   120.495] Current Operating System: FreeBSD viridian.local.minium.com 14.3-RELEASE FreeBSD 14.3-R     11 ELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC amd64
     12 > [   120.495]
     13 > [   120.495] Current version of pixman: 0.46.0
     14 > [   120.495]  Before reporting problems, check http://wiki.x.org
     15 9c9
     16 < [   300.905] Markers: (--) probed, (**) from config file, (==) default setting,
     17 ---
     18 > [   120.496] Markers: (--) probed, (**) from config file, (==) default setting,
     19 12,19c12,19
     20 < [   300.905] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jun  8 20:32:28 2025
     21 < [   300.905] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
     22 < [   300.905] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
     23 < [   300.906] (==) No Layout section.  Using the first Screen section.
     24 < [   300.906] (==) No screen section available. Using defaults.
     25 < [   300.906] (**) |-->Screen "Default Screen Section" (0)
     26 < [   300.906] (**) |   |-->Monitor "<default monitor>"
     27 < [   300.906] (==) No device specified for screen "Default Screen Section".
     28 ---
     29 > [   120.496] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jun  8 20:29:28 2025
     30 > [   120.497] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
     31 > [   120.497] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
     32 > [   120.497] (==) No Layout section.  Using the first Screen section.
     33 > [   120.497] (==) No screen section available. Using defaults.
     34 > [   120.497] (**) |-->Screen "Default Screen Section" (0)
     35 > [   120.497] (**) |   |-->Monitor "<default monitor>"
     36 > [   120.498] (==) No device specified for screen "Default Screen Section".
     37 21,22c21,22
     38 < [   300.906] (**) |   |-->Device "Intel Graphics"
     39 < [   300.906] (==) No monitor specified for screen "Default Screen Section".
     40 ---
     41 > [   120.498] (**) |   |-->Device "Intel Graphics"
     42 > [   120.498] (==) No monitor specified for screen "Default Screen Section".
     43 24,30c24,30
     44 < [   300.906] (**) Allowing byte-swapped clients
     45 < [   300.906] (==) Automatically adding devices
     46 < [   300.906] (==) Automatically enabling devices
     47 < [   300.906] (==) Automatically adding GPU devices
     48 < [   300.906] (==) Automatically binding GPU devices
     49 < [   300.906] (==) Max clients allowed: 256, resource mask: 0x1fffff
     50 < [   300.906] (==) FontPath set to:
     51 ---
     52 > [   120.498] (**) Allowing byte-swapped clients
     53 > [   120.498] (==) Automatically adding devices
     54 > [   120.498] (==) Automatically enabling devices
     55 > [   120.498] (==) Automatically adding GPU devices
     56 > [   120.498] (==) Automatically binding GPU devices
     57 > [   120.498] (==) Max clients allowed: 256, resource mask: 0x1fffff
     58 > [   120.502] (==) FontPath set to:
     59 38,39c38,39
     60 < [   300.906] (==) ModulePath set to "/usr/local/lib/xorg/modules"
     61 < [   300.906] (II) The server relies on udev to provide the list of input devices.
     62 ---
     63 > [   120.502] (==) ModulePath set to "/usr/local/lib/xorg/modules"
     64 > [   120.502] (II) The server relies on udev to provide the list of input devices.
     65 41,60c41,60
     66 < [   300.906] (II) Module ABI versions:
     67 < [   300.906]  X.Org ANSI C Emulation: 0.4
     68 < [   300.906]  X.Org Video Driver: 25.2
     69 < [   300.906]  X.Org XInput driver : 24.4
     70 < [   300.906]  X.Org Server Extension : 10.0
     71 < [   300.911] (--) PCI:*(0@0:2:0) 8086:46d4:0301:02f3 rev 0, Mem @ 0x6000000000/16777216, 0x400000000     71 0/268435456, I/O @ 0x00004000/64, BIOS @ 0x????????/65536
     72 < [   300.911] (II) LoadModule: "glx"
     73 < [   300.911] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
     74 < [   300.912] (II) Module glx: vendor="X.Org Foundation"
     75 < [   300.912]  compiled for 1.21.1.16, module version = 1.0.0
     76 < [   300.912]  ABI class: X.Org Server Extension, version 10.0
     77 < [   300.912] (II) LoadModule: "modesetting"
     78 < [   300.912] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
     79 < [   300.912] (II) Module modesetting: vendor="X.Org Foundation"
     80 < [   300.912]  compiled for 1.21.1.16, module version = 1.21.1
     81 < [   300.912]  Module class: X.Org Video Driver
     82 < [   300.912]  ABI class: X.Org Video Driver, version 25.2
     83 < [   300.912] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
     84 < [   300.912] (--) Using syscons driver with X support (version 2.0)
     85 < [   300.912] (--) using VT number 9
     86 ---
     87 > [   120.502] (II) Module ABI versions:
     88 > [   120.502]  X.Org ANSI C Emulation: 0.4
     89 > [   120.502]  X.Org Video Driver: 25.2
     90 > [   120.502]  X.Org XInput driver : 24.4
     91 > [   120.502]  X.Org Server Extension : 10.0
     92 > [   120.509] (--) PCI:*(0@0:2:0) 8086:46d4:0301:02f3 rev 0, Mem @ 0x6000000000/16777216, 0x400000000     92 0/268435456, I/O @ 0x00004000/64, BIOS @ 0x????????/65536
     93 > [   120.509] (II) LoadModule: "glx"
     94 > [   120.509] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
     95 > [   120.515] (II) Module glx: vendor="X.Org Foundation"
     96 > [   120.515]  compiled for 1.21.1.16, module version = 1.0.0
     97 > [   120.515]  ABI class: X.Org Server Extension, version 10.0
     98 > [   120.515] (II) LoadModule: "modesetting"
     99 > [   120.515] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
    100 > [   120.517] (II) Module modesetting: vendor="X.Org Foundation"
    101 > [   120.517]  compiled for 1.21.1.16, module version = 1.21.1
    102 > [   120.517]  Module class: X.Org Video Driver
    103 > [   120.517]  ABI class: X.Org Video Driver, version 25.2
    104 > [   120.517] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
    105 > [   120.517] (--) Using syscons driver with X support (version 2.0)
    106 > [   120.517] (--) using VT number 9
    107 62,69c62,69
    108 < [   300.912] (EE) open /dev/dri/card0: No such file or directory
    109 < [   300.912] (WW) Falling back to old probe method for modesetting
    110 < [   300.912] (EE) open /dev/dri/card0: No such file or directory
    111 < [   300.912] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
    112 < [   300.912] (EE) Screen 0 deleted because of no matching config section.
    113 < [   300.912] (II) UnloadModule: "modesetting"
    114 < [   300.913] (EE) Device(s) detected, but none match those in the config file.
    115 < [   300.913] (EE)
    116 ---
    117 > [   120.517] (EE) open /dev/dri/card0: No such file or directory
    118 > [   120.517] (WW) Falling back to old probe method for modesetting
    119 > [   120.517] (EE) open /dev/dri/card0: No such file or directory
    120 > [   120.517] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
    121 > [   120.517] (EE) Screen 0 deleted because of no matching config section.
    122 > [   120.517] (II) UnloadModule: "modesetting"
    123 > [   120.517] (EE) Device(s) detected, but none match those in the config file.
    124 > [   120.517] (EE)
    125 71,72c71,72
    126 < [   300.913] (EE) no screens found(EE)
    127 < [   300.913] (EE)
    128 ---
    129 > [   120.517] (EE) no screens found(EE)
    130 > [   120.517] (EE)
    131 76,78c76,78
    132 < [   300.913] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information    132 .
    133 < [   300.913] (EE)
    134 < [   300.913] (EE) Server terminated with error (1). Closing log file.
    135 ---
    136 > [   120.517] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information    136 .
    137 > [   120.517] (EE)
    138 > [   120.517] (EE) Server terminated with error (1). Closing log file.
 
Yeah, no joy.

It seems that we'll have to wait for the response on the PR.

I think it might also be relevant that this relative new N150 is not exactly an Alderlake architecture but rather an 'Alderlake-N' architecture; that seems different.

With the FreeBSD graphics stack for kernel mode setting like:
  1. FreeBSD kernel
  2. Linux KPI shim layer
  3. Linux drm driver as a FreeBSD port/package
  4. Xorg modesetting driver (modesetting(4))
Accompanied of course by the appropriate firmware and perhaps in need of multimedia/libva-intel-media-driver* for some graphics accelerated functions.

As the 14.3-RELEASE specific version of graphics/drm-61-kmod has been updated to drm_v6.1.69_1 (see: graphics/drm-61-kmod: Update to drm_v6.1.69_1 - commit, dated Feb 24, 2024 ), scanning for Linux drm versions that are able to drive the N150, that version seems sufficient; I could be wrong there.

My guess would be that there's something to do at the level of #1 or #2. My hunch would be that if that will be limited to #2 only, then perhaps it could be implemented/fixed for 14.3-RELEASE. If however also fixes/adaptations in the kernel are needed (#1), that, in my view, would make things more difficult and likely be postponed for FreeBSD 15 with drm-66-kmod. The easiest way would be if this needs just a firmware update to work, fingers crossed ;)

___
* a companion utility for multimedia/libva-intel-media-driver is: multimedia/libva-utils
 
vgapci0@pci0:0:2:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x46d4 subvendor=0x0301 subdevice=0x02f3
FYI, there is a PR from February reporting missing PCI IDs of N150 and N250, which may prevent the video driver to attach to the device correctly. This is of interest to you, the patch includes the device ID of your machines iGPU (0x46D4 ).

You can wait for the patch to be accepted and committed, or, in the mean time, apply it yourself.

Bug 284778 graphics/drm-61-kmod: new Alder Lake-N PCI ID

Perhaps cross reference your PR to the above report and mark as "Duplicate". EDIT: After testing the patch, to make sure the device ID is the cause.
 
Bug 284778 graphics/drm-61-kmod: new Alder Lake-N PCI ID

Perhaps cross reference your PR to the above report and mark as "Duplicate". EDIT: After testing the patch, to make sure the device ID is the cause.

Patch works a treat.

Have marked my PR as duplicate.

n150.jpg
 
Back
Top