Hi Ken, Thanks for your feedback. Please see my comments inline below.
> > > From: Ken Moffat <zarniwh...@ntlworld.com> > > > To: xorg@lists.x.org > > > Subject: Re: Xserver Error loading intel_drv.so undefined > > > > > > symbol:I810InitMC > > > > > > Message-ID: <YuGk2inKZGc/w484@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.