NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: X on 10.0 RC1 is unusable on my laptop



On Wed 15 Nov 2023 at 18:36:10 +0100, tlaronde%kergis.com@localhost wrote:
> After disabling i915drmkms*, you could modload i915drm (the old
> module).

Ah, interesting idea! Unfortunately this leads to double definitions of
some symbols:

[     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
[     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
[     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[     1.000000]     The Regents of the University of California.  All rights reserved.

[     1.000000] NetBSD 10.0_RC1 (GENERIC) #0: Wed Nov  8 21:58:37 CET 2023
[     1.000000]         rhialto%vargaz.falu.nl@localhost:/home/rhialto/NetBSD-10/usr/src/sys/arch/amd64/compile/GENERIC
[     1.000000] total memory = 3998 MB 
[     1.000000] avail memory = 3841 MB
[     1.000000] kobj_checksyms, 1036: [i915drm]: linker error: global symbol `i915_enable_pipestat' redefined
[     1.000000] kobj_checksyms, 1036: [i915drm]: linker error: global symbol `i915_save_state' redefined 
[     1.000000] kobj_checksyms, 1036: [i915drm]: linker error: global symbol `i915_get_vblank_counter' redefined
[     1.000000] kobj_checksyms, 1036: [i915drm]: linker error: global symbol `i915_restore_state' redefined 
[     1.000000] kobj_checksyms, 1036: [i915drm]: linker error: global symbol `i915_disable_pipestat' redefined
[     1.000000] WARNING: module error: unable to load `i915drm' pushed by boot loader, error 8

so I built (tried, at least) a kernel without i915drmkms:

include "arch/amd64/conf/GENERIC"

no i915drmkms*
no radeon*
no nouveau*

i915drm*        at drm?         # Intel i915, i945 DRM driver

That resulted in both undefined and double defined symbols...
so I tried the more oldfashioned way of editing a copy of GENERIC and
removing stuff (like the above). Still the same kind of linking errors..

example of double definition:

/home/rhialto/NetBSD-10/usr/src/sys/arch/amd64/compile/GENERIC_NOKMS/../../../../external/bsd/drm2/drm/drm_agp_hook.c:140:
multiple definition of `drm_agp_init';
drm_agpsupport.o:/home/rhialto/NetBSD-10/usr/src/sys/arch/amd64/compile/GENERIC_NOKMS/../../../../external/bsd/drm/dist/bsd-core/drm_agpsupport.c:404:
first defined here

It looks like drm_agp_hook.c should not be included, but how do I find
out what pulls it in?

Further removing "genfb*" seemed helpful, after grepping a lot through
all files.* files, but that didn't do the trick.

Example of undefined symbol:

ld: i915_drv.o: in function `i915drm_detach':
/home/rhialto/NetBSD-10/usr/src/sys/arch/amd64/compile/GENERIC_NOKMS/../../../../external/bsd/drm/dist/bsd-core/i915_drv.c:212: undefined reference to `drm_detach'

I've been stripping down the kernel config more and more, but still the
same problems remain. "config -ddddddd" isn't too helpful, in the end;
it leaves out crucial information of "why is this thing included". It
seems like most of the output isn't even related to the actually
configured devices, but all of the possible ones, which makes it hard to
find the relevant parts.

> The interesting question being if the previous X11 "services" could be
> restored on a 10.0 kernel by disabling drmkms and using the legacy drm
> drivers...

well, not having a kernel yet, I'm giving up for the evening. Maybe
tomorrow I get some inspiration again.

Oh by the way, Driver "wsfb" works fine, so far as I can see, but
without accelleration, so unsuitable for VICE (which requires GL) or
watching video (requires GL or XV).

>         Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert                            <rhialto/at/falu.nl>
\X/ There is no AI. There is just someone else's work.           --I. Rose

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index