Tonight I built the linux-omap-dss2 repo (master branch) from gitorious.org and tried it. This is the repo from the guy working on the OMAP DSS2 support in the kernel. And viola! S-Video output is once again working! BeagleBox now defaults to mainline u-boot (2010.09, at least) an this branch of the linux-omap-dss2 repo.
S-Video support is working but not perfect. Setting the mode to “ntsc” for my US TV is the only mode setting I could get to work. It has color ouput – the Tux logo is in color in the upper left corner – but there is terrible flicker. The flicker eventually causes the TV to give up and go to a blue screen though the board is still running. If I try to use another mode the DSS2 code defaults to PAL which removes the flicker (nice clear display) but no color. I will note that the output from S-Video is actually a bit better (higher contrast, easier to read the text, and color added) than with the validation images which use DSS1. I don’t have the rootfs setup to run mplayer and play a video yet. I’ll get to that later.
Both PAL and NTSC have overscan issues so I can’t see the login prompt on the TV. I believe I can adjust this at runtime by writing a program to use DSS2 ioctls to adjust the overlay size. But I think the flicker issue may require a boot time mode setting because (apparently) all TVs are different. I’ll probably have to write to the developer (or try to find the linux-omap mailing list) about this.
Note that I tried this with the kernel configured both with and without the dependency on u-boot initialization of the displays. There was no apparent change in behavior with either setting. I’ve defaulted to not depending on u-boot initialization of the displays.
In any case, BeagleBox now has a mainline infrastructure upon which the rest of the software stack can be built. It’s a happy day.