Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Mar 2012 20:49:31 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        Baptiste Daroussin <bapt@freebsd.org>, Ade Lovett <ade@freebsd.org>, freebsd-ports@freebsd.org
Subject:   Re: Fix nvidia-like ports, help needed
Message-ID:  <20120302184931.GM75778@deviant.kiev.zoral.com.ua>
In-Reply-To: <4F51133C.7030902@FreeBSD.org>
References:  <d0ee88b5486535475f0c1c4bf5ecea55@etoilebsd.net> <20294.39398.620930.217619@gromit.timing.com> <20120223211406.GA14803@azathoth.lan> <4F46D751.2090100@FreeBSD.org> <20120228211513.GD99283@azathoth.lan> <4F4D44F0.9060901@FreeBSD.org> <20120228223656.GF99283@azathoth.lan> <4F509414.3070605@FreeBSD.org> <20120302094710.GD75778@deviant.kiev.zoral.com.ua> <4F51133C.7030902@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--8c07nsHwQobhlezh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 02, 2012 at 10:36:44AM -0800, Doug Barton wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>=20
> On 03/02/2012 01:47, Konstantin Belousov wrote:
> > On Fri, Mar 02, 2012 at 01:34:12AM -0800, Doug Barton wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA256
> >>
> >> On 02/28/2012 14:36, Baptiste Daroussin wrote:
> >>> On Tue, Feb 28, 2012 at 01:19:44PM -0800, Doug Barton wrote:
> >>>> On 2/28/2012 1:15 PM, Baptiste Daroussin wrote:
> >>>>> Here is a patch to add support for includedir keyword to
> >>>>> libmap.conf so that we
> >>>>
> >>>> I think this is overly complicated, and not generally useful. It
> >>>> also delays the utility of the solution until this gets into the
> >>>> base.
> >>>>
> >>>> What I would do instead is to incorporate an nvidia option into
> >>>> the xorg meta-port, and separate the GL libs into a separate
> >>>> port. If the nvidia option is checked the GL libs come from an
> >>>> nvidia slave port. If not, they come from an xorg-server slave
> >>>> port.
> >>>>
> >>>> Or, we just keep doing what we're doing now, since it works. I'm
> >>>> still not sure what problem we're trying to solve. :)
> >>>>
> >>>>
> >>>> Doug
> >>>
> >>> the problem we are trying to solve is to avoid having the nvidia
> >>> drivers overwritting libGL.so.1 which break the package database
> >>> consistency.
> >>
> >> In that case the solution I outlined above would work, and it's hard
> >> for me to see why it wouldn't be the best solution.
> >
> > There are hybrid machines which have both Intel and NVidia GPUs.
> > Depending on a switch position, you may activate one of the GPU.
> > Usually, on-CPU GPU gives power efficiency, while discrete one provdes
> > a performance.
> >=20
> > For such machines, it is _very_ useful to have both libGL.so.1 installed
> > and somehow switched around. It would be best to have Mesa and NVidia
> > libGL.so.1 installed under other names, like libGL-mesa.so.1. and
> > ligGL-nvidia.so.1, and provide a symlink for libGL.so.1
> >=20
> > BTW, besides libGL.so.1, another conflicting file is
> > /usr/local/lib/xorg/modules/extensions/libglx.so.
>=20
> For us to support that would actually require a script of some sort, but
> it's not impossible. If the switch you're referring to provides a devd
> event it could even be automated, although (AFAIK) you'd have to restart
> X. I'm not opposed to what you're proposing, install both libs and
> symlink one or the other ... but that situation is still most easily
> handled by having the GL components of both xorg-server and
> nvidia-driver being split out into separate slave ports.

Well, the switch only works sometime, and for FreeBSD, you need to
reboot the OS (basically, BIOS shall reprogram the video commutator and
activate/deactivate PCI devices). Linux does have some alpha-stage support
for switching GPUs on fly, but you are required to use the Nouveau.
NVidia optimus (the newest variation of the dual-GPU systems) does
not have commutator, and video signal is generated by on-CPU GPU always.

I think that packaging libGL.so variants into separate packages from the
nvidia driver/mesa has nothing to do with names/symlink issue.

And yes, I use a script that checks PCI devices on boot and symlinks
libGL.so.1 and libglx.so to appropriate implementations. The only trouble
right now is that reinstall of libGL or nvidia driver ports requires
manual fixing of the .so.

--8c07nsHwQobhlezh
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk9RFjsACgkQC3+MBN1Mb4jyigCgz4KCd/inXvPfuA1LyLEoVz7+
M0QAoN10u3OM5HKyjjupJkPQ5Cf1Bce0
=zcNC
-----END PGP SIGNATURE-----

--8c07nsHwQobhlezh--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120302184931.GM75778>