Gentoo Archives: gentoo-user

From: Stroller <stroller@××××××××××××××××××.uk>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] USE="mmx mmxext sse sse2 ssse3 3dnow 3dnowext"
Date: Wed, 27 May 2009 08:14:07
Message-Id: 208DD9E9-EDD3-4E85-A8DE-6B08B08EDCEA@stellar.eclipse.co.uk
In Reply to: Re: [gentoo-user] USE="mmx mmxext sse sse2 ssse3 3dnow 3dnowext" by Daniel Iliev
1 On 27 May 2009, at 01:47, Daniel Iliev wrote:
2 >>> Yes, just add "cpudetection" to those or put it in in make.conf.
3 >>
4 >> Apparently not!
5 >>
6 >> I rebuilt using that flag & received this message:
7 >>
8 >> * You've enabled the cpudetection flag. This feature is
9 >> * included mainly for people who want to use the same
10 >> * binary on another system with a different CPU architecture.
11 >> * MPlayer will already detect your CPU settings by default at
12 >> * buildtime; this flag is used for runtime detection.
13 >> * You won't need this turned on if you are only building
14 >> * mplayer for this system. Also, if your compile fails, try
15 >> * disabling this use flag.
16 >>
17 >> I think this speaks for itself.
18 >
19 > I can't see any problems here?
20 >
21 > The idea is to enable the "cpudetection" flag and all USE flags which
22 > correspond to one or another extended instruction set (EIS) and build
23 > mplayer with support for all EIS plus extra code for "*run-time* cpu
24 > detection". This way mplayer *could* use all EIS that are implemented
25 > in its code, but *will* detect which EIS are supported by your CPU and
26 > use only them. In other words the same binary will use different EIS
27 > on
28 > different CPUs.
29 >
30 > There could be problems if you had enabled all the EIS flags globally
31 > (in make.conf) instead only for mplayer, because other programs don't
32 > have the "run-time cpu detection" feature and will fail in their
33 > attempts to use for example 3dnow! on an Intel CPU.
34 >
35 > I hope I was clear enough, apologies for my Englush.
36
37 Hi there,
38
39 The thing is that run-time CPU detection is unnecessary, if you're
40 always going to be using this mplayer binary you've just built on the
41 same system. mplayer will be built correctly without this cpudetection
42 flag (just put all the USE flags corresponding to EIS instructions in
43 package.use as previously discussed, but without cpudetection).
44
45 If you upgrade your motherboard in the future, then the cpudetection
46 flag will ensure that mplayer immediately takes advantage of the new
47 CPU's full abilities, but that's not an everyday problem and it's no
48 problem to rebuild mplayer in this case.
49
50 Building with cpudetection will make a bigger mplayer binary, I think.
51 I don't think that will slow your system down significantly, but I
52 think it might take 1/2 a second longer to play your movie because
53 each run-time it needs to work out which extra code to use. Also extra
54 clutter in the terminal output, I think, if you're looking at that to
55 see why a movie stutters or fails to decode.
56
57 I'm not saying cpudetection is absolutely wrong, just it's
58 unnecessary. I personally find it a little inelegant.
59
60 I guess that "philosophically" I want my mplayer *built* so that it
61 runs optimally on my system every time. I don't want it to have to
62 work out for itself, every time it runs, which is the best way for it
63 to run. I'm not sure if that makes senes?
64
65 Your English is excellent.
66
67 Stroller.

Replies

Subject Author
Re: [gentoo-user] USE="mmx mmxext sse sse2 ssse3 3dnow 3dnowext" Daniel Iliev <daniel.iliev@×××××.com>