[Pkg-fglrx-devel] [RFC] multiarch support for fglrx-driver
Andreas Beckmann
debian at abeckmann.de
Tue Aug 9 14:36:52 UTC 2011
On 2011-08-06 21:30, Michael Gilbert wrote:
> Andreas Beckmann wrote:
>
>> Hi,
>>
>> I'm working on multiarch patches for fglrx-driver. this will require
>> some package splitting to move the libraries into some separate packages
>> that can be Multi-Arch: same.
>
> Cool!
OK, first trial of multiarch enabled packages ins in SVN: branches/multiarch
It would be nice if someone could actually test them (run X with them,
use 3D, ...), that I can't do easily.
I'll do some upgrade testing with piuparts later on.
>> fglrx-glx will be renamed to libgl1-fglrx-glx (to be in line with
>> libgl1-mesa-glx and libgl1-nvidia-glx), the old name will become a
>> transitional package
>
> Seems ok to me, but I would prefer for Patrick to make the decision on
> this.
That rename is included in svn, but not mandatory.
>> from fglrx-driver a libfglrx package will be split that contains the
>> libraries (or should that even better be a separate package for each
>> library or at least some of them?) a better name than libfglrx would be
>> welcome.
>
> fglrx-common? What does the nvidia package call this? Why does it
> have to be split?
I had started to use 'nvidia-common' for some utility packages (in
contrib), but soon discovered that Ubuntu has nvidia-common that does
something completely different. These things are now in nvidia-support.
Anyway foobar-common is not a good package name for libraries.
library-wise there is libgl1-nvidia-glx (libGL.so.1, libnvidia-cfg.so.1,
libnvidia-glcore.so.$VERSION, libnvidia-tls.so.$VERSION) for some
libraries that are tightly bundled together, and some more library
packages for a single library each that are mainly independent:
libcuda1, libnvidia-compiler, libnvidia-ml1. Luckily nvidia does not
require X for doing GPGPU stuff, so this splitting could seriously
reduce the package footprint when doing GPGPU only.
I don't know enough about the dependencies between the fglrx libs to
suggest further splitting ... there should be a benefit (i.e. a split
out package is useful on its own and reduces size (and dependencies)
significantly).
>> from fglrx-driver an xserver-xorg-video-fglrx package will be split that
>> contains the xorg modules
>
> Why is this split needed?
Not really needed (not yet in svn), but use a "common" name so the
package can be more easily found when looking for xserver-xorg-video-*
> So, I guess my question is what about multiarch makes it so that
> fglrx-driver itself can't continue to contain everything?
There are file collisions between fglrx-driver:i386 and
fglrx-driver:amd64, so the libs have to be split out.
The idea is that libfglrx:i386 and libgl1:amd64 can be installed at the
same time without having conflicts, while only one (reduced) variant of
fglrx-driver (:native) can be installed along with them.
>> fglrx-driver will have versioned depends on these 2 new packages
>>
>> is there anything else that should be separated from the fglrx-driver
>> package? e.g. fglrx-utils, libamdxvba-dev, ...
>
> I'm not sure this is worth the trouble. The fewer number of packages,
> the better; in my opinion.
Not in my opinion, I like to cut things small :-)
xvba-video currently has a (indirect) Build-Depends: xserver-xorg-core
which is not nice IMHO (nor useful). Therefore I split out libxvbaw-dev,
too :-)
>> There are currently static libraries included in the package. Are they
>> needed for anything useful? Shared libs are available, too.
>
> I think we're only including shared libs in the binary packages right
> now (except for dkms-modulse which needs a static lib at build time).
> Personally, I don't think the static libs need to be included.
already removed in 11-7-4
Another change I made is to split libfglrx-ia32 from fglrx-glx-ia32,
leaving only libGL.so.1 there. Then I added all missing libs that are
also in libfglrx. While this adds a new -ia32 package that soon will be
obsoleted (but not yet, dpkg in Debian is not yet multiarch enabled), it
will allow me to do some OpenCL testing (with 32-bit apps on amd64) -
libatical*.so are needed for this (and I don't know what other libs).
Andreas
More information about the Pkg-fglrx-devel
mailing list