maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Nokia N900 (https://talk.maemo.org/forumdisplay.php?f=44)
-   -   [WIP]Raspberry Pi as USB HDMI-out (via USB Networking) (https://talk.maemo.org/showthread.php?t=81408)

Mike Fila 2012-01-07 22:51

Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
^ this is exactly what came to mind when I saw this thread.

Estel 2012-01-08 00:57

Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Quote:

Originally Posted by qole (Post 1147268)
Berndt at Dreamchip has been working on such a thing for years now, and he has a little box called xbounds that can do this over WiFi for Maemo and Android. Don't know when they're actually planning to release it, it has been "in production" for so long now... I saw a demo on the N900 back in Summer 2010 and it was really good, but I guess he didn't want to release it for the N900 since it is discontinued...

Quite interesting info - thanks for sharing. Yet, considering WiFi bandwidth limitation, I don't believe it's true "mirroring" (especially in case of videos decoded via N900 dsp) - it's too much for USB, not to mention WiFi.

Anyway, fortunately, using Raspberry Pi we should be able to achieve that with FOSS components, so we're not FCKD up, if some random guy decide, that he's not going to support Maemo. Not to mention, that I bet my left shoe, that his toy would be priced 2-3x of what we need to pay for Raspberry Pi.

/Estel

Estel 2012-01-09 00:30

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Updated first post to reflect current status of project.

sulu 2012-01-09 15:39

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
I believe this might be one part of the I/O solution:
http://superuser.com/questions/67659...rk/70657#70657
I guess the mouse could be forwarded just the same way the keyboard is forwarded there. The rest is simple X-forwarding.

However, this would require to set up an actual network connection between the two devices, not just a mass storage connection. I'm sure that's possible via USB somehow (I haven't checked). Edit: We have everything in house: http://wiki.maemo.org/N900_USB_networking /Edit

Any other interfaces wouldn't be really useful since all of them (Bluetooth, IrDA and (W)LAN) require additional hardware.

It would also require to intercept the inputs that are intended for the Raspberry before they accidentally do any funny things on the N900. But I guess that's no real issue. We'd need an extra application (that grabs all the inputs) anyway to control the Raspberry desktop since we need a mouse and the first thing that comes into mind is to use the N900's screen as a touchpad.


another idea:
The Raspberry PI model B comes with 256MB of RAM. A minimal Debian with X-Server and a lightweight WM (opebox, fluxbox, icewm etc) would leave us approximately 200MB of free memory. Assuming that we don't stream any data to our Raspberry that gives us additional 200MB of RAM connected via a 20-25MB/s USB interface. No idea if that would actually be faster than the swap partition when routed via an additional TCP interface and it should certainly be used with a lot of caution but I think it's worth a try.

Fabry 2012-01-09 22:00

Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Quote:

Originally Posted by Estel (Post 1147295)
Quite interesting info - thanks for sharing. Yet, considering WiFi bandwidth limitation, I don't believe it's true "mirroring" (especially in case of videos decoded via N900 dsp) - it's too much for USB, not to mention WiFi.

Anyway, fortunately, using Raspberry Pi we should be able to achieve that with FOSS components, so we're not FCKD up, if some random guy decide, that he's not going to support Maemo. Not to mention, that I bet my left shoe, that his toy would be priced 2-3x of what we need to pay for Raspberry Pi.

/Estel

Bandwidth is not a problem since I suppose that external hw only receive a video stream like a film.
So 2-3mbit (H264) could be sufficient for an 800x480 video stream

I think that Apple's AirPlay works in the same manner, and we can try do it only on software (since it is only software even on Ipad2).

We need to record Omap gfx framebuffer with at least 30fps and encode that stream with a fast cpu based encoder (i.e. MJPEG to use low cpu) or with a dsp based encoder.

If you stream by WiFi what is displayed on N900's lcd, the external player (VLC on PC, Rasberry connected to TV, SmartTV ...etc) becomes like a Wireless HDMI for N900

A starting point: http://talk.maemo.org/showpost.php?p...01&postcount=9

Estel 2012-01-09 22:48

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Quote:

Originally Posted by sulu (Post 1147940)
However, this would require to set up an actual network connection between the two devices, not just a mass storage connection. I'm sure that's possible via USB somehow (I haven't checked). Edit: We have everything in house: http://wiki.maemo.org/N900_USB_networking

another idea:
The Raspberry PI model B comes with 256MB of RAM. A minimal Debian with X-Server and a lightweight WM (opebox, fluxbox, icewm etc) would leave us approximately 200MB of free memory. Assuming that we don't stream any data to our Raspberry that gives us additional 200MB of RAM connected via a 20-25MB/s USB interface. No idea if that would actually be faster than the swap partition when routed via an additional TCP interface and it should certainly be used with a lot of caution but I think it's worth a try.

Yea, USB networking is behind the main idea written in post 1 - mass storage mode was just mentioned in context of playing videos from N900, with would be more effective in a way that Raspberry Pi plays (decode) them, reading from N900 memory - due to bandwidth limitations.

As for using Raspberry RAM as faster swap, using X display forwarding on some pleasant resolution, would consume a part of said bandwidth. Still, it *should* be faster, ho ever, I agree than it require practical investigation. BTW, using superfast RAM over USB makes me - somehow - sad :D

Quote:

Originally Posted by Fabry (Post 1148073)
Bandwidth is not a problem since I suppose that external hw only receive a video stream like a film.
So 2-3mbit (H264) could be sufficient for an 800x480 video stream

I think that Apple's AirPlay works in the same manner, and we can try do it only on software (since it is only software even on Ipad2).

We need to record Omap gfx framebuffer with at least 30fps and encode that stream with a fast cpu based encoder (i.e. MJPEG to use low cpu) or with a dsp based encoder.

If you stream by WiFi what is displayed on N900's lcd, the external player (VLC on PC, Rasberry connected to TV, SmartTV ...etc) becomes like a Wireless HDMI for N900

A starting point: http://talk.maemo.org/showpost.php?p...01&postcount=9

General idea behind using X export display (and listening for it in Raspberry Pi), is that we get *real* display/desktop, not just a "video" of what is happening on N900. This way, we can change resolution (for example, on 1280x800 monitor, use it's native resolution), and don't suffer from all remote desktops pains.

Also, it seems that all (or 99%) tools to achieve it are already available. Of course, your suggestion got sense and I'm thankful for it - yet, it generates high additional overhead (generating quasi-video stream on N900 is resource intensive), and much less efficient than "real" display. So, IMO, virtual desktop like-solutions should be left as fallback, in case of lethal problems with exporting display.

/Estel

Nokia 5700 2012-01-09 23:00

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
TurboVNC or TigerVNC. I've played games smoothly over these protocols.
The best bet is to compile TigerVNC.
I dare you. If you have a VirtualGL server, like a Linux desktop, you can play all 3D games from there. On a large screen.

Estel 2012-01-09 23:11

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
OK, remote desktops are fine, but we're talking here about *true* display exporting. In a way, that things displayed by Raspberry Pi on screen connected to it through HDMI, are an additional "screen" of N900. Not clone, not copy, just another X display. With custom set resolution (not up/down scaled like in remote desktops), with 100% real time, with same possibilities that you have when You connect your notebook to external desktops, and choose to use something like dual-view (independent resolutions etc in both displays).

At the same time - I say it again at *same* time, i.e. while exporting display, Pi may be used as ethernet to USB adapter, faster swap through Pi RAM and remaining USB network bandwidth (unconfirmed, but nice idea by sulu), or plentora of other purposes.

and all of this for 25$ or 35$, depending on ordered version of Pi. Somehow, I'm a little surprised, that this idea isn't echoing in the community as much, as I've hoped it will. It seems to me, that people either don't understand what opportunities this gives, or aren't acknowledging it yet. For me, this is at least as important project, as Hostmode used to be.

I think it will gather more interest, after actual proof-of-concept examples/videos using actual Pi. That's why I called here for knowledgeable people help, cause I'm total noob when it comes to exporting X display (heck, it wasn't even my original idea, SpeedEvil proposed it during IRC talk - I just had idea to use Raspberry Pi *somehow* to to achieve things I've described, and was pleasantly surprised, that it should be actually possible using (mostly) existing FOSS tools).

Yet, I'm definitely going to test it myself no matter what - even if it's going to take ages, until I educate myself enough to have working results.

/Estel

dr_frost_dk 2012-01-10 00:00

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Can we get a guide to try it on the home linux boxes (i run nothing else :p)

A guide to how to hock up N900 to a computer and the X display "commands"

EDIT:
And for the Record i do grasp the many functions that are available with using the PI with our N900.
This is without a doubt the most awesome Addon to date

Fabry 2012-01-10 00:52

Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
 
Quote:

Originally Posted by Estel (Post 1148087)
General idea behind using X export display (and listening for it in Raspberry Pi), is that we get *real* display/desktop, not just a "video" of what is happening on N900. This way, we can change resolution (for example, on 1280x800 monitor, use it's native resolution), and don't suffer from all remote desktops pains.

Also, it seems that all (or 99%) tools to achieve it are already available. Of course, your suggestion got sense and I'm thankful for it - yet, it generates high additional overhead (generating quasi-video stream on N900 is resource intensive), and much less efficient than "real" display. So, IMO, virtual desktop like-solutions should be left as fallback, in case of lethal problems with exporting display.

/Estel

I have replied with xBounds (or Apple's AirPlay) in mind, which I think it works as my solution.

Your solution is ok and probably low resource consuming, but it needs a linux-box (or a Pi) as receiver and will it work with Hw Accelerated effects or 3D (games) ?

My solution (if possible) requires only a video player (TV, VLC/MPlayer on PC, XBox 360, PS3, AppleTV, ...etc) and teorically works with 2D/3D Hw accelerated grafx.

It can be used also for a second screen.
I suppose that it is possible to allocate a second framebuffer on Omap Gfx, a framebuffer which isn't displayed to internal lcd but of course it is hw assisted by GPU + DSP.

Apple's AirPlay can play games at 1920x1080p on Ipad2.
Since AppleTV (the endpoint of AirPlay) is not a 3D Gfx, I suppose that Apple's software allocate the graphic framebuffer on A5 gfx card memory, does all 3D operations on tablet, and at the end encodes the resulting framebuffer as video stream to send to AppleTV to display natively @ FullHD
In the meantime Ipad2's lcd shows another image/framebuffer (i.e. the radar for an aircraft game).

Of course Ipad2 is much more powerful than N900, but I think that something can be done on N900 itself also


All times are GMT. The time now is 15:43.

vBulletin® Version 3.8.8