By Dini's theorem http://en.wikipedia.org/wiki/Dini's_theorem, the convergence is uniform.
The sequence is actually uniformly equicontinuous.
Take $\epsilon>0$.
There exists $N$ such that $\sup_X|f_n-f|\leq \epsilon/3$ for all $n\geq N$.
Now $f$ is uniformly continuous on the compact $X$, so there exists $\delta_0>0$ such that $|f(x)-f(y)|\leq \epsilon/3 $ for all $|x-y|\leq \delta_0$.
For all $n\geq N$ and for $|x-y|\leq \delta_0$, we thus have, by triangular inequality
$$
|f_n(x)-f_n(y)|\leq |f_n(x)-f(x)|+|f(x)-f(y)|+|f(y)-f_n(y)|
$$
$$
\leq 2\sup_X|f_n-f|+|f(x)-f(y)| \leq 3\frac{\epsilon}{3}=\epsilon.
$$
Finally, the functions $f_1,\ldots,f_{N-1}$ are all uniformly continuous and in finite number, so we can clearly find $\delta_1>0$ such that $|f_n(x)-f_n(y)|\leq \epsilon$ for all $|x-y|\leq \delta_1$ and all $n=1,\ldots,N-1$.
I remains to take $\delta=\min\{\delta_0,\delta_1\}$ to get $|f_n(x)-f_n(y)|\leq \epsilon$ for all $|x-y|\leq \delta$ and all $n$.
So the functions $(f_n)$ are uniformly equicontinuous.
One minor note, continuity of $f$ is required: just consider ${x^n}$ for $x\in [0,1]$ and $n \in \mathbb{N}$.
– student Feb 19 '13 at 06:38