Framebuffer issues with ASUS Prime B560-Plus and iGPU without CSM on 12.3 & 13

Nemo1024

New Member


Messages: 17

I have been using FreeBSD since v9 for a ZFS-based home NAS, gradually upgrading the system to v12.2 on the same hardware.
The time has come to build a new system for the NAS and the choice fell on ASUS Prime B560-Plus motherboard (https://www.asus.com/Motherboards-Components/Motherboards/PRIME/PRIME-B560-PLUS/) and a i3-10100 CPU with iGPU graphics (no discreet video card) and 32GB of RAM.

I decided to do a complete fresh install using FreeBSD 13, but that attempt was cut short as it was not possible to boot from the installation media. the boot process would halt right after displaying the framebuffer information, as described in this thread: https://forums.freebsd.org/threads/...find-etc-hostid-cant-find-boot-entropy.82968/ I tried both FreeBSD-13.0-RELEASE-amd64-memstick.img and FreeBSD-13.0-STABLE-amd64-20211118-3a15ccadf87-248076-memstick.img with the same result.

Next I tried to launch my existing 12.2 system from the SSD. To my surprise, it booted, but the network interface was not present (only lo0). Booting from FreeBSD-12.2-RELEASE-amd64-memstick.img gave the same result. pciconf -lv shows several Intel devices as none, including (retyping from the screen manually on another computer):

none5@pci0:0:31:6: class 0x020000 card=0x86721043 chip=0x15fa8086 rev=0x11 hdr=0x00
vendor= 'Intel Corporation'
device = 'Ethernet Connection (14) I219-V'
class= network
subclass=ethernet

Other "none's" are three serial busses, a "simple comms" and "memory"

I thought that the upcoming 12.3 release would have a wider driver set for the newer hardware, so I tried booting from FreeBSD-12.3-RC2-amd64-memstick.img. This gave a different problem, similar to the one with v13: after the framebuffer info, the screen cleared and it looked like the system continued to boot but without displaying any text on the screen, only the cursor in the upper left corner, and some time later, a mouse pointer in the middle of the screen. 12.3-RC1 has the same issue.

(At this point I am ready to give up on FreeBSD and try installing Ubuntu with ZFS. Hopefully I would be able to import the existing pool, or, failing that, to rebuild it from backup.)
 
OP
N

Nemo1024

New Member


Messages: 17

Update:
I plugged in an NVidia GT710 that I had lying around and disabled iGPU. This also allowed me to enable the CSM (Compatibility Support Module) which was greyed out in the BIOS without a discreet video card.
This allowed me to boot 13.0-STABLE past the EFI framebuffer information screen. (With CSM disabled 13 still hangs after the framebuffer screen even with a discrete video card.)
On the upside, I could see the output of pciconf and confirm that v13 supports TigerLake, including the above-mentioned Ethernet device.
Now, what to do: install v13 using CSM (non-UEFI) mode with 80x25 text screen (I anyway do most of the management remotely through SSH after the initial install) or to try Ubuntu and see how it plays with ZFS? What is putting me off is the need to use a discreet video card for v13 to boot.
 

shkhln

Daemon

Reaction score: 991
Messages: 2,280

Are there any questions? "Should I try Ubuntu?" is not really a support level problem.
 
OP
N

Nemo1024

New Member


Messages: 17

Questions:
Has anyone else experienced said problems on the above-mentioned motheboard with the iGPU? Are there work-arounds in v13 (while still keeping to iGPU)? Maybe there is some BIOS/UEFI setting that I overlook?
Basically, my posts is a log of two evenings worth of trying to install FreeBSD 13 on a new build with investigations that might be helpful to the devs. I can do additional tests, if that would help.

PS: It seems the bug reported here is not entirely fixed: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209821
 
OP
N

Nemo1024

New Member


Messages: 17

For that I must have a discreet GPU installed on the system. With iGPU only, legacy boot is disabled in the BIOS. I described this situation in the second post. That GT710 which I used in the test will be used in another build, and I really don't want to buy another videocard just to be able to boot a headless server.
 

covacat

Aspiring Daemon

Reaction score: 324
Messages: 660

if you don't mind a frankensteined version pull if_em.ko from 12.2-STABLE and use it on 12.2-RELEASE
build a kernel without device em and use the module pulled from stable
it has a pretty good chance to work
 
OP
N

Nemo1024

New Member


Messages: 17

Did you mean a 12.3-STABLE - that's the only v12 that I can find in the snapshots? That would seem like an interesting approach to keep using 12.2 for a little while longer
I tried now booting into a 12.3-RC2 memstick image with CSM enabled on a discreet GPU and the network interface was recognised.

I am inclined to stick with FreeBSD for my ZFS needs :) If all else fails, I'll go for v13 with an NVidia GT710 GPU, CSM mode and 80x25 text resolution. It's a pity the framebuffer issue is present in both 13-RELEASE and 13-STABLE, and hopefully it will get fixed by 13.1
 

covacat

Aspiring Daemon

Reaction score: 324
Messages: 660

sorry, I meant 12-STABLE (stable has no minor version)
so on 12.2-RELEASE build a kernel without device em
use that kernel with the if_em.ko from 12-STABLE (maybe 12.3-RC) will do
 
OP
N

Nemo1024

New Member


Messages: 17

An update on what I ended up doing.

I installed the system from FreeBSD-13.0-STABLE-amd64-20211125-354988ca3f9-248228-memstick as 13.0-RELEASE does neither have support for the "Ethernet Connection (14) I219-V" adapter, and "frankenbuilding" 12.2/3 didn't feel appealing. The installation was done in CSM mode with a discrete NVidia card. After all was set up, I mounted the EFI partition and copied /boot/loader.efi to /EFI/BOOT/BOOTx64.efi there, thereby making the system bootable both in CSM and EFI modes.

After that I shut down the system and removed the NVidia card from it. Thus the next boot presented only the EFI boot option (remember, CSM is disabled by Intel in iGPU mode). After the FreeBSD boot screen, the system displayed the framebuffer information and froze all output to the screen, while silently continuing with the boot process. After a few second I could SSH into the system. That is actually the setup that I can live with - the server is going to be headless with SSH access. If I, for some reason, would need to see output on the screen in the future, I will have to re-insert a video card and re-enable CSM in the BIOS. But, hopefully, FreeBSD devs will solve this bug by 13.1.

Here are two screenshots (literally) of the boot process. The first one with the garbled screen is the output from NVidia card if I boot in EFI mode. The second, with the frozen framebuffer info is from booting into EFI without the NVidia adapter. In both cases, no messages output can be seen on the screen past this point.

One caveat with installing from 13.0-STABLE may be a future problem with doing a point upgrade to 13.1 using freebsd-update, but I'll cross that bridge when I come to it.
 

Attachments

  • NVidia_with_EFI.png
    NVidia_with_EFI.png
    896.5 KB · Views: 3
  • IGPU_with_EFI.png
    IGPU_with_EFI.png
    875 KB · Views: 3
Top