Skip to content

uli/dingoo-tvout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tool and kernel patch to enable TV output on the Dingoo A-320 under Linux.

=============================================================================
WARNING: This tool changes the system clocks from userspace, which is a big
no-no! (But kinda works for now...)  Generally, all manipulation of the
system clocks should be done in the kernel, and only the kernel.  It seems,
however, that its CPU scaling driver does not currently work.

Therefore other tools (most notably gmenu2x) tamper with the clock generator
as well, and they do it without regard to proper LCD and pixclock timing. 
This will wreak havoc on the TV output and may cause the TV encoder to send
rather disturbing signals to your TV.  Judging from the sounds my TV set
makes in that case, I could imagine that this might be harmful.

A workaround is to set the default frequency for gmenu2x to 336 MHz before
enabling the TV output.  This will still cause it to set a higher LCD clock
than necessary, but things will still work.  Of course, this does not fix
other applications that manipulate the clocks, so beware! 
=============================================================================

Requirements:
- A Dingoo A-320.  If you are brave enough to try this on an A-330, please
  report whether it works.
- A kernel with working I2C support.  You should be able to get a kernel
  patch and a pre-built zImage for ILI9331 (the only display I have) at the
  same place you got this from (http://github.com/uli/dingoo-tvout).

Usage: tvout [OPTION...]

  --ntsc	output NTSC-M signal
  --pal		output PAL-B/D/G/H/K/I signal
  --off		turn off TV output and re-enable the SLCD
  --debug	print debug output to stderr
  --help	display this help and exit

Running tvout with "--pal" or "--ntsc" enables TV output using the respective
system.  Running it with "--off" turns off TV output and returns to the
built-in LCD display.

Known problems:
- Occasionally, the timing appears to be off, and the picture is shifted
  horizontally. This may be due to incorrect order of initialization of the
  LCDC. Unfortunately, only rebooting seems to fix it.
- Sometimes, when enabling TV output after a power cycle, the screen is
  completely garbled, with the correct picture occasionally popping up
  between periods of noise. After a warm reboot, things work fine.
- Sound on the internal speakers is not turned off when TV output is
  enabled.

Things that are technically possible, but not (yet) implemented:
- Higher resolutions. The LCD controller supports up to 800x600, and the TV
  encoder up to 720x576.  This, however, would definitely require putting
  the whole show in the kernel (where it belongs anyway). 
- Hue/contrast/saturation/brightness/sharpness settings and repositioning of
  the on-screen picture.
- Detecting whether a TV set is connected.

Things that are not technically possible:
- Dual-head operation. While the SLCD, being the smart device that it is,
  retains the last picture it was sent before the SLCD controller is turned
  off, it is not possible to operate it at the same time as the LCD
  controller (which the TV encoder is hooked up to) because they share the
  same pins on the CPU.

About

Tools and kernel patch for TV output on Dingoo A320

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages