Xserver Error loading intel_drv.so undefined symbol:I810InitMC
ahsan at vivaldi.net
ahsan at vivaldi.net
Mon Aug 1 13:43:09 UTC 2022
Hi Ken,
Thanks for your feedback. Please see my comments inline below.
> > > From: Ken Moffat <zarniwhoop at ntlworld.com>
> > > To: xorg at lists.x.org
> > > Subject: Re: Xserver Error loading intel_drv.so undefined
> > >
> > > symbol:I810InitMC
> > >
> > > Message-ID: <YuGk2inKZGc/w484 at llamedos.localdomain>
> > > Content-Type: text/plain; charset=utf-8
> > >
> > > On Wed, Jul 27, 2022 at 08:47:58PM +0200, Ahsan wrote:
> > > > Hello,
> > >
> > > Hi Ahsan,
> > >
> > > I doubt I can help directly, but a few comments (so, I'm snipping a
> > > lot of your details)
> > >
> > > TLDR: Do you really need the intel driver ?
> >
> > No, there is no hard requirement for this, unfortunately, this error stops
> > loading the intel driver module properly hence a target machine ends up
> > with incorrect resolution. The idea is to avoid this error so that
> > loading of intel module (for Intel HD 630) works fine.
>
> A quick google suggests HD630 is a Kaby Lake, so fairly recent. At
> one time I think there was a linux kernel config option to enable
> newer intel video chipsets, but I can't find any details and I
> expect that option is long gone.
>
> Looking at gentoo, Skylake and later need video firmware
> (i915/skl_dmc_ver1_27.bin on my Skylake) but I guess if that was
> missing you would not get any video output from X.
>
i915/skl_dm_ver1_27.bin is present and appears to build as part of linux-
firmware BR package.
> When you say "incorrect resolution", what results and what should it
> be ? I seem to recall that in some odd cases peopel have had to
> override the EDID to get proper resolution, but I've never needed
> that and don't know where to look.
>
The expected resolution was 1080x1920 (yes, it's the other way around) and the
detected resolution was 800x1280. Modesetting detects the latter.
> > In a previous version of BR, the combination of intel drivers and xorg
> > 1.20.10
> > works fine, however, in a new BR release, the combination is broken and
> > I end up with the error above. So far, I've found that the intel video
> > driver version is same for both xorg 1.20.xx and 1.21.2 (or 21.1.2).
> > I'm trying to pinpoint what's been changed in 21.1.x that causes
> > i810InitMC
> > error but so far I've had no luck.
>
> [...]
>
> > I tried --enable-kms-only(the other flag is already enabled) but no luck.
> > Could you please point me to the repo link. The last version on xorg's
> > website (https://xorg.freedesktop.org/releases/individual/driver/)
> > seems to be 2.99.917. Perhaps, I'm looking at an old link?
>
> I don't have a link. Someone took a snapshot, presumably on
> 20210222 or for a commit from that date, then tarred it up.
> Unfortunately, not everyone in BLFS thinks it is important to put
> those sort of details in a snapshot.
>
> Cloning https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel
> the last commit was on 20210115 so I guess that soemone noticed that
> was an important commit 'sna: Always validate userptr upon creation'
> and cloned it.
>
> Given what Felix said about i810, I find it odd that anything in the
> recent video stack references it. Oh, I see it is in
> src/legacy/i810/.
>
> Using the following autogen options:
>
> ./autogen.sh --prefix=/usr \
> --sysconfdir=/etc \
> --localstatedir=/var \
> --enable-kms-only \
> --enable-uxa \
> --mandir=/usr/share/man
>
> reports at the end:
>
> xf86-video-intel 2.99.917 will be compiled with:
> Xorg Video ABI version: 25.2 (xorg-server-21.1.3)
> pixman version: pixman-1-0.40.0
> Acceleration backends: none *sna uxa
> Additional debugging support? none
> Support for Kernel Mode Setting? yes
> Support for legacy User Mode Setting (for i810)? no
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Support for Direct Rendering Infrastructure: *DRI2 DRI3 Present
> Support for Xv motion compensation (XvMC and libXvMC): yes
> Support for display hotplug notifications (udev): yes
> Build additional tools and utilities? xf86-video-intel-backlight-helper
> intel-virtual-output
>
> Running make appears to NOT build anything in i810.
>
> Does your build compile anything in src/legacy/i810 ? If it does,
> try to disable that. If it doesn't, maybe something else in the
> X stack has been compiled against an older version.
>
Yes, you are spot on. This is exactly the problem I was facing. The build was
compiling the legacy support in src/legacy/i810 and utilmately, when booting,
Xorg refused to load the intel module complaining undefined symbol i810initMC.
> Looking at the configure script, the following mention i810:
>
> --enable-xaa Enable legacy X Acceleration Architecture (XAA)
> for i810 chipsets [default=auto]
> --enable-dga Enable legacy Direct Graphics Access (DGA) for
> i810 chipsets [default=auto]
>
> So I think it only gets enabled if you force one of those (but
> it tests for xaa.h and dgaproc.h, perhaps you have one of those).
> It should be possible to disable both of those (or --enable-???=no
> in some cases). But I cannot see my build even looking for either
> of those.
>
They both were disabled in my case. I had the following conf options:
--disable-xvmc
--enable-sna
--disable-xaa
--disable-gda
--disable-async-swap
In the end, the option that solved my problem was --disable-ums. Upon going
through the config script, I realized that --enable-kms-only automatically
disables ums, however for some odd reasons (or perhaps an odd combination of
config switches on my part) this didn't happen. Adding --disable-ums in the
above conf options got the job done and src/legacy/i810 wasn't built anymore.
Consequently, intel video driver module was loaded correctly.
> ?en
>
> > Given what Felix said about i810, I find it odd that anything in the
> > recent video stack references it. Oh, I see it is in
> > src/legacy/i810/.
> >
> > Using the following autogen options:
> >
> > ./autogen.sh --prefix=/usr \
> >
> > --sysconfdir=/etc \
> > --localstatedir=/var \
> >
> > --enable-kms-only \
> >
> > --enable-uxa \
> > --mandir=/usr/share/man
> >
> > reports at the end:
> >
> > xf86-video-intel 2.99.917 will be compiled with:
> > Xorg Video ABI version: 25.2 (xorg-server-21.1.3)
> > pixman version: pixman-1-0.40.0
> > Acceleration backends: none *sna uxa
> > Additional debugging support? none
> > Support for Kernel Mode Setting? yes
> > Support for legacy User Mode Setting (for i810)? no
> >
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > Support for Direct Rendering Infrastructure: *DRI2 DRI3 Present
> > Support for Xv motion compensation (XvMC and libXvMC): yes
> > Support for display hotplug notifications (udev): yes
> > Build additional tools and utilities? xf86-video-intel-backlight-helper
> > intel-virtual-output>
> > Running make appears to NOT build anything in i810.
Thanks, this is really helpful. I have had yet to compile the intel video
driver with xorg server 21.x.x series. So far, I tried with 1.20.14 and with
--disable-ums it seems to work fine. I'll definitely try it next week once I'm
back after vacation.
Thank you for your help and support, really appreciated.
--
--
Thanks,
Muhammad A.
More information about the xorg
mailing list