![]() |
[WIP]Raspberry Pi as USB HDMI-out (via USB Networking)
Update:
Sulu did some nice research on this topic, and proposed most efficient (up to date) approach - connect N900 and Raspberry Pi using so-called PC Suite mode, and mount N900 partitions (*every* partition we feel fancy) from Debian (or any other Linux-based distro we feel fancy, but Debian seems first choice due to Maemo being based on it, and EasyDebian) installed on Raspberry Pi. This also allow us to share N900's WiFi and cellular network, then either use programs bins from N900 itself (would require first-time special preparation on Raspberry Pi, but architecture is same, so should be doable), or just hassle-free 'clone' set of required programs installed on Pi. This way, we would have (working simultaneously) N900 without *any* CPU/RAM extensive overhead, and programs working on our N900's files, run through Raspberry Pi and displayed on big screen. Of course, N900's partitions would be accessed simultaneously by both N900 and Pi, so we can even multitask to the point of having one thing displayed on big screen (lets say, movie, game, or photo slideshow active for kids/family), and another things running on our N900 (so, we can actually do productive things like hacking something in meantime ;) ). The only drawback is that we would not be able to use Maemo programs (as opposed to EasyDebian ones) this way (ho ever, there are some ideas for possible 'proper' workaround). Dirty workaround for that, is to use VNC with DisplayLink protocol used, as proposed by javispedro in his post: http://talk.maemo.org/showpost.php?p...3&postcount=32 Of course, this whole approach mean that we can - if needed - actually benefit from MPU/RAM/etc resources of both N900 and Raspberry Pi, as totally exclusive multitasking, while still sharing the same storage/programs. --- Old update: (depreciated) It seems, that it should be possible via USB networking with Raspberry Pi and X export DISPLAY: (using WiFi for that purpose should also work, but bandwidth may be insufficient fir higher resolutions). This approach should work with everything, except videos decoded in N900 DSP (bandwidth limitation of USB ~40 MB/s), or OpenGLES applications (some games like Neverball) - status of the latter is uncertain, and must be verified experimentally. As for videos, workaround is trivial - play them via Raspberry Pi directly. They can even sit on N900 partition (most likely, vfat) connected to Raspberry Pi in Mass Storage mode. In any case, whatever mode we use, no hostmode on N900 is required (Raspbery Pi may act as host during USB networking), but it doesn't hurt also (if, for some reason, we prefer N900 to take role of host). It's also possible to forward sound from N900 alongside DISPLAY (pulseaudio), so HDMI sound-transferring capabilities may be also used. Particularly, we're planning to use full-fledged ARM linuxbox with HDMI out, to forward N900 display (of any set resolution) through it - it's all matter of fact, that, in our case, "full fledged linuxbox" is of credit card (thicker) size, and cost 25$ + shipping from UK. Even more joyful fact is that Raspberry Pi, giving us long-awaited possibility of using our N900 with HDMI-out, isn't limited to "just" doing that - it may also act as USB-to-Ethernet adapter (in 35$ version, that contains LAN port), or any thing we would except linuxbox to do - in tandem with our N900, or acting standalone. IMO, using it with our N900 is best "features" overkill in at least few years, comparable to USB hostmode (except, that hostmode required lotta hell of 'magic' difficulty level work - kudos to hostmode team). Every interested one can contribute right now, even without Raspberry Pi in hand - requirements are only linuxbox with USB port and any video output (VGA, DVI, HDMI...). procedures for creating USB network + forwarding X Display over it should be same for "big" desktop computer and small Raspberry Pi, so we may create bulletproof procedure (or even scripts?) right now, to have it ready for Raspberry Pi (and final tweaking). --- Original Post (for records): Quote:
|
Re: [Idea]Raspberry Pi as USB HDMI-out
Interesting idea. I expect to buy a Pi once they are available to the general public; I will see what is possible then.
|
Re: [Idea]Raspberry Pi as USB HDMI-out
I have been planning on doing something similar to this with Raspberry Pi. I ordered a 2.5" 128x64 LCD on december (which I got yesterday :)) and I'm planning on soldering it in to a Raspberry Pi, when I get my hands on one :D
I'm going to write a driver for it which lets me control it via lan. |
Re: [Idea]Raspberry Pi as USB HDMI-out
this is a great idea but I would like at least 720p rather than vga if not 1080p would be ideal. Also rather than have it tethered to the n900 by a cable use a usb wireless dongle or the wired ethernet b rev. and connect over wifi. Then it would be able to used by what ever n900 desktop or laptop.
I know im asking a lot but I wouldnt be surprised if does happen, it just seems like a logical use for RPi. |
Re: [Idea]Raspberry Pi as USB HDMI-out
I've also thought about using WiFi, but USB offers much more bandwidth, so using it's seems logical for video (also, I think it's the case why there are many USB 'video cards', but no 'wifi video cards').
As for VGA, I was referring to connection type, not resolution. Using VGA cable, I was transmitting 1680x1050 from my notebook to monitor - before I switched to HDMI-DVI adapter - and to be honest, quality difference is indistinguishable. As I've said in other topic, I would be pretty happy even with *true* 1024x600 output to external monitor/TV with VGA input/etc. Of course, if higher resolutions would be possible, that's great. I also think it should - They've tried Quake3 with higher resolutions on external monitor, and everything was calculated on Raspberry Pi. Using it only as video bridge (with actual programs processed on N900) we should have plenty of free processing power. Furthermore, just ability to use N900 with proper VGA/DVI (HDMI) output would make me buy Raspberry Pi without any doubt. Yet, it's capable of much more things, so it have a chance to be really universal in tandem with N900, especially considering awesome price. One thing that comes to my mind - beside true video out - is using it as Ethernet adapter (instead of those uncertain adapters from ebay). Here it's rather trivial - USB networking with N900, and forwarding it to ethernet port. Possibilities are almost limitless. Yet, most important thing that we can achieve, is - IMO - still the ability to output video to real DVI/HDMI/whatever monitors/TVs. That would really bring dreams about 100% portable computer true - we already have hostmode, USB and Bluetooth mouses/keyboards, all kinds of USB networking, virtual desktops, and Easy Debian working as pure Squeeze distribution (with LibreOffice and Chromium running on N900 blazing fast). The last thing that prevent from really enjoyable usage during travels, is ability to connect to external monitor by real means, not crappy quality TV-Out, peaking @768x576 (PAL) or even worse 720x480 (NTSC). The hardware is all there - powered by FOSS components. All we need, is wise selection of software and/or writing some parts of code (scripts), if they're lacking. Ideal would be a true video forwarding over USB, through Raspberry Pi, to it's HDMI out. Yet, if for some reasons, that isn't possible a real-time remote desktop client (using full USB bandwidth) and some virtual X desktop with different resolution on N900 itself (it's already possible) would do the trick. Unfortunately, I'm not aware of such fast FOSS (or not FOSS) remote desktops. And, I really *feel* (funny word for meritocratic discussion, I know) that it should be possible without such resource-hungry workarounds. Though about X forwarding over SSH, but it's reportedly not working well with N900 programs (fixme? as i've never tried it myself), and I have no idea how fast or slow they're. It just seems to me, that if ridiculously priced, low-performance things can work via USB as external video cards, Raspberry Pi - that is much better when it comes to performance available, and have all needed components - should be also able to do that. /Estel |
Re: [Idea]Raspberry Pi as USB HDMI-out
What you're looking for would be a Virtual CRTC.
Due to the differences and large changes in DRM between 2.6.28 and (insert Linux HEAD git here), a lot of things will need to be backported if you want the said "true" resolution to be output, and not just upscaled from a VNC client. |
Re: [Idea]Raspberry Pi as USB HDMI-out
May be not exactly true - see this:
http://mg.pov.lt/maemo-irclog/%23mae...01-07T21:49:22 So, basically, it should work without problems, except for videos (too low bandwidth via USB) - that can be achieved by using N900 vfat as mass storage mode to raspberry pi host - and, it's unknown if it would work or not for OpenGLES applications (Neverball). Everything else should work fine for any sane resolution, and without slowdowns. Possible bonus is sending sound via pulseaudio (or, as proposed by joerg_rw, usb audio card emulation, whatever that means ;) ), so HDMI capabilities of Raspberry Pi would be 100% used. Personally, I can't wait to grab one and start experimenting... /Estel |
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Sounds like an awesome project.
I myself am getting a PI also, it is without the most AWESOME little thing that can be bought for that kind of money, i really hope that they make in the area of a million of them, no question that they are going to go as .... hard to even find the word there. I myself am mostly focusing on just having a system on the PI, there are so many applications for it, gaming system (C64, DosBOX etc), media center. But as a little add on for HDMI out for our N900 sounds very cool, and exchanging SD cards would be enough to go from that function to system on the PI. |
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
IT seems to me, that system (if not whole, at least barebone version of it) would be needed to work as HDMI out to. Well, we need X on pi listening to export DISPLAY from out N900. It's possible that - using at least few GB SD card - Raspberry Pi with a system designed to do <whatever> would be also possible to act as HDMI out = universal thing to accompany our N900 + with possibility to work standalone for plentora of tasks.
/Estel // Edit As what we're planning to do, is to set up ARM full-fledged computer to act as X peer for HDMI output ;) - no matter, that this actual computer is about size of credit card - I think people with linuxboxes can start experimenting right now. Any linuxbox with USB port and VGA or DVI/HDMI should be able to do that. Starting to experiment right now, we can have plentora of already tweaked solutions just waiting for arrival of our Raspberry Pis. (Especially, that OP here is far from being knowledgeable about X voodoo, so helping hands greatly appreciated). |
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
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...
|
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
^ this is exactly what came to mind when I saw this thread.
|
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
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 |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Updated first post to reflect current status of project.
|
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. |
Re: [Idea]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
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 |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
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:
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 |
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. |
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 |
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 |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
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 |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
Of course exporting X require linuxbox (even, if the linuxbox is a ~credit-card like Raspberry Pi) - it's all about that. Quote:
Same apply for other ideas - I don't said that Your solution isn't worth considering, but is it achievable (on N900, not apple products) with current tools? If not, do we have any perspective for writing such? How much work would it take? I must admit, that I'm focusing on X display exporting, as I wish to stick with something both effective and achievable. Personally, I can live without playing GLES games (Neverball ;) ) on big screen, or using remote desktop explicitly for doing so (productivity things = most of Maemo programs - are priority IMO). Of course, I'll change mind with pleasure, if Your ideas with video framebuffer encoding/decoding turns out to be achievable, and You - or someone else - come with a working solution. Quote:
Also, keep in mind, that whole idea with X display forwarding came from #maemo IRC talk (with SpeedEvil and DocScrutinizer [joerg_rw] - so, I think that some help can be also "sucked" from knowledgeable people on #maemo IRC. I'll try to do so, when given some free time + I'll setup experimental linuxbox (in current conditions, only linuxbox that I have available to mess with freely is N900, but I'm planning to get my 'old' 3,5'' 80GB HD, and connect it via USB to some machine, then install linux on it, creating "safe" way to turn some machine into linuxbox, without being 'executed' for screwing something on main system). given the fact, that it *does* require some time to even start, it would be great if someone can start messing with exporting X display before me ;) /Estel |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
With ximagesrc + ffmpeg plugin to do colorspace conversion and then encoding process (I have tried h263, h264, mpeg2 and mjpeg) it works but cpu usage is over 70-80%@600 and there are many frames dropped even grabbing at 15 fps. Passing to use DSP for encoding process (after I have changed, today, dsp libs to N9's version) the situation has much improved. Cpu usage was still 50-60%@600MHz but frames dropped are sensibly decreased. But the best results has been achieved when I have used DSP for colorspace conversion also. With a screen grab at 15fps or lower the cpu usage is near (or lower) 40-45%@500 Here the command lines used by me to test yourself: MJPEG Code:
gst-launch ximagesrc ! video/x-raw-rgb,framerate=15/1! dspvpp ! dspjpegenc encoding-quality=60 ! avimux ! filesink location=/media/mmc1/testgrab.avi Code:
gst-launch ximagesrc ! video/x-raw-rgb,framerate=10/1! dspvpp ! dsph264enc ! max-bitrate=4000000 ! avimux ! filesink location=/media/mmc1/testgrab.avi Cpu usage is not so high, but probably DSP is too busy and Maemo need dsp power for something and without it ... Instead with MJPEG at 15fps phone is still very usable (even if a bit slowed) if you use the trick to save stream to SD. Instead if you save stream to eMMC phone becomes very slow because of too much I/O traffic on eMMC bus. Unfortunately MJPEG creates big-files (and so too much bitrate to stream it by WiFi). I have tried some codec options to reduce bitrate but with no sensible result. After some successes on recording to file I have tried direct stream by Wifi. I have done some test with udpsink and tcpserversink but unfortunately I have never be able to play the received stream on PC. But here is only my limited knowledge on gstreamer / mplayer / streaming techniques and not a technical problem. Conclusion: With stock software (gstreamer + dsp) 60fps are unreachable with decent result and even at 30fps there are many problems. Until someone will find out better options I suggest to not exceed 10fps with h264 or 15fps with mjpeg. But there are room to improve. The first option to use is overclock (cpu and mostly dsp) but the main area to explore is to write a gstreamer plugin to access directly to omap FB dropping the usage of ximagesrc which uses much cpu when we raise grabbing speed Of course the best solution would be a custom software like on Apple's AirPlay Seen the results with gstreamer I suppose that there are many chances that a specific software (better if done all on dsp) can reach good results like Apple's AirPlay on N900 also |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
@Fabry:
Try to encode your video stream in Mpeg2! Its results should be somewhere between Mjpeg and h264. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Unfortunately gstreamer dsp plugin as encoders has only h264, h263 and Jpeg.
H263 is not usable because the needed dsp lib is not present on N900 and we must search and retrieve it on internet or on another Omap based phone |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Fabry, many thanks for Your extensive research! It's probably the first practical test, but it's very important path, as exporting X display (from N900 to desktop) seems to be *much* more problematic, that I've thought initially. all after all, if properly exporting X from N900 would be ever possible, it's going to arrive much later, than Fabry's proposed method.
15 fps is still much better, than what we usually get with VNC, not to mention quality of TV-Out. /Estel |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
Videostream is at 15fps and all frames seem to be present, but the video is not so fluid. I suspect that ximagesrc (or other pluing on the pipeline) generates duplicated frame to achieve the nominal speed but the real grabbing speed is lower |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
I tried a few things during the weekend. First I thought we might be able to move X windows from the N900 (or at least from Easy Debian) to another computer using xpra [1]. In principle this works fine but unfortunately produces a lot of CPU overhead when watching video since it doesn't support GPU acceleration. Even my brandnew desktop computer is barely powerful enough to play SD videos this way, I don't even want to think about using it on the N900.
So this doesn't seem to be an option. My 2nd idea was x2x [2] which means the Rhaspberry would do everything except input. This too works fine in principle. I can forward the keyboard from another computer and if I use one of the compass point switches even mouse forwarding works fine. But using the compass point switches means that the desktop feels like having two displays hooked up to one computer which usually is a good idea. Unfortunately it is no good idea at all if your input device is a touchscreen and not a regular touchpad because this way you can't leave your primary screen. So what we need is either an option to make the N900's screen behave like a regular touchpad, i.e. interpreting movements as relative not as absolute (if someone could write a Maemo application that would cover the whole screen and transform the absolute inputs into relative outputs that would be great) or tell x2x to forward mouse movements as long as the cursor is on the x2x window (which I first thought is the case, but it seems it isn't - please prove me wrong and tell me which switch I missed!) I see a 3rd option: Keyboard forwarding with x2x works fine, and if we carry an N900, a Rhaspberry, a USB and an HDMI cable and most likely one or two chargers with us we can just as easily add a micro mouse to that, which unfortunately brings us back to our tiny but mighty pocket computer that we call N900 PLUS THE HUGE BAG WITH ALL THE EXTRA CABLES AND ADAPTERS. :eek: btw: If we connect a mouse anyway the only point in connecting the N900 and the Rhaspberry is to spare the keyboard. TBH the N900's keyboard isn't great either so we could just use an onscreen keyboard with the mouse on the Rhaspberry and make that whole thing an awful lot cheaper by simply canceling the N900.:rolleyes: [1] http://packages.debian.org/search?ke...ll§ion=all [2] http://packages.debian.org/search?ke...ll§ion=all |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
Quote:
Yet, things like using N900 as touchpad + N900's keyboard would be *nice* option to have. Wasn't BlueMaemo allowing to control computer via N900 screen in touchpad manner? It's FOSS, so maybe it's possible to suck (reverse-engineer) appropriate code from BlueMaemo into little program that turns our digitizer into touchpad? /Estel // Edit Also, You actually tried it with N900 and N900 content into screen, yes? I'm asking, because there were (reportedly) nasty things related to X display forwarding *from* N900, which seems, were not affecting You. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
I doubt that Xpra could be used with Maemo directly because it requires X-forwarding which Maemo doesn't seem to support ($DISPLAY is always 0). Quote:
Quote:
For x2x the Maemo weirdness shouldn't matter because you only need x2x on one of the devices and it doesn't matter which one it is. So it could be the Rhaspberry running a regular Debian. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
I've seen your posts and i also think that video is not needed (at least for me) at all since HD videoview is not so practical anyway from the N900, however - viewing pictures with HD output for example would be awesome i think. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
If you want to control the Raspberry from the N900 the former needs some sort of system installed in the first place to process the commands that come from the N900. Since the Raspberry is supposed to support Debian and the N900 already runs Debian (sort of) that would be the logical choice. Then we need some way to create an interaction between the two devices. The most commonly known way surely is VNC. x2x or Xpra might result in better performance but just like VNC they won't actually eliminate the barrier of still having two separate devices that run their own operating systems. So what actually remains of the integration of the two devices are three things: 1. To use the N900 as a mouse and keyboard for the N900, which is only a stopgap solution since an actual mouse and keyboard will always be more comfortable. 2. To use the N900 for network connections. This can easily be achieved by attaching the N900 in PC suite mode to the Raspberry running its own completely independent Debian. 3. To use the data we have on the N900 which is a simple mass storage connection. I was hoping to combine the strong N900's CPU (the Raspberry's will be weaker) with the Raspberry's strong GPU (it's supposed to be able to decode 1080p) and maybe even the combined RAM. Unfortunately that doesn't work at the very first step since Xpra already adds more overhead than the systems we're talking about are able to handle. And honestly Fabry's results don't seem more promising either. So there's nothing special I see left here unless I've missed some important feature that the N900 might add to the Raspberry apart from the three I've mentioned above. ...or creating an artificial, unneeded integration just for the sake of doing it because as N900 users we want to integrate it everywhere. The Raspberry will work just as fine (or likely even better) without it. Quote:
|
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
This is similar to what I did ages ago with a DisplayLink device:
http://depot.javispedro.com/nit/usb/xvnc2dlusb.jpg My approach was Xvnc and then vnc2dl which is severely outdated (on modern kernels there is udlfb). VNC is not as slow as it sounds because the target DisplayLink protocol is basically VNC on steroids. Therefore, you can run a second X server and redirect applications on Maemo just fine. The entire setup was very slow, but usable. I used a USB mouse. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
As we have our N900's always with us, we tend to work on it on the go - sitting in train, for example, there is no sane way to work on Raspberry Pi (no screen). Using Pi exclusively, we would need to sync everything we did on N900, when - later - we have access to monitor with DVI input. in practice that would mean - most of the times - more overhead due to rsyncing, than just using N90 0with it's internal screen and keyboard to continue work. --- What we want to achieve - by any means possible - is to be able to view N900's Maemo and ED things in "big screen" in good quality (through HDMI or DVI), using Raspberry Pi as intermedium. "Period." It require setting up correct system on Pi, and that's ok - we will probably use Pi for other means as well - but, considering proper set of script, settings etc, it should be as hassle-free to connect n900 this way, as possible (of course, after initially setting things up). /Estel // edit @javispedro do it understand correctly, that You mean that we can use x11vnc on N900, and udlfb on Raspberry Pi, connected to DVI/HDMi monitor, and that would cause usage of DisplayLink protocol, which is meant especially for high-bandwidth (like in local network), low-latency connections? sounds cool, need to test it ASAP. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
I'm not talking about using the Raspberry exclusively (maybe I failed to make that clear). I just think that extending the integration beyond the already available N900's connection modes isn't worth the effort since it provides no further performance or usability gain. Just stick with mass storage and/or PC suite mode like you do with any other computer. That's the best you can expect from connecting both devices. This way the N900's data will be available on the Raspberry and you can use it's DSP to show a nice and big Debian desktop on your TV. Quote:
Quote:
Quote:
That still leaves Easy Debian. Since Debian's armel port doesn't distinguish ARMv6 from ARMv7 you'll have the same software running on both devices anyway. Sure, the N900's CPU is faster but to make use of that we'd have to propagate its display to the Raspberry. And when we do that we lose that performance advantage completely. So we can just as well use the Raspberry's CPU in the first place. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Sulu, mounting *every* N900's partition to Raspberry Pi (would it be possible to do it with normally running N900, i.e. same partition mounted by both Maemo and Raspberry Pi's Debian?), during runtime, or, even using backupmenu's read&write mass storage mode, seems to be another fine idea.
Ho ever, it would still require duplicating at least programs (LibreOffice, browser etc), because running them directly from N900's partitions (as installed for usage in ED chroot), would be far from "hassle-free", yes? Of course, this way we can also forget about any Maemo program (yet, as we can install Debian things on Raspberry Pi, it wouldn't be entirely ''tragic'' ;) ). As for sharing internet connection it's no problem via USB networking. Yet, it would require already running N900 (here we went back into my question about 2 OS mounting the same partition, simultaneously). Thus, we would be able to share both WiFi and Cellular connections, at the same time sharing partitions, without additional overhead (Raspberry Pi read things from N900's partition via USB, and at the same time, N900 share network via USB networking). /Estel // Edit Wouldn't mass-storage mode and USB-networking exclude each other? If yes, we would need to stay on USB networking, and mount N900's partitions over network, while still having possibility to share internet connection. Also, isn't creating loop devices a solution to "2 OS mounting the same partition" possible problem? N900 would have partitions mounted normally, and Raspberry Pi via a loop. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
Quote:
However I think the easier and more robust idea in this case would actually be to duplicate the software which, at least between ED and the Raspberry, would be very easy since they have the same architecture. So either way would be fine. Quote:
Quote:
Quote:
Quote:
|
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Sounds brilliant. Can't wait to test it - it seems, that we have so many routes to go, that we can use sulu's (which sound like most-efficient to me) approach for everyday use, javispedro DisplayLink when we *really* need Maemo programs (yet, this is just 800x480 stretched - anyway, better than tv-out...), and even experiment on more things, like ''reverse debbie'' concept (nice name, btw ;) ) for expanding further.
/Estel // Edit Updated first post. By the way, Sulu, are You sure that "PC Suite" mode allows us to not only use N900's cellular, but also WiFi? As for the latter, I always though that programs like QtMobileHotspot (see repositories, it's working flawlessly) are needed, + USB Networking or tethering via WiFi (QtMobileHotspot can do both). Of course, in any case, it's no problem, because - as You've said - we can use only USB Networking, then share partitions via sshfs (AIUI). |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
Would a good intermediate step be to ask the CSSU team to investigate standard X forwarding for the N900 for an update? |
Re: [WIP]Raspberry Pi as USB HDMI-out (via X, export DISPLAY)
Quote:
http://myn900.wordpress.com/2010/08/...ction-via-usb/ Once you have that set up (actually steps 2-4) you can also mount the N900's file systems from the other computer via sshfs. |
Re: [WIP]Raspberry Pi as USB HDMI-out (via USB Networking)
Guys, what is the problem with export DISPLAY=a.b.c.d:0.0 ? Excluding the fact that Maemo apps are hildonized and don't cooperate much with external WMs, the stuff works (at least here I am able to run osso-xterm on Cygwin X server)
|
All times are GMT. The time now is 15:44. |
vBulletin® Version 3.8.8