Mercurial > mplayer.hg
annotate DOCS/users_against_developers.html @ 5642:eb0cb6185e6c
osd: ok, now it's possible to do partial draw/clear of the buffer only if changed
author | arpi |
---|---|
date | Mon, 15 Apr 2002 22:08:50 +0000 |
parents | aae821975923 |
children | 6cc15e96d709 |
rev | line source |
---|---|
2867 | 1 <HTML> |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
2 |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
3 <HEAD> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
4 <STYLE> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
5 .text |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
6 {font-family : Verdana, Arial, Helvetica, sans-serif; |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
7 font-size : 14px;} |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
8 </STYLE> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
9 </HEAD> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
10 |
2867 | 11 <BODY BGCOLOR=white> |
12 | |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4511
diff
changeset
|
13 <FONT CLASS="text"> |
2867 | 14 |
15 <P><B><I>In medias res</I></B></P> | |
16 | |
17 <P>There are two major topic which always causes huge dispute and flame on the | |
18 <A HREF="http://www.MPlayerHQ.hu/cgi-bin/htsearch">mplayer-users</A> | |
19 mailing list. Number one is of course the topic of the</P> | |
20 | |
3937 | 21 <A NAME=gcc><P><B><I>GCC 2.96 series</I></B></P> |
2867 | 22 |
3053 | 23 <P><B>Also read <A HREF="gcc-2.96-3.0.html">this</A> text !!!</B></P> |
24 | |
2867 | 25 <P>The <I>background</I> : there were/are the GCC <B>2.95</B> series. The |
26 best of them was 2.95.3 . Please note the style of the version numbering. | |
27 This is how the GCC team numbers their compilers. The 2.95 series are good. | |
5117 | 28 We never ever saw anything that was miscompiled because of the 2.95.3's faultiness.</P> |
2867 | 29 |
30 <P>The <I>action</I> : <B>RedHat</B> started to include a GCC version of <B>2.96</B> | |
31 with their distributions. Note the version numbering. This should be the GCC | |
2910 | 32 team's versioning. They patched the CVS version of GCC (something between 2.95 and 3.0) |
2919 | 33 They patched it very deep, and used this version in the distrib because 3.0 |
34 wasn't out at time, and they wanted IA64 support ASAP (business reasons). | |
5117 | 35 Oh, and GCC 2.95 miscompiles bash on the s390 architecture...</P> |
2919 | 36 |
37 <P>The <I>facts</I> : <B>MPlayer</B>'s compile process needs the | |
38 <CODE>--disable-gcc-checking</CODE> to proceed upon detecting a GCC version of | |
39 2.96 (apparently it needs this option on <B>egcs</B> too. It's because we don't | |
40 test <B>MPlayer</B> on egcs. Pardon us, but we rather develop <B>MPlayer</B>). | |
41 If you know <B>MPlayer</B>, you should know that it has great speed. It | |
42 achieves this by having overoptimized MMX/SSE/3DNow/etc codes, fastmemcpy, and | |
43 lots of other features. <B>MPlayer</B> contained MMX/3DNow instructions in a | |
44 syntax that all Linux compilers accept it... except RedHat's GCC (it's more | |
45 standard compliant). It simply <B><I>skips</I></B> them. It doesn't give | |
2934 | 46 errors. It doesn't give warnings. <B>And</B>, there is Lame. With gcc 2.96, its quality check |
47 (<CODE>make test</CODE> after compiling) <I>doesn't even run !!!</I> | |
48 But hey, it compiles bash on s390 and IA64.</P> | |
2867 | 49 |
50 <P>The <I>statements</I> : most developers around the world begun having | |
51 bad feelings about RedHat's GCC 2.96 , and told their RedHat users to | |
52 compile with other compiler than 2.96 . RedHat users' disappointment slowly | |
2910 | 53 went into anger. What was all good |
2867 | 54 for, apart from giving headaches to developers, putting oil on anti-RedHat |
55 flame, confusing users? The answer, I do not know.</P> | |
56 | |
57 <P><I>Present age, present time</I> : RedHat says that GCC 2.96-85 and above | |
58 is fixed, and works properly. Note the versioning. They should have started | |
2910 | 59 with something like this. What about GCC 2.96.85 ? It doesn't matter now. |
60 I don't search, but I still see bugs with 2.96 . It doesn't matter now, | |
61 hopefully now <B>RedHat will forget about 2.96</B> and turn towards <B>3.0</B>. | |
62 Towards a deep patched 3.0... | |
63 </P> | |
2867 | 64 |
65 <P><I>What I don't understand</I> is why are we hated by RedHat users for | |
66 putting warning messages, and stay-away documents in <B>MPlayer</B> . | |
67 Why are we called "brain damaged", "total asshole", "childish" by | |
68 <B>RedHat users</B>, on our mailing list, and even on the <B>redhat-devel</B> . | |
69 They even considered forking <B>MPlayer</B> for themselves. RedHat users. | |
70 Why? It's RedHat that made the compiler, why do <U>you</U> have to hate us? | |
71 Are you <U>that</U> fellow RedHat worshippers? Please stop it. We don't hold | |
72 a grudge against users, doesn't matter how loud you advertise its contrary. | |
73 Please go flame Linus Torvalds, the DRI developers (oh, now I know why | |
74 there were laid off by VA!), the Wine, avifile. Even if we are arrogant, | |
75 are we not the same as the previously listed ones? Why do <B>we</B> have | |
76 to suffer from your unrightful wrath?</P> | |
77 | |
4511
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
78 <P><A HREF="mailto:willis_matthew@yahoo.com">Matt Willis</A> kindly submitted |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
79 a simple GCC-3.0.3 compiling howto, I'm copying it here:</P> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
80 |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
81 <P> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
82 <UL> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
83 <LI>Download gcc. Go to the <A |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
84 HREF="http://gcc.gnu.org/mirrors.html">http://gcc.gnu.org/mirrors.html</A> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
85 page. |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
86 I downloaded the following, but you don't need everything:<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
87 <CODE>gcc-g++-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
88 gcc-objc-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
89 gcc-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
90 gcc-g77-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
91 gcc-testsuite-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
92 gcc-core-3.0.3.tar.gz<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
93 gcc-java-3.0.3.tar.gz</CODE> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
94 </LI> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
95 |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
96 <LI>Unpack the files, make a build directory, and build<CODE><PRE> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
97 tar xvzf gcc-*3.0.3.tar.gz |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
98 mkdir gcc-build; cd gcc-build |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
99 ../gcc-3.0.3/configure --prefix=/opt --program-suffix=-3.0.3 |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
100 make bootstrap; mkdir -p /opt; make install</PRE></CODE> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
101 |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
102 <LI>Set your path to include /opt/bin<BR> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
103 <CODE>export PATH=/opt/bin:${PATH}</CODE> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
104 |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
105 <LI>Now you can build MPlayer.</LI> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
106 </UL> |
bca05e9c0810
gcc 3.0.3 compiling howto by Matt Willis <willis_matthew@yahoo.com>
gabucino
parents:
3997
diff
changeset
|
107 </P> |
2867 | 108 |
3937 | 109 <A NAME=binary><P><B><I>Binary distribution of MPlayer</I></B></P> |
2867 | 110 |
2919 | 111 <P>Tons of users asked us about this. For example Debian users tend to say: Oh, |
112 I can <CODE>apt-get install avifile</CODE>, why should I <B>compile MPlayer</B> ? | |
113 While this may sound reasonable, the problem lies a bit deeper than | |
2930 | 114 those-fuckin-MPlayer-developers-hate-gcc-2.96-and-RedHat-and-Debian.</P> |
115 | |
116 <P>Reasons: <B>Law</B></P> | |
117 | |
118 <P><B>MPlayer</B> describes the <U>sourcecode</U>. It contains several files with incompatible | |
119 licenses especially on the redistribution clauses. As source files, they are | |
120 allowed to coexist in a same project.</P> | |
121 | |
122 <P>Therefore, <U>NEITHER BINARIES NOR BINARY PACKAGES OF <B>MPlayer</B> ARE ALLOWED TO EXIST SINCE | |
123 SUCH OBJECTS BREAK LICENSES</U>. PEOPLE WHO DISTRIBUTE SUCH BINARY PACKAGES ARE | |
124 DOING ILLEGAL ACTIVITIES.</P> | |
125 | |
126 <P>So if you know somebody who maintains a binary package then forward her/him | |
127 this text and (ask him to) contact us. What (s)he is doing is illegal and IT IS | |
128 NO LONGER <B>MPlayer</B>, but <U>his/her</U> mplayer. If it breaks, it is | |
129 his/her fault. Don't come and cry on the <B>MPlayer</B> mailing lists, you will | |
130 most likely be blacklisted.</P> | |
131 | |
132 <P>Reasons: <B>Technical</B></P> | |
133 | |
134 <P> | |
2919 | 135 <UL> |
136 <LI><B>MPlayer's</B> speed (MMX, SSE, fastmemcpy, etc) optimizations are | |
137 determined during compilation. Thus a compiled binary contains very | |
138 processor-specific code. An <B>MPlayer</B> binary compiled for K6 will die | |
139 on Pentiums and vice versa. This has to be workarounded by runtime | |
140 detection, which is not an easy thing to do becase it causes massive speed | |
141 decrease. If you don't believe (it was explained in details 10000 times on | |
142 mplayer-users, search the archive), solve it and send us a patch. Someone | |
143 begun work on it, but disappeared since then.</LI> | |
144 <LI><B>MPlayer's</B> video/audio system is not plugin based. It is compiled | |
145 into the binary, thus making the binary depend on various libraries (the | |
146 GUI depends on GTK, DivX4 depends on libdivxdecore, SDL depends on libSDL, | |
147 every SDL release contains an unique bug that has to be workarounded during | |
148 compiletime, X11 output compiles differently for X3 and X4, etc). You may | |
149 say: yes, let's make 30 versions of downloadable binaries! We won't. We | |
150 will make these stuff pluggable in the future.</LI> | |
151 </UL> | |
2867 | 152 |
5117 | 153 <P>We will (at least we wish) solve 2 of these problems in the next major release: |
154 the legal problems (we're on removing all non-GPL codes and getting others to | |
155 change license to GPL) and the runtime CPU detection. Anyway, dependency on | |
156 various libraries, versions and environment parameters will remain.</P> | |
157 | |
158 | |
3937 | 159 <A NAME=nvidia><P><B><I>NVidia</I></B></P> |
3936 | 160 |
161 <P>We don't like nvidia's binary drives, their quality, unstability, | |
162 non-existant user support, always appearing new bugs. And most users behave | |
163 the same. We've been contacted by NVidia lately, and they said these bugs | |
164 don't exist, unstability is caused by bad AGP chips, and they received | |
165 no reports of driver bugs (the purple line, for example). So: if you have | |
166 problem with your NVidia, update the nvidia driver and/or buy a new | |
167 motherboard.</P> | |
168 | |
3937 | 169 <A NAME=kotsog><P><B><I>Joe Barr</I></B></P> |
3936 | 170 |
171 <P>He doesn't reply to our mails. His editor doesn't reply to our mails. | |
172 The net is full with his false statements and accusitions (he apparently | |
173 doesn't like for example the BSD guys, because of their different viewpoints | |
174 [about what?]).</P> | |
175 | |
176 <P>Now some quotes from different people about Joe Barr (just for you | |
177 understand why doesn't he matter at all):</P> | |
178 | |
179 <P><I>"You may all remember the LinuxWorld 2000, when he claimed that Linus T said | |
180 that 'FreeBSD is just a handful of programmers'. Linus said NOTHING of the | |
181 sort. When Joe was called on this, his reaction was to call BSD supporters | |
182 assholes and jerks."</I></P> | |
183 | |
184 <P><I>"He's interesting, but not good at avoiding, um... controversy. Joe Barr | |
185 used to be one of the regulars on Will Zachmann's Canopus forum on Compuserve, | |
186 years ago. He was an OS/2 advocate then (I was an OS/2 fan too). | |
187 He used to go over-the-top, flaming people, and I suspect he had some hard | |
188 times, then. He's mellowed some, judging by his columns recently. Moderately | |
189 subtle humor was not his mode in those earlier days, not at all."</I></P> | |
190 | |
2867 | 191 </HTML> |