Using X and SVGAlib Concurrently?
Walter Bell asks: "I have two video cards in my Linux PC, one of which has a TV out jack. I would like to connect the TV out jack to my color LCD panel and use it as a system status monitor (kind of like this), while I am running X on the other video card to serve as my desktop. Is it possible to use SVGAlib/GGI and X at the same time on two different video adapters? Right now I can switch between the two but only one of the adapters is active at a given time, depending on which virtual console is active. Is there a workaround?"
Running two instances of X is not a problem. I do it regularly to run certain apps under wine, and for dvd playback to TV. What you can't do is output from more than one simultaneously, or at least I have not seen any way to do it.
That's the same kind of problem I ran into. You can have svgalib and X active at the same time, but only one has control of the console and only one video card gets output.
I considered running two X instances (like what you want to do) but most TV out cards are less than friendly to X because of Macrovision "trade secrets." For my application, svgalib at 320x200 would be more than adequate and it will still work with TV out.
I was considering hacking svgalib so that I can run it from within an xterm (currently it complains that it can't open the VGA console and dies), so that it issues the int10 calls to the video BIOS on the first card while the Xserver video card is unaffected. But I strongly suspect that this will cause a big problem if X dies or I otherwise need to switch virtual consoles, because the kernel will have no idea what state the video cards are in.
Any ideas....? It *should* be doable.
~wally
Seems to me that the problem is that X on linux is very much tied to a vty. If you could get X to run independent of a VTY, then it would work.
i.e. linux can only have one vty active at a time - so only one X/TTY/SVGA output at a time.
The reason I ask is because you essentially want to convert a VGA signal, to a TV signal, then show that on an LCD panel. You have a lot of conversion going on there, and all to display what? Stats for the system?
Perhaps you could display some large text, or perhaps some largish bar graphs - but output in the manner you are wanting to do this is going to look very "fuzzy" - this is fine for games and video (ie, stuff that moves a bit) - but it isn't what you want for a text display - or at least a "clean" display.
If all you want are stats - save the LCD panel for another project. Drop the second card (unless you are using it for something), and add a simple LCD display via the parallel port, and run LCDPROC. A couple of cheap pushbuttons and some port monitoring and you can easily add page up/down capabilities from the case. I can't really see the need to do what you are planning, unless you are planning on running fancy screensavers or something on the box when it isn't displaying stats or whatnot...
Reason is the Path to God - Anon