Solved Error `(EE) no screens found (EE)` on intel and vesa xorg drivers

So somehow the i915_kbl_dmc_ver1_04_bin.ko lives there beside i915kms.ko, and gets selected my modesetting? I uncommented the lines in /usr/local/etc/X11/xorg.conf.d/driver-intel.conf I showed earlier (and modesetting is used??), X seems to load faster (somehow it was really slow when having specified intel there before -- legacy code ??) Wow, this was confusing. Thanks for the help all of you kind souls out there :D

The kernel driver have now sucessfully loaded your GPU, i guess that drm2.ko have somehow made trouble. Modesetting doesnt do anything related to that. If you don't have any other problems you can stay on modesetting. The intel xorg driver should now work aswell then.
 
sysrc kld_list+=" /boot/modules/i915kms.ko" (note the space) will write that into rc.conf(5) to make it permanent. Only the OP can set the thread to solved... (search or ask the others, I´m not @homw now)
 
As far as I know only the NVIDIA binary blob driver needs to be explicitly specified in xorg.conf (or it defaults to the nv driver).
And then it usually fails, because the nv driver (eg x11-drivers/xf86-video-nv) only supports very old cards.
Actually, that driver and the oldest packaged nvidia driver (nvidia-driver-304) overlap in their set of supported cards, so the -nv driver can be used as last fallback if no packaged proprietary driver is being found.

Ok, so after adding kld_list="/boot/modules/i915kms.ko" to /etc/rc.conf my kldstat looks like this:

Id Refs Address Size Name
<snip>
11 1 0xffffffff834c4000 241d i915_kbl_dmc_ver1_04_bin.ko
<snip>
[/QUOTE]
Very nice!
This seems to indicate that GPU Gen 9.5 is supported with the driver from [FILE]/boot/modules[/FILE], and maybe the saying that FreeBSD 12 supports only up to Gen. 8 GPUs is correct only when using the driver from [FILE]/boot/kernel[/FILE].
So I can update the compatibility matrix a bit more :)

[QUOTE="kpedersen, post: 502423, member: 5532"]
It really is about as clear as mud! [...]
I tend to forget and every ~6 months I have to work it all out again XD)
[/QUOTE]
This annoys me too, and this is what I am sick of.
It is imho not true that it is easy to install graphics on FreeBSD and you are a noob if it is not easy for you.

[QUOTE="Alexander88207, post: 502425, member: 58536"]
The kernel driver have now sucessfully loaded your GPU, i guess that drm2.ko have somehow made trouble. Modesetting doesnt do anything related to that. If you don't have any other problems you can stay on modesetting. The intel xorg driver should now work aswell then.
[/QUOTE]
I am not really sure about what the drm2 driver is for, especially in a context when drm-kmod is being used.
Maybe it's intended only for user switching mode?

[QUOTE="eternal_noob, post: 502454, member: 60816"]
You need to remove the [CMD]intel
driver or explicitely specify modesetting in a config file if you want to use modesetting.
If the intel driver is installed, X.Org prefers it over modesetting without a config file.
The drawback is, as Alexander88207 noted somewhere else, that you don't have options like "TearFree" without using the -intel driver.
 
Follow-up: Because modesetting broke somehow when I tried to set my displays to rotated direction (it's difficult to explain how, everything become slow somehow, and i3 was hard to exit) I ended up using the intel driver
root@iselin:/usr/home/rasmus # cat /usr/local/etc/X11/xorg.conf.d/driver-intel.conf
Section "Device"
Identifier "Card0"
Driver "intel"
Option "TearFree" "True"
Option "AccelMethod" "sna"
BusID "PCI:0:2:0"
EndSection

and sticking these two xrandr lines in ~/.xinitrc, to get rotated screens (I like that better):
xrandr --output DP-1 --auto --primary --left-of DP-2 --rotate left
xrandr --output DP-2 --auto --right-of DP-1 --rotate left


BUT! After creating 12.2-REL bectl
root@iselin /usr/home/rasmus # bectl list
BE Active Mountpoint Space Created
12.2-REL - - 1.95G 2021-03-27 16:00
default NR / 21.2G 2021-03-26 14:27
I tried to upgrade to stable/13 from source, since I could not find 13 available in freebsd-update (maybe from bsd.lv ...) and were eventually able to boot after single user after upgrading the feature flags of the root pool (might seem illogical, but it is what I did). It does not seem the module /boot/modules/i915kms.ko were upgraded because in dmesg I got this message:
KLD i915kms.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/modules/i915kms.ko - unsupported file type


To upgrade to 13 I just used a generic process from the handbook:
cd /root/src/stable
git clone -b stable/13 --depth 1 https://git.freebsd.org/src.git 13
cd /root/src/stable/13
make -j4 buildworld
make -j4 kernel
shutdown -r now
cd /root/src/stable/13
make installworld
mergemaster -Ui
shutdown -r now


I've also set this topic to solved, because it kind of is now, but I remain with broken modules there at 13 if I amd not able to revert back to 12.2 bectl ...
 
The KMS modules in /boot/modules are not from base, but ports(7)/packages. Beeing kernel modules, naturally they need to match the kernel API, which is different between 12 & 13. Thus these have to be upgraded either by building yourself or pkg upgrade. Now that you upgraded your ZFS pool features you likely won't be able to boot into 12.2-REL again...
 
Thank you rusma for following up and giving a detailed description, so it is reproducible.

What you describe really puts up the question, what does the driver in /boot/kernel support, and what does the driver in /boot/modules do?

At least in 12.2 there is an old i915kms.ko and drm-kmod.ko driver in /boot/kernel.
Some mentions I found hint at that that obsolete driver could be one that might be derived from Linux 3.8 or 4.1.
The /boot/modules directory only gets populated after you build a kernel from sources and some drivers from ports.

But I somehow doubt that it is intended behaviour that the user has to build a kernel and some ports manually, only to be able to use Intel or AMD/ATI graphics chips that are newer than ~3-5 years.
So I suppose that on 13, the correct way might be to use the driver in /boot/kernel.
But as I am still waiting for my AMD/ATI test cards delivery, which share a lot of the KMS headaches with Intel chips, I cannot verify that myself.

So I am considering to add more detailed information in the compatibility matrix thread, by providing separate columns regarding the compatibility of the drivers in /boot/kernel and /boot/modules for FreeBSD 12, maybe for 13, too.
This might help avoid confusion about the question whether in a given case it is necessary to build a new kernel and ports from source, only because the driver in /boot/kernel is too old to support your particular graphics chip.

So I would be very grateful if you could check out whether, now on 13, things will work if you use the modules in /boot/kernel.
 
Back
Top