![]() |
If your concern is looks, just save effort and go with Qt/GTK+ and pick a style/theme/look&feel pack that's less flashy, or realise this is a personal preference and that the toolkit with greater flexibility in this regard will get your users with various tastes and not tie you all to the limitations of basic X plus whatever you recreate - it smacks of Not Invented Here syndrome. Also being as these Qt/GTK+/WxWidgets are cross-platform, they are the abstraction layer you're talking of writing, or just have 2 layers, so you require less specific changes in less places to be ported about.
|
Quote:
Unlike Windows, Linux itself does not consider the video hardware to be an integral part of the OS. It is quite common for embedded systems to be completely headless. Indeed, the desktop GUIs that we commonly use are simply userspace applications running fully independently from the Linux OS. By convention only, X is the standard method of crafting GUIs under Linux. The X servers we generally use on desktop Linux hosts is typically built on local video hardware supported by drivers that are also independent of the X server. While I don't doubt the optimization embedded in your code, I would urge you to explore the quality of the code that has been created in Linux drivers for the same hardware. It has the benefit of many years of testing, scrutiny, and upgrades by people who do actually know some things, too. --- rod. |
Hi there,
I'm just trying to address all the helpful contributions in one post. Let's see if that works. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
I wish you all a merry Xmas. [X] Doc CPU |
Quote:
So I do not think that it is reasonable to keep "vanilla VGA" with 4bit color in mind when developing gui controls. It might be more reasonable to offload worries about acceleration and speed onto abstraction layer provided by OS, and concentrate on programming instead. Still, the choice is yours. Perhaps you develop extremely specialized software for extremely specialized hardware or something. Or perhaps you don't. |
Hi there,
Quote:
Quote:
Quote:
Quote:
[X] Doc CPU |
Doc CPU,
I will add my voice to the GTK+ recommendation. I think you will find it worthy of anytime you invest. To the later hardware oriented question, let me remind you to review the structure of the linux kernel. Rather than looking for ways to keep the kernel away from certain address ranges, you might want to consider how you can adapt your objectives into those of the kernel itself. Kernel drivers and modules are not hard to originate and they have full access to the hardware, and might be considered your very own abstraction layer. Open source and Linux offer new possibilities and/or options. I appreciate your approach to this transition and wiliness to do the heavy lifting. Spend some time with the kernel before you decide on tooling. Linux is more. James, |
Quote:
--- rod. |
Hi there,
Quote:
Quote:
Quote:
Of course that part would have the status of a device driver, as far as privileges are concerned. That was so obvious for me I didn't mention it. Quote:
[X] Doc CPU |
FWIW, there is kernel mode Linux: http://www.linuxjournal.com/article/6516 , http://web.yl.is.s.u-tokyo.ac.jp/~tosh/kml/ .
|
Hi there,
Quote:
*bookmark* [X] Doc CPU |
Quote:
|
Hi there,
Quote:
[X] Doc CPU |
Quote:
The modified kernel part may talk to your VGA HW. The above have been my quick thoughts on the problems you are trying to solve - no more than that. |
Quote:
It is quite feasible to create userspace drivers that use the facilities provided by Linux to gain full access to hardware. Its just that the nature of that access is through defined mechanisms such as the ioperm() facility, the /dev/port() and /dev/mem() system calls. Re-writing your VGA driver to use these facilities probably isn't a huge deal, and the use of mmap() to access large blocks of video memory is implemented in a very efficient way. Sergei, I'm not sure how fuse can be exploited as any aid to accessing hardware from userspace. I've used it before, and never saw that as a part of it's role. Can you expand on that a bit? --- rod. EDIT: written while above articles were being posted. |
Hi there,
Quote:
Quote:
Modifiying my existing code to use these features would indeed be easy. Quote:
[X] Doc CPU |
All times are GMT -5. The time now is 05:07 AM. |