From: daniele_dll <dan...@ya...> - 2006-08-31 08:12:47
|
> Hello Daniele, > > > is a lot of time that i don't write on this > > mailing-list, and i don't know if henry remember > about > > me :) > > You send me a SDL sample, long time ago. Right? ;-) Yes :) > > I know that there is an attempt to implement a > > framebuffer support into co-linux but a lot of > time i > > thinked to a possible alternative but i never had > the > > time to propose it! > > > > The way in what a framebuffer work is simply but > heavy > > for a computer, and when at this must be added > another > > "layer" that must do other work, i think that the > slow > > down is really serious! > > Do you have checked the cofb from Nuno? > http://www.henrynestler.com/colinux/testing/nlucas-2.6.11/20050805/ > > This is a good starting point. Need to optimise on > Windows side. > > Henry A lot of work have been done before my last look at the source code :) Can be that there is a way to optimize using Hardware Surfaces and Overlays! COFB, at the moment, has a "software surface", a block of memory that contains the current screen image, and to show this a lot of work is need: - colinux must copy modified areas in own framebuffer - console must get these from the shared memory - windows get these into the video card memory Using hardware surface will be directly the linux kernel to write into the video surface and doing this no need to "refresh", simply to have a specific window with a specific colour, the alpha key colour! I don't know if is possibile but if when a console attach it can create, using sdl, an hardware surface and can pass the memory pointer to the linux kernel! In this way when the console connect it create the HW Surface, pass the starting memory pointer and other infos to the linux kernel that can do a first sync between framebuffer and video memory and every time the kernel recives an update it can copy the update into the kernel framebuffer and into the video memory skipping a lot of work. Naturally there is a big question: the linux kernel can access "external" memory? Best Regards, Daniele p5.vert.ukl.yahoo.com uncompressed/chunked Thu Aug 31 07:17:32 GMT 2006 ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Anders E. C \(KI/EAB\) <and...@er...> - 2006-08-31 08:40:18
|
=20 >=20 > Naturally there is a big question: the linux kernel > can access "external" memory? >=20 >From my not-yet-in-depth look at colinux memory handling,=20 I'd say that the linux side can't use any windows allocated memory. There's only the shared window to pass info betwen the sides. I've been poondering the idea to have an additional interface betwen window and linux using something like iovecs,=20 so you'd be able to pass a pointer to an iovec array=20 and the memory handling would make sure that=20 the right pages are mapped to/from linux/windows.=20 I'm not sure if it's doable, but it would be handy=20 for anything that wants higher bandwidth between the=20 two sides. Maybe that would be usable for the fb stuff? /Anders |
From: daniele_dll <dan...@ya...> - 2006-08-31 14:16:19
|
Probably yes Consider that the speed up of this way to handle COFB is extreme: - no multiple copies of the same memory area - no cpu consumption - no low refresh Teorically you can use games, but however vesa driver for X use, naturally, software rendering so they goes slow, but can be possibile to use Use Hardware Surfaces and Overlayes are like when you start to see a film using powerdvd, winamp or similar software and you move the window that contain the film ... what happen? the window move correctly but the content isin't fast refreshed and you see alpha key color (black, magenta or others) while the film is paused in the movemnt Using these systems in colinux will let to him to achieve no slow down from graphical system ... it will be really near to direct execution (on windows can be fast than it because linux can't use hardware surfaces if X drivers aren't configured correctly or the kernel hasn't modules!) --- "Anders Eriksson C (KI/EAB)" <and...@er...> ha scritto: > > Naturally there is a big question: the linux > kernel > > can access "external" memory? > > From my not-yet-in-depth look at colinux memory > handling, > I'd say that the linux side can't use any windows > allocated memory. > There's only the shared window to pass info betwen > the sides. > > I've been poondering the idea to have an additional > interface > betwen window and linux using something like iovecs, > so you'd be able to pass a pointer to an iovec array > and the memory handling would make sure that > the right pages are mapped to/from linux/windows. > I'm not sure if it's doable, but it would be handy > for anything that wants higher bandwidth between the > two sides. Maybe that would be usable for the fb > stuff? > > /Anders > > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel > ___________________________________ Yahoo! Messenger with Voice: chiama da PC a telefono a tariffe esclusive http://it.messenger.yahoo.com |