View previous topic :: View next topic |
Author |
Message |
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Fri Jan 17, 2020 9:12 pm Post subject: nvidia-drivers multilib abi_x86_32 |
|
|
nvidia-drivers has two flags - multilib and abi_x86_32, the first being set by multilib profile.
I am trying to understand what are there effect and what for do I need one or the other set ? Who uses 32 bit librariries from nvidia-drivers ? |
|
Back to top |
|
|
axl Veteran
Joined: 11 Oct 2002 Posts: 1144 Location: Romania
|
Posted: Fri Jan 17, 2020 9:32 pm Post subject: |
|
|
as far as i know, I keep my 32 bit libs because of wine.
if you want to be able to export WINEARCH="win32"... u need to.. abi_x86_32 enable wine.
and wine has multiple requirements going down the line. and I think nvidia is one of them. |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Fri Jan 17, 2020 9:54 pm Post subject: |
|
|
axl wrote: | as far as i know, I keep my 32 bit libs because of wine.
if you want to be able to export WINEARCH="win32"... u need to.. abi_x86_32 enable wine.
and wine has multiple requirements going down the line. and I think nvidia is one of them. |
OK, I am not using wine, so that's OK. Just trying to find what even set abi_x86_32 for nvidia for my installation
( I understand multilib comes from the profile ) |
|
Back to top |
|
|
axl Veteran
Joined: 11 Oct 2002 Posts: 1144 Location: Romania
|
Posted: Fri Jan 17, 2020 9:58 pm Post subject: |
|
|
dmpogo wrote: | axl wrote: | as far as i know, I keep my 32 bit libs because of wine.
if you want to be able to export WINEARCH="win32"... u need to.. abi_x86_32 enable wine.
and wine has multiple requirements going down the line. and I think nvidia is one of them. |
OK, I am not using wine, so that's OK. Just trying to find what even set abi_x86_32 for nvidia for my installation
( I understand multilib comes from the profile ) |
well. i think the multilib profile is 32/64 by default. not sure. anyone can correct me.
I also use multilib by default. but do
ABI_X86="64"
in make.conf. which forces everything down to be 64 only. except the stuff in /etc/portage/package.use/wine which is mostly just abi_x86_32 plus minus some vulkan nvidia things. |
|
Back to top |
|
|
axl Veteran
Joined: 11 Oct 2002 Posts: 1144 Location: Romania
|
Posted: Fri Jan 17, 2020 10:02 pm Post subject: |
|
|
let me put it another way. multilib is 32/64. that is the point.
except you get to choose which is what.
now in terms of why, sure... wine. but not much reason otherwise. at this point. i can't think of another reason. again... if i'm wrong, correct me. |
|
Back to top |
|
|
elsandosgrande Tux's lil' helper
Joined: 18 May 2019 Posts: 144 Location: Sarajevo 71000, Bosnia and Herzegovina
|
Posted: Sat Jan 18, 2020 1:09 am Post subject: |
|
|
Steam also requires some packages to be built as both 32 and 64-bit, like Mesa.
Another reason for having 32-bit enabled is so that you can run old Linux programs, like older versions of Firefox (I need the Java applet stuff, don't ask why). |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2727
|
Posted: Sat Jan 18, 2020 1:26 am Post subject: |
|
|
axl wrote: | now in terms of why, sure... wine. but not much reason otherwise. at this point. i can't think of another reason. again... if i'm wrong, correct me. | For the ones I use there's PCSX2 too, it literally can't be built for 64 bit as it is. Of course (much like windows stuff) there's many binary-only linux binaries/games that are 32bit-only as well.
Could be useful to reduce ram usage of an application too, although it'd probably make more sense to use a non-multilib 32bit profile when on a <4GB machine, sadly a reverse multilib profile doesn't exist by default (like 32bit main for all /bin/* but 64bit libraries also installed for when needed). |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21724
|
Posted: Sat Jan 18, 2020 1:38 am Post subject: |
|
|
dmpogo wrote: | OK, I am not using wine, so that's OK. Just trying to find what even set abi_x86_32 for nvidia for my installation | Start by checking your local Portage configuration in make.conf and package.use. axl wrote: | well. i think the multilib profile is 32/64 by default. not sure. anyone can correct me. | It does not. This is easily checked by inspecting emerge --info in a system which does not configure ABI_X86 in make.conf. |
|
Back to top |
|
|
axl Veteran
Joined: 11 Oct 2002 Posts: 1144 Location: Romania
|
Posted: Sat Jan 18, 2020 2:02 am Post subject: |
|
|
https://www.youtube.com/watch?v=pFdfhg2IP_0
I really really like phil collins at the 31:50 mark.
U can tell me how this is NOT what i think it is. it is exactly what i think it is.
but first... phil collins |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Sat Jan 18, 2020 6:37 am Post subject: |
|
|
Hu wrote: | dmpogo wrote: | OK, I am not using wine, so that's OK. Just trying to find what even set abi_x86_32 for nvidia for my installation | Start by checking your local Portage configuration in make.conf and package.use. |
That was of course done. There is nothing relevant there. I remember making myself a note once that USE='tools' for nvidia-drivers required 32-bit libraries, but I don't see any proof of that in ebuild,
and emerge is happy to compile USE='-abi_x86_32' emerge nvidia-drivers. |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Sat Jan 18, 2020 12:39 pm Post subject: |
|
|
The ABI flags come from the multilib eclass (and should be set appropriately if you plan to run 32-bit GL apps), but I'm not actually sure USE=multilib does anything in this ebuild. Maybe it's a leftover from the days of binary emul-linux-x86 packages. |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Sat Jan 18, 2020 5:39 pm Post subject: |
|
|
Ant P. wrote: | The ABI flags come from the multilib eclass (and should be set appropriately if you plan to run 32-bit GL apps), but I'm not actually sure USE=multilib does anything in this ebuild. Maybe it's a leftover from the days of binary emul-linux-x86 packages. |
Right, thanks ! So ABI flag is essentially used to push ABI requirements to the dependencies, while multilib is used to install 32-bit binary blobs from NVIDIA. And one use of USE=multilib in my older driver nvidia-driver-340 in RDEPEND
Code: |
X? (
<x11-base/xorg-server-1.20.99:=
>=x11-libs/libvdpau-0.3-r1
sys-libs/zlib[${MULTILIB_USEDEP}]
multilib? (
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
)
|
is essentially bogus (and confused me) and can be omitted. For new drivers (like nvidia-drivers-440) we have just
Code: |
X? (
<x11-base/xorg-server-1.20.99:=
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
>=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
|
which makes more sense to me |
|
Back to top |
|
|
|