From: Mathias Gaunard on
Hi,

I didn't really know where to ask that question, so I'm asking it
here. Feel free to redirect me to more appropriate groups.

I would like to transfer the video and audio playing on my desktop
linux operating system (obviously running Xorg) to a remote screen.
The problem is, I'm using a laptop which has fairly low quality video
and audio output connectivity (VGA and headset output). I would
therefore like to be able to trap whatever is rendered and send these
signals digitally through IP (potentially using wifi) to another
machine which has better audio/video connectivity (DVI-D and S/PDIF).

Is it possible to read those renderings and send them through the
network? I don't know that much about modern graphics cards, but is
reading the video frame buffer mapped in RAM enough?
What about sound?
Does software that already does this exist?

Thank you for your help.
From: "Sebastian "lunar" Wiesner" on
Mathias Gaunard <loufoque(a)gmail.com>:

> I would like to transfer the video and audio playing on my desktop
> linux operating system (obviously running Xorg) to a remote screen.
> The problem is, I'm using a laptop which has fairly low quality video
> and audio output connectivity (VGA and headset output). I would
> therefore like to be able to trap whatever is rendered and send these
> signals digitally through IP (potentially using wifi) to another
> machine which has better audio/video connectivity (DVI-D and S/PDIF).

Network latency is likely to have such a great impact on rendering
performance, that the output on the target system will be worse than on the
original system, despite better hardware.

> Is it possible to read those renderings and send them through the
> network?

Within certain limitations, it is possible. The X11 protocol is network
transparent and supports forwarding to remote systems, as are many modern
sound servers like pulse audio. Still, these facilities are not sufficient
for accelerated rendering like it happens in games or video playback.

--
Freedom is always the freedom of dissenters.
(Rosa Luxemburg)
From: Dances With Crows on
Mathias Gaunard staggered into the Black Sun and said:
> I would like to transfer the video and audio playing on my desktop
> linux operating system (obviously running Xorg) to a remote screen.
> Is it possible to read [that data] and send [it] through the network?

Video: Just X by itself, although you need high bandwidth and low
latency for large video to work well at all. Audio: I have never
needed or wanted to do that, since I think computers should be as quiet
as possible unless they're playing music, movies, or games. However,
esd (standard with GNOME) is one way of doing that. There should be
some way of doing that with ArTS (KDE sound server) as well. The apps
that are playing audio on a remote box *must* have esd- or ArTS-output
support, otherwise they won't work. The remote box must be running esd
or ArTS.

> I don't know that much about modern graphics cards, but is reading the
> video frame buffer mapped in RAM enough?

Oh hell no. Modern video players typically use XV, so they offload the
YUV data processing to the video card, which then dumps the decoded RGB
data over all areas of the screen that have been painted in a colorkey.
None of that ever hits the framebuffer. The cursor is also in a special
non-framebuffer block of memory. OpenGL may or may not make use of
non-framebuffer memory for display purposes.

What is the primary app you'll be running over this x11vnc/KDE Desktop
Sharing/nxserver-freeedition -like setup? If it's xine/mplayer, save
yourself some pain and transfer the movies directly to the other box.
You can *do* video and sound over the network, but it's a PITA and the
performance is AFAIK not great. If it's some sort of game, just forget
it. If it's music, why not just have the remote box mount the other box
via Samba/NFS?

--
"Dreams? Best leave dreams to those that can afford them."
--Aunt Cordelia, _Wizard and Glass_, Stephen King
My blog and resume: http://crow202.dyndns.org/wordpress/
Matt G|There is no Darkness in Eternity/But only Light too dim for us to see
From: Mathias Gaunard on
On 22 juin, 22:33, Dances With Crows <danceswithcr...(a)usa.net> wrote:

> What is the primary app you'll be running over this x11vnc/KDE Desktop
> Sharing/nxserver-freeedition -like setup?

Anything (including work, presentations, games and movies). Basically
it's supposed to act like a model- and brand-independent high-end dock
station that provides DVI and S/PDIF output.

Obviously, putting a mini-jack from the headset output to a 5.1
soundsystem is not very good. It's good to know esd supports
networking out of the box, I'll try that.
VGA, which is available on most laptops, is not that bad compared to
the sound problem.

I suppose the only way to obtain accelerated output is to reaquire the
signal outputted by the graphics card? It's not possible for the OS to
read the actual rendered screen?
In that case it would be good (if not awesome) if X could relay OpenGL
and Xv requests to the rendering screen so that it could be
accerelated here.
From: Mathias Gaunard on
On 23 juin, 01:03, Mathias Gaunard <loufo...(a)gmail.com> wrote:
> In that case it would be good (if not awesome) if X could relay OpenGL
> and Xv requests to the rendering screen so that it could be
> accerelated here.

Shouldn't AIGLX do just that actually?