I can envision it being done, however, the throughput would not hold up to
all the things you have on your list. The best interface available is the
MMC 8 bit interface which would limit you to 480Mbps max, the same speed as
a HS USB port. Of course that is only theoretcal as overhead issues would
limit that further. You could design an FPGA to MMC interface that would
implement the PCI interface. There is a second MMC port availble on the -xM
which would give you two ports to work with which would double the
throughput in theory. All of these would need the FPGA board created in
order to do this.
The speed of a HS USB port would probably have enough bandwidth.
However most computers i work with have USB 1.X if they have USB at
all. Also USB is known for high latency if you stress it to a high
speed, which may become a problem.
You could just use the USB interface on the card, but that would also limit
you to 480Mbps which would be tough to handle all the items on your list.
It is not possible to create a VESA compatible graphic card using USB,
unless we do a non-standard USB card that gives the device full access
to the PCI port. This would mean that BIOS cannot output its info on
the device. However it would work after Linux has loaded the drivers,
but we would not have a clue about whats going on before that.
480Mbps is more then enough to stream HD movies. Remember that we have
decoding capacity on the beagle board. There may be a limit on direct
graphics and OpenGL, but i think we can find ways around that. Many
games that is not written with such low bandwidth in mind will have a
problem.
However this will be far better then the old graphics that we are
currently limited to, that does not even handle the full resolution of
modern monitors.
Also one way to speed it up is to actually run some apps on the card.
Mostly the beagle board will be more powerful then he main system. If
we see it as the main system and the host PC as peripherals, then we
can make it even more powerful. We just let the PC boot with the card
as VESA graphic card and also emulate a HDD feeding a small boot
program that hand over control to the card. We can have a disk image
on the SD card that we feed to the host system as a HDD, or we could
even feed it a NBD as a hdd image.
The cool thing about that is that it would give the board all
peripherals it need in order to be a complete computer. Users just
take a old PC, put in a beagle board and have a full blown Beagle
Box...
Today we upgrade old PC:s with adding RAM so we have at least 512MB,
replace the usually failing HDD with a DoM device and install lubuntu.
The costs of SDRAM and a DoM device is far greater then the cost of a
beagle board, and gives far less advantages... so a solution like the
one above is something that most refurbishers will use, at least those
of us that use Linux.
There used to be at least three companies that made hardware for
upgrading old computers, like socket converters and even PCI boards
with similar functionality like what i described, but now we are lucky
if we can find any compatible devices. Old RAM (PC133) is quite
expensive and if its something non-standard, then we just pass that
machine over. And if the processor is broken - don't even bother... A
PCI board cant fix all of these problems. But it can fix the
performance problems on a otherwise functional machine.