further updates for RTC

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6618 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
diego 2002-06-30 22:10:47 +00:00
parent 307eeeeba8
commit ed940993c8
2 changed files with 29 additions and 16 deletions

View File

@ -664,25 +664,37 @@ encode movies with <B>MPlayer</B>, read the <A HREF="#2.5">TV input</A> section.
<CODE>usleep()</CODE> to tune A/V sync, with +/- 10ms accuracy. However
sometimes the sync has to be tuned even finer.</LI>
<LI><B>The new timer</B> code uses PC's RTC (Real Time Clock) for this task,
because it has precise 1ms timers. This requires root privileges, or a
<I>setuid root</I> <B>MPlayer</B> binary. If you are running kernel
2.4.19pre8 or later you can adjust the maximum RTC frequency for normal
users through the <CODE>/proc</CODE> filesystem. Use this command to enable
RTC for normal users:
because it has precise 1ms timers. It is automagically enabled when
available, but requires root privileges, a <I>setuid root</I>
<B>MPlayer</B> binary or a properly set up kernel.
<BR>
If you are running kernel 2.4.19pre8 or later you can adjust the maximum
RTC frequency for normal users through the <CODE>/proc</CODE> filesystem.
Use this command to enable RTC for normal users:
<P>
<CODE>echo 1025 > /proc/sys/dev/rtc/max-user-freq</CODE>
<CODE>echo 1024 > /proc/sys/dev/rtc/max-user-freq</CODE>
</P>
If you do not have such a new kernel, you can also change one line in
<CODE>drivers/char/rtc.c</CODE> and recompile your kernel. Find the line
<P>
<CODE>if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))</CODE>
</P>
<CODE>drivers/char/rtc.c</CODE> and recompile your kernel. Find the
section that reads
<PRE>
* We don't really want Joe User enabling more
* than 64Hz of interrupts on a multi-user machine.
*/
if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
</PRE>
and change the 64 to 1024. You should really know what you are doing, though.
<BR>
You can see the new timer's efficiency in the status line. In some hardware
combinations (confirmed during usage of non-DMA DVD drive on an ALi1541 board)
usage of the RTC timer causes skippy playback. It's recommended to use the
following method in these cases.</LI>
You can see the new timer's efficiency in the status line.
<BR>
The power management functions of some notebook BIOSes with speedstep CPUs
interact badly with RTC. Audio and video may get out of sync. Plugging the
external power connector in before you power up your notebook seems to help.
You can always turn off RTC support with the <CODE>-nortc</CODE> switch.
In some hardware combinations (confirmed during usage of non-DMA DVD
drive on an ALi1541 board) usage of the RTC timer causes skippy playback.
It's recommended to use the following method in these cases.</LI>
<LI><B>The third timer code</B> is turned on with the <CODE>-softsleep</CODE>
option. It has the efficiency of the RTC, but it doesn't use RTC. On the other
hand, it requires more CPU.</LI>
@ -690,7 +702,7 @@ encode movies with <B>MPlayer</B>, read the <A HREF="#2.5">TV input</A> section.
</LI>
</UL>
Note: <B>NEVER install setuid MPlayer binary on a
Note: <B>NEVER install a setuid root MPlayer binary on a
multiuser system!</B> It's a clear way for everyone to gain root.

View File

@ -432,7 +432,8 @@ of default YV12 (see the <A HREF="documentation.html#2.5">TV input documentation
<TD></TD><TD VALIGN=top>Q:</TD><TD WIDTH="100%"><B>When I start playing, I get this message but everything seems fine:<BR>
<CODE>Linux RTC init: ioctl (rtc_pie_on): Permission denied</CODE>
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD>You need root privileges to use the new timing code. For details see the
</B></TD><TR><TD></TD><TD VALIGN=top>A:</TD><TD>You need root privileges or a
specially set up kernel to use the new timing code. For details see the
<A HREF="documentation.html#1.3">installation section</A> of the documentation.
</TD><TR><TD COLSPAN=3>&nbsp;</TD><TR>