From owner-freebsd-x11@FreeBSD.ORG Tue Jul 5 09:56:05 2011 Return-Path: Delivered-To: freebsd-x11@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57EAB106564A for ; Tue, 5 Jul 2011 09:56:05 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id CE62A8FC16 for ; Tue, 5 Jul 2011 09:56:04 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p659u0ZW080417 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 5 Jul 2011 12:56:00 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id p659u0Yc041419; Tue, 5 Jul 2011 12:56:00 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id p659u0n3041418; Tue, 5 Jul 2011 12:56:00 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 5 Jul 2011 12:56:00 +0300 From: Kostik Belousov To: bf1783@gmail.com Message-ID: <20110705095600.GE48734@deviant.kiev.zoral.com.ua> References: <4E0FCDD1.7050809@missouri.edu> <4E0FD8DC.20700@missouri.edu> <20110703114104.GK48734@deviant.kiev.zoral.com.ua> <20110703140400.GO48734@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2/WF4jK2yacEfzaN" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: "freebsd-x11@FreeBSD.org" , danfe@freebsd.org Subject: Re: x11/nvidia-driver incompatible with portmaster? X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jul 2011 09:56:05 -0000 --2/WF4jK2yacEfzaN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jul 05, 2011 at 05:58:53AM +0000, b. f. wrote: > On 7/3/11, Kostik Belousov wrote: > > On Sun, Jul 03, 2011 at 12:45:50PM +0000, b. f. wrote: > >> On 7/3/11, Kostik Belousov wrote: > >> > On Sun, Jul 03, 2011 at 03:54:15AM +0000, b. f. wrote: > >> >> On 7/3/11, Stephen Montgomery-Smith wrote: > >> >> > On 07/02/2011 09:02 PM, Stephen Montgomery-Smith wrote: > >> >> >> On 07/02/2011 08:39 PM, b. f. wrote: > >> ... > >> > > >> > That said, there is absolutely no need in any static linker tricks, > >> > esp. a heavy one like filters or linker scripts. A symlink named > ... > >> > >> > libGL.so would be enough for the static linker, pointing to any > >> > of two libraries. And symlink libGL.so.1 would be also enough > >> > for dynamic linker. > >> > > >> > The real issue with xorg-server, mesa and nvidia driver is only > >> > the overwrite of extensions/libglx.so and lib/libGL.so.1. If > >> > this can be somewhat solved by the packaging system, that would > >> > be great. On my hybrid laptop I have to manually manage the > >> > said symlinks (actually, with the rc script that verifies > >> > the list of pci devices and arranges the symlinks). > >> > >> So basically, you would prefer that we: > >> > >> patch xorg-server so that it installs, e.g., > >> ${PREFIX}/lib/xorg/modules/extensions/libglx-xorg.so.1 instead of > >> ${PREFIX}/lib/xorg/modules/extensions/libglx.so.1, and points the > >> symlink ${PREFIX}/lib/xorg/modules/extensions/libglx-xorg.so at the > >> former; > >> > >> patch libGL so that it installs, e.g., ${PREFIX}/lib/libGL-mesa.so.1 > >> instead of ${PREFIX}/lib/libGL.so.1, and points the symlink > >> ${PREFIX}/lib/libGL.so at the former; > >> > >> and patch nvidia-driver so that it installs, e.g., > >> ${PREFIX}/lib/xorg/modules/extensions/libglx-nvidia.so.1 instead of > >> ${PREFIX}/lib/xorg/modules/extensions/libglx.so.1, and > >> ${PREFIX}/lib/libGL-nvidia.so.1 instead of ${PREFIX}/lib/libGL.so.1; > >> and during installation it overwrites the > >> ${PREFIX}/lib/xorg/modules/extensions/libglx-xorg.so and > >> ${PREFIX}/lib/libGL.so symlinks, redirecting them to the corresponding > >> nvidia libraries; while during deinstallation it changes them to point > >> to the mesa/xorg libraries? > > Yes. > > > >> > >> And corresponding redirection to handle the libtool archive file? > > I do not think this is needed. First, I believe .la files are only > > installed by the Xorg ports. Second, as I described, libGL.so from > > Xorg and from NVidia should be replacable for the static linking > > purposes. Third, libglx.la is not used at all. > ... > > On Sun, Jul 03, 2011 at 01:33:09PM +0000, b. f. wrote: > >> On second thought the renaming of these libraries is not very > >> convenient, since they are built by nvidia, and not necessary if their > >> mesa/xorg counterparts already have different names. > > > > As I said, it is useful for me on the hybrid laptop, where a switch > > selects the GPU attached to the panel. The startup script then would > > only need to create proper symlink, instead of delicate renaming > > of the libraries. >=20 > Please consider the attached patch. Small unrelated clean-ups to > x11-servers/xorg-server and bsd.mesalib.mk are included with the > changes that remove the collisions, and add the necessary symlinks. > The renaming in the xorg-server post-install target is a bit ugly, but > much easier than dissecting the libtool build and installation of the > glx convenience library. I used sed rather than patches for some of > the changes in libGL and nvidia-driver because of the multiple > distfiles involved. >=20 I think that the policy in xorg and mesa ports should be to install symlinks if they are not present, instead of checking for the presence of nvidia driver. Also, the installation of libglx.so and post-factum renaming looks rude and could probably cause complications since original libglx.so symlink is removed, am I right ? --2/WF4jK2yacEfzaN Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk4S368ACgkQC3+MBN1Mb4iwNQCfRjV+vxwHJ/h+WPaLUdeHRn+q TAUAoJMpjJ8i844kTTCaT6cvmh8fZbSY =VsoI -----END PGP SIGNATURE----- --2/WF4jK2yacEfzaN--