modesetting difference between 13.2-STABLE and 14.3-RELEASE?

Hello,

Q1. Is there a drop in hardware support specifically for Intel HD Graphics for the xorg driver modesetting between 13.2-STABLE and 14.3-RELEASE?

Q2. As an alternative option - is there any chance of getting hardware acceleration to work with xorg+xf86-video-intel for old hardware?


I dual boot a 10 year old Intel Pentium N3700 Braswell laptop with Intel HD gfx with one 13.2-STABLE and one 14.3-RELEASE.

For the 13.2-STABLE i run xorg+modesetting and here the modesetting enables glamorgl so I have hardware acceleration and all is fine.

For the 14.3-RELEASE it's a different story.

1. Modesetting fails on boot with white cursor top left and mouse pointer middle on a dark screen.
Snippet from /var/log/Xorg.0.log
[ 16.038] (==) modeset(0): DPI set to (96, 96)
[ 16.038] (II) Loading sub module "fb"
[ 16.038] (II) LoadModule: "fb"
[ 16.038] (II) Module "fb" already built-in
[ 16.047] (EE)
Fatal server error:
[ 16.048] (EE) Caught signal 6 (Abort trap). Server aborting

2a. As a second option I have also looked at xorg+xf86-video-intel and run glxgears without DRI (ie no hardware acceleration) cogwheels spin but I get many lines like below in output.

'-avx512pf' is not a recognized feature for this target (ignoring feature)
'-avx512er' is not a recognized feature for this target (ignoring feature)

2b. If I run xorg+xf86-video-intel but with DRI set to 3 glxgears SIGABRTs.

glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
fish: Job 1, 'glxgears' terminated by signal SIGABRT (Abort)

/grandpa
 
Is there a reason for using the legacy x11-drivers/xf86-video-intel instead of graphics/drm-61-kmod?

Hi Beastie, thanks for replying :)

I came by way of drm-61-kmod - startx gives dark screen with white cursor up left and mousepointer.

Snippet from Xorg.0.log for drm-61-kmod:

[ 18.554] (==) modeset(0): DPI set to (96, 96)
[ 18.554] (II) Loading sub module "fb"
[ 18.554] (II) LoadModule: "fb"
[ 18.555] (II) Module "fb" already built-in
[ 18.555] (II) UnloadModule: "scfb"
[ 18.555] (II) Unloading scfb
[ 18.555] (II) UnloadModule: "vesa"
[ 18.555] (II) Unloading vesa
[ 18.565] (EE)
Fatal server error:
[ 18.565] (EE) Caught signal 6 (Abort trap). Server aborting

After drm-61-kmod I tried drm-515-kmod with exactly same result as for drm-61-kmod.

[ 15.783] (==) modeset(0): DPI set to (96, 96)
[ 15.783] (II) Loading sub module "fb"
[ 15.783] (II) LoadModule: "fb"
[ 15.783] (II) Module "fb" already built-in
[ 15.783] (II) UnloadModule: "scfb"
[ 15.783] (II) Unloading scfb
[ 15.784] (II) UnloadModule: "vesa"
[ 15.784] (II) Unloading vesa
[ 15.792] (EE)
Fatal server error:
[ 15.792] (EE) Caught signal 6 (Abort trap). Server aborting

/grandpa
 

First of all a sidenote - Thank you again SirDice for keeping fs-uae alive in the ports tree. And also I think you did the same for Mame at some point - thank you for that also!


Following SirDice hint leads to this thread https://forums.freebsd.org/threads/how-to-tell-which-xorg-video-driver-is-in-use.85014/

And these commands for FreeBSD 14.3:

pkg install drm_info

drm_info | grep "Driver\|Device"
drmModeGetPropertyBlob: No such file or directory
drmModeGetPropertyBlob: No such file or directory
drmModeGetPropertyBlob: No such file or directory
drmModeGetPropertyBlob: No such file or directory
drmModeGetPropertyBlob: No such file or directory
├───Driver: i915 (Intel Graphics) version 1.6.0 (20201103)
├───Device: PCI 8086:22b1 Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller


And here's the output from drm_info for FreeBSD 13.2

drm_info | grep "Driver\|Device"
├───Driver: i915 (Intel Graphics) version 1.6.0 (20200917)
├───Device: PCI 8086:22b1 Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller


It looks like the driver i915 (Intel Graphics) version 1.6.0 (20201103) is missing drmModeGetPropertyBlob:?

/grandpa
 
Thank you again SirDice for keeping fs-uae alive in the ports tree.
Thanks. Need to update it though. But things changed with the latest version and I may need to redo the entire port from scratch. Haven't had the time for that yet.
 
Are there any .conf file in /etc/X11 or /usr/local/etc/X11/xorg.conf.d/?

If yes, have you tried running Xorg without it?

Yes - I posted the output in #4 above. Xorg defaults to modesetting driver and the dark screen with cursor and pointer is visible while the Xorg.0.log file shows signal 6 abort trap.

/grandpa
 
Does $ kldstat show the driver is running?

Using the legacy x11-drivers/xf86-video-intel, try this configuration, if you haven't already:
/usr/local/etc/X11/xorg.conf.d/20-intel.conf:
Code:
Section "Device"
    Identifier "Intel Graphics"
    Driver     "intel"
    Option     "AccelMethod" "sna"
EndSection
Also switch to uxa instead of sna and try again.

And a shot in the dark: uninstall Xorg altogether and try x11/xlibre instead. Then try with the above conf file permutations and without it at all.

Failing all that, maybe report a regression. Of course, this is old hardware and fixing it may unfortunately not be very high on their priority list.
 
Does $ kldstat show the driver is running?

Using the legacy x11-drivers/xf86-video-intel, try this configuration, if you haven't already:
/usr/local/etc/X11/xorg.conf.d/20-intel.conf:
Code:
Section "Device"
    Identifier "Intel Graphics"
    Driver     "intel"
    Option     "AccelMethod" "sna"
EndSection
Also switch to uxa instead of sna and try again.

And a shot in the dark: uninstall Xorg altogether and try x11/xlibre instead. Then try with the above conf file permutations and without it at all.

Failing all that, maybe report a regression. Of course, this is old hardware and fixing it may unfortunately not be very high on their priority list.
Hi Beastie and thanks for the input!

Yes, kldstat has it running.​

SNA gives a garbled screen.​
I have tried uxa, sna and xaa with same result. I have also tried to define Screen and Monitor properties in the conf to no avail, following a modeprint thought.​
And yes, I tried Xlibre and that behaves identical to xorg. You don’t need to uninstall xorg first - the xlibre installation takes care of the xorg uninstall and vice versa.​
By report a regression you mean Bugzilla?​
Yes, this is old hardware and it’s not only old, it’s absolutely horrendous. But then again this is FreeBSD. It’s the operating system that runs on almost anything :)

/grandpa
 
SNA gives a garbled screen.
I have tried uxa, sna and xaa with same result.
Perhaps add the TearFree option?
Code:
Section "Device"
    Identifier "Intel Graphics"
    Driver     "intel"
    Option     "AccelMethod" "sna"
    Option     "TearFree" "true"
EndSection

You don’t need to uninstall xorg first - the xlibre installation takes care of the xorg uninstall and vice versa.
That's usually the case... except when it's not ;)
And in addition to Xorg, I'd add the graphics drivers themselves (xf86-video-intel/drm-*), just to be sure.

By report a regression you mean Bugzilla?
Yes.

But then again this is FreeBSD. It’s the operating system that runs on almost anything :)
Unfortunately, resources are finite, and when it comes to things like Xorg and graphics drivers, FreeBSD relies almost entirely on third-party sources such as the Linux ecosystem and often suffers from their decisions to drop this or that system, chipset, or piece of software.
 
Perhaps add the TearFree option?
Code:
Section "Device"
    Identifier "Intel Graphics"
    Driver     "intel"
    Option     "AccelMethod" "sna"
    Option     "TearFree" "true"
EndSection


That's usually the case... except when it's not ;)
And in addition to Xorg, I'd add the graphics drivers themselves (xf86-video-intel/drm-*), just to be sure.


Yes.


Unfortunately, resources are finite, and when it comes to things like Xorg and graphics drivers, FreeBSD relies almost entirely on third-party sources such as the Linux ecosystem and often suffers from their decisions to drop this or that system, chipset, or piece of software.
Yes, I tried the Tearfree to no avail.

I tried rebuilding GENERIC kernel and after booting that rebuilding gpu-firmware, drm-61 and drm-kmod also to no avail.

On a sidenote I came to the conclusion that the output from drm_info is can not be trusted. This is based on drm_info saying the driver on 13 was 20200917 and the driver on 14 was 20201103. I looked at the source code for those on cgit and when comparing that to the source code in the tarball for the drm (515 and 61) and noticed they're not the same.

Back to the modesetting. All these drivers give the same result. Doesn't matter if it's drm-515, drm-61 with or without the xf86-video driver. Even the scfb driver throws the avx512 and drmBlobs. This makes me think that the common denominator is xorg-server itself or some part of it.

For 13 the xorg-server is 21.1.11 and for 14 it's 21.1.20 and I am now thinking that the topic of this thread should be "Difference between xorg 21.1.11 and 21.1.20 that affects Intel HD Graphics with modesetting and glamorgl".

Edit. I tried a small hack. I copied the modesetting_drv.so from 13.2 to /usr/local/lib/xorg/modules/drivers/ on the 14.3 and booted and got the same result as with the modesetting from 14. Xorg.0.log looks exactly the same.

This indicates something else higher up in the chain.


/grandpa
 
Back
Top