Hello,
as the end of the year is approaching, it's time to make up our minds about the focus of the project in 2012.
There are numerous directions we may head to, for example, we could advance our ARM support to move towards the mobile space (tablets and smart phones), or put emphasis on multi-processor support and NUMA, new kernel platforms could be explored, or we could bring forward our ambitions to combine Genode with reconfigurable hardware.
However, for me personally, the biggest leap would be to start using Genode as everyday platform for my personal computing needs. I am convinced that the framework has reached the maturity and the essential functionality to make this vision come true in 2012. Using our platform for productive work would provide us with the incentive to address real-world problems that matter for actual users - simply because we would be demanding users. Furthermore, there is no better way to show the conviction that we have in our technology than to use it ourself.
Therefore, I propose "Eating our own dog food" as the grand theme of our project for the next year.
To schedule our road map, we should first become aware of our actual computing needs and then sensibly prioritize those requirements. I'll start with a brief list of software functionalities that I need.
Fundamental:
* VIM * Shell (e.g., bash) * Tool chain (coreutils, gcc, binutils, make, findutils, tar, Tcl, expect) * Persistent file system * Block-device encryption * SSH client * Git client * GNUPG * Web browser (also used for email, don't need multi-media stuff) * PDF viewer * A way to run a just-compiled Genode sub system * Interactive python shell (to be used as a calculator) * Screen lock * A fall-back virtual machine running Linux for carrying out sporadic work with images (Gimp, Povray, ImageMagick, etc.) and LaTeX, and for testing the Linux version of Genode
Of course, there are further things I desire that are not fundamentally important but would make the experience much more enjoyable.
Add-ons:
* Tiled window manager (similar to the wonderful ion3) * Intel wireless driver * Media player (at least for playing music) * Thinkpad ACPI support, fan daemon * Qemu * Tuxpaint
This list is surprisingly short. With Noux already having reached the state where we can execute VIM natively, supporting the other command-line tools will, for the most part, be a matter of enhancing Noux (i.e., adding support for the fork syscall).
In addition, I have the immediate goal to release a new live CD by February 2012. Ideally, the demo scenarios featured on the new live CD should give a glimpse on how Genode will be used a general- purpose OS.
Do you agree with the proposal of the overall theme for 2012? Which preconditions would you consider as fundamental to make Genode usable for carrying out productive work? Which other direction would you like to see Genode heading to?
Cheers Norman
For what it's worth, it might be interesting to investigate a WINE port as a proof of concept...
I'll admit that I'm pretty impressed with the direction that Genode is moving in (even if I haven't worked with it for a long time), though.
Tyson.
On 13 December 2011 10:24, Norman Feske <norman.feske@...1...>wrote:
Hello,
as the end of the year is approaching, it's time to make up our minds about the focus of the project in 2012.
There are numerous directions we may head to, for example, we could advance our ARM support to move towards the mobile space (tablets and smart phones), or put emphasis on multi-processor support and NUMA, new kernel platforms could be explored, or we could bring forward our ambitions to combine Genode with reconfigurable hardware.
However, for me personally, the biggest leap would be to start using Genode as everyday platform for my personal computing needs. I am convinced that the framework has reached the maturity and the essential functionality to make this vision come true in 2012. Using our platform for productive work would provide us with the incentive to address real-world problems that matter for actual users - simply because we would be demanding users. Furthermore, there is no better way to show the conviction that we have in our technology than to use it ourself.
Therefore, I propose "Eating our own dog food" as the grand theme of our project for the next year.
To schedule our road map, we should first become aware of our actual computing needs and then sensibly prioritize those requirements. I'll start with a brief list of software functionalities that I need.
Fundamental:
- VIM
- Shell (e.g., bash)
- Tool chain (coreutils, gcc, binutils, make, findutils, tar, Tcl,
expect)
- Persistent file system
- Block-device encryption
- SSH client
- Git client
- GNUPG
- Web browser (also used for email, don't need multi-media stuff)
- PDF viewer
- A way to run a just-compiled Genode sub system
- Interactive python shell (to be used as a calculator)
- Screen lock
- A fall-back virtual machine running Linux for carrying out sporadic
work with images (Gimp, Povray, ImageMagick, etc.) and LaTeX, and for testing the Linux version of Genode
Of course, there are further things I desire that are not fundamentally important but would make the experience much more enjoyable.
Add-ons:
- Tiled window manager (similar to the wonderful ion3)
- Intel wireless driver
- Media player (at least for playing music)
- Thinkpad ACPI support, fan daemon
- Qemu
- Tuxpaint
This list is surprisingly short. With Noux already having reached the state where we can execute VIM natively, supporting the other command-line tools will, for the most part, be a matter of enhancing Noux (i.e., adding support for the fork syscall).
In addition, I have the immediate goal to release a new live CD by February 2012. Ideally, the demo scenarios featured on the new live CD should give a glimpse on how Genode will be used a general- purpose OS.
Do you agree with the proposal of the overall theme for 2012? Which preconditions would you consider as fundamental to make Genode usable for carrying out productive work? Which other direction would you like to see Genode heading to?
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
I think a shell (bash as personal preference), persistent storage, and a native toolchain for self-hosted dev will be a terrific start. From there everything else follows.
Another thought I had yesterday was Wayland, however it's my understanding that it currently relies on xorg drivers so might be hard to port directly. However it sounds like it's similar to Liquid FB from a very cursory glance, so maybe implementing just the protocol itself can be fairly straightforward without sacrificing anything?
Cheers, Wes
On Tue, Dec 13, 2011 at 9:32 PM, Tyson Key <tyson.key@...9...> wrote:
For what it's worth, it might be interesting to investigate a WINE port as a proof of concept...
I'll admit that I'm pretty impressed with the direction that Genode is moving in (even if I haven't worked with it for a long time), though.
Tyson.
On 13 December 2011 10:24, Norman Feske <norman.feske@...1...> wrote:
Hello,
as the end of the year is approaching, it's time to make up our minds about the focus of the project in 2012.
There are numerous directions we may head to, for example, we could advance our ARM support to move towards the mobile space (tablets and smart phones), or put emphasis on multi-processor support and NUMA, new kernel platforms could be explored, or we could bring forward our ambitions to combine Genode with reconfigurable hardware.
However, for me personally, the biggest leap would be to start using Genode as everyday platform for my personal computing needs. I am convinced that the framework has reached the maturity and the essential functionality to make this vision come true in 2012. Using our platform for productive work would provide us with the incentive to address real-world problems that matter for actual users - simply because we would be demanding users. Furthermore, there is no better way to show the conviction that we have in our technology than to use it ourself.
Therefore, I propose "Eating our own dog food" as the grand theme of our project for the next year.
To schedule our road map, we should first become aware of our actual computing needs and then sensibly prioritize those requirements. I'll start with a brief list of software functionalities that I need.
Fundamental:
- VIM
- Shell (e.g., bash)
- Tool chain (coreutils, gcc, binutils, make, findutils, tar, Tcl,
expect)
- Persistent file system
- Block-device encryption
- SSH client
- Git client
- GNUPG
- Web browser (also used for email, don't need multi-media stuff)
- PDF viewer
- A way to run a just-compiled Genode sub system
- Interactive python shell (to be used as a calculator)
- Screen lock
- A fall-back virtual machine running Linux for carrying out sporadic
work with images (Gimp, Povray, ImageMagick, etc.) and LaTeX, and for testing the Linux version of Genode
Of course, there are further things I desire that are not fundamentally important but would make the experience much more enjoyable.
Add-ons:
- Tiled window manager (similar to the wonderful ion3)
- Intel wireless driver
- Media player (at least for playing music)
- Thinkpad ACPI support, fan daemon
- Qemu
- Tuxpaint
This list is surprisingly short. With Noux already having reached the state where we can execute VIM natively, supporting the other command-line tools will, for the most part, be a matter of enhancing Noux (i.e., adding support for the fork syscall).
In addition, I have the immediate goal to release a new live CD by February 2012. Ideally, the demo scenarios featured on the new live CD should give a glimpse on how Genode will be used a general- purpose OS.
Do you agree with the proposal of the overall theme for 2012? Which preconditions would you consider as fundamental to make Genode usable for carrying out productive work? Which other direction would you like to see Genode heading to?
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Fight Internet Censorship! http://www.eff.org http://vmlemon.wordpress.com | Twitter/FriendFeed/Skype: vmlemon | 00447934365844
Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Wes,
Another thought I had yesterday was Wayland, however it's my understanding that it currently relies on xorg drivers so might be hard to port directly. However it sounds like it's similar to Liquid FB from a very cursory glance, so maybe implementing just the protocol itself can be fairly straightforward without sacrificing anything?
You are spot-on with mentioning Wayland. Indeed, this is one of the projects already mentioned at our challenges page:
http://genode.org/community/wiki/Challenges
Wayland is independent from xorg. However, it relies on the GPU driver normally found in the Linux kernel as well as the user-level bindings found in libdrm. Fortunately, we have already ported (most of) these parts for Intel GPUs to Genode. See:
http://genode.org/documentation/release-notes/10.08#section-0
Even though our port is still at an experimental stage (and we haven't actively worked on it for a while), it can serve as a solid starting point.
That said, I would prioritize the work on the Wayland integration lower than the points I subsumed under the label "fundamental" in my last email. Once we made the big step of switching to Genode to do actual development work, our desire for high-performance graphics will follow soon enough. Of course, if anyone steps up and wants to start working on this topic right away, I'd be glad to assist.
Cheers Norman
Norman Feske wrote:
Wayland is independent from xorg. However, it relies on the GPU driver normally found in the Linux kernel as well as the user-level bindings found in libdrm. Fortunately, we have already ported (most of) these parts for Intel GPUs to Genode. See:
I have exactly one concern about Wayland.
There is a specific developer who has been busily breaking the keyboard and mouse drivers on Xorg. The keyboard and mouse drivers used to be the most reliable drivers on my computer, after this specific intel employee started getting involved and making the keyboard and mouse "hot pluggable", Xorg normally loads with NO KEYBOARD OR MOUSE SUPPORT AT ALL!!! I either have to cold-boot the computer or I have to ssh into it from somewhere else to kick it back to console mode. I forgot his name, it is rather complex with accent characters. The solution is to add more lines to xorg.conf to force the driver to behave as it used to. My xorg.conf now reads like a mantric chant of commands to disable hot-plugging.
This person is a man that I want lifetime banned from the open source movement for reason of the quantity of my time he has wasted and the amount of stress and aggrivation he has dealt me. =( This grade-A asshole is also a prominent developer in the Wayland project therefore I have very little hope that Wayland will ever be either reliable or usable. =(
Hi Tyson,
For what it's worth, it might be interesting to investigate a WINE port as a proof of concept...
I'm not sure what this project would proof.
Speaking from my personal point of view, when I left the Windows world for Linux many years ago, this step felt like a liberation. I never looked back and don't even have fond memories of any specific Windows application that I would miss today. (in contrast to how I feel about Atari, Acorn, and Amiga home computers) Although I admire the monumental effort of the developers of WINE, I'm not among its users.
From our company's point of view, I do not see apparent business value
in combining WINE with Genode. What benefits would that bring to users of WINE?
In general, I believe that the possibility to execute Windows software on Genode is a desirable feature. But I would approach this topic either by teaming up with the developers of the Vancouver VMM to assist them with making Vancouver compatible with Windows. Or alternatively, I would try to get in touch with the people at Microsoft who are working on the MinWin project. Combining MinWin with Genode would be rather interesting. Ok, we have to be realistic. .-) Even in the unlikely case that the MinWin developers would show interest in such an endeavor, I doubt that such a collaboration can happen in an open manner.
Having said all that, I think it wouldn't be sensible to schedule any of these thoughts for Genode's road map for 2012. Do you agree?
I'll admit that I'm pretty impressed with the direction that Genode is moving in (even if I haven't worked with it for a long time), though.
Thanks a lot for your nice words! :-)
Norman
Hi Alan,
amount of stress and aggrivation he has dealt me. =( This grade-A asshole is also a prominent developer in the Wayland project therefore I have very little hope that Wayland will ever be either reliable or usable. =(
so I take it that you won't step up working on the Wayland-on-Genode project? .-)
Admittedly, I enjoy reading a good rant once in a while but I'm afraid that this mailing list is not a suitable place for such material. I would appreciate maintaining a calm and constructive tone on the list and sparing personal quarrels and FUD attacks for private blogs.
Cheers Norman
Hi,
after reading Norman's list for second time, I think it covers also 90% of my needs. One thing I'd like to add is an IM client for Jabber as I use this features regularly at work and privately.
Additionally, I'd definitely boost the priority of the tiling window manager with native support for graphical and textual (terminal) clients. This feature entered my worklife step by step over the last years. First, I used Terminator as a tiling/tabbing terminal emulator and then Ion3/Notion as real tiling/tabbing window manager. Now, I'm able to completely concentrate the solution of the task at hand not which window is in the way of it.
Optionally, the list could be extended by my favourite MUA mutt.
Greets
Hi,
taken the fundamental functionalities and enjoyable addons from Norman and Christian, there is almost nothing to add to. But although I don't want to give opportunity for tiring flame-wars, I'd like to add emacs to the list. For my sake, to the list of non-fundamental, but enjoyable addons.
As it's good practice in Genode's history to always take a broad approach (having different kind of kernels, pushing virtualization techniques etc.), I would love it to see Genode not only on my desktop, but running internet services too. Thereby, hosting the project's website would be a good starting point.
Regards Stefan
Hi Stefan,
techniques etc.), I would love it to see Genode not only on my desktop, but running internet services too. Thereby, hosting the project's website would be a good starting point.
...following the foot steps of http://barrelfish.org :-) Excellent idea! We should definitely put this goal on our near-term agenda.
Cheers Norman
On Do, 2011-12-15 at 16:25 +0100, Christian Helmuth wrote:
Hi,
after reading Norman's list for second time, I think it covers also 90% of my needs. One thing I'd like to add is an IM client for Jabber as I use this features regularly at work and privately.
If I replace vim by emacs, then I'd be happy. It brings a useful IRC, mail, news client and probably a Jabber client as well. (Yes, it's an operating system.) Although at some point or another it ran on pretty much everything, I doubt this is an straightforward port.
Additionally, I'd definitely boost the priority of the tiling window manager with native support for graphical and textual (terminal) clients.
That would be awesome! (Pun very much intended! *g*)
Regards, Julian
Hello everyone,
just recently, I had a chat with Norman about the finalization of the roadmap for 2012 and we agreed that one item should not be forgotten: device drivers.
Currently, we have a satisfying mix of native drivers (PS/2, VESA framebuffer, ATA/ATAPI, SATA, UART) and ports from other systems (iPXE NIC drivers, Linux 2.6 audio, GPU and USB). I'm really confident with our own developments and the neat device-driver environment for iPXE, but the situation with the Linux drivers is different. The linux_drivers repository is showing its age with the most recent version being Linux 2.6.20.21. For audio be backported drivers from 2.6.28 and for the Intel GPU driver we went for a completely new port that just shares the same repository. Finally, linux_drivers is lagging behind with regard to handling third-party source code and, thus, bloats the Genode source package with lots of sources from the Linux kernel.
Therefore, I propose to put device drivers for USB (HID, MSC), GPU, and optionally audio on the agenda. The development should be guided by the i915 implementation and, thus, obsoletes the current linux_drivers. It may sound ambitious, but IMO the drivers should be ready for Genode 12.05. What is your opinion?
Regards
Hello,
Therefore, I propose to put device drivers for USB (HID, MSC), GPU, and optionally audio on the agenda. The development should be guided by the i915 implementation and, thus, obsoletes the current linux_drivers. It may sound ambitious, but IMO the drivers should be ready for Genode 12.05. What is your opinion?
I support this course of action and think that realizing the overhaul in version 12.05 is achievable.
In the meantime, we should split 'linux_drivers' from the normal Genode repository to keep Genode's Git repository tiny and neat. In the SVN and release archives, 'linux_drivers' should be included but on Github, we better put them into separate Git repo. Once we go for a 'make prepare' mechanism in 'linux_drivers' (in the line of how we handle all other contrib code now) we can incorporate the new version into the mainline Genode repository.
I also think that taking the porting work of the GPU driver as blue print for the USB stack and audio drivers is the way to go. For the GPU driver, the emulation environment is about 2 KLOC only. Contrasting this value with the more than 300 KLOC of code currently present in the DDE Linux driver environment is a pretty convincing argument. .-)
The only question I have is about the MadWifi driver. Will be abandon it in favor of more current Wifi drivers as found in recent Linux kernels? If yes, I'd propose to schedule this work for the second half of 2012.
Cheers Norman
Hi,
On 12/13/2011 11:24 AM, Norman Feske wrote:
Add-ons:
- Tiled window manager (similar to the wonderful ion3)
- Intel wireless driver
- Media player (at least for playing music)
- Thinkpad ACPI support, fan daemon
- Qemu
- Tuxpaint
I'd like to add Midnight Commander, which I'm using quite often.
Christian
Hello,
thanks for all the suggestions for our road map. I have summarized the discussion and updated the road-map on our website at
http://genode.org/about/road-map
For your convenience, here is the plan:
"Eating our own dog food" =========================
To emphasize our conviction in the maturity and flexibility of Genode, we dedicate the year 2012 to the transition of the framework from a toolkit for building special-purpose operating systems to a fully functional general-purpose OS. The ambitioned goal of the Genode developers is to switch to Genode as everyday OS environment for carrying out productive work. In addition to bringing forward Genode as general purpose OS, we plan to use it to serve the genode.org web site.
Ingredients ===========
As developers of low-level system software, we have very specific expectations from our everyday OS. While we can live happily without graphical effects and rich multimedia applications, an efficient Unix-like command-line interface, the presence of development tools, and system stability are crucial.
We identified the following features as fundamental to our computing needs:
* VIM * Shell * Tool chain (coreutils, gcc, binutils, make, findutils, tar, Tcl, expect) * Persistent file system * Block-device encryption * SSH client * Git client * GNUPG * Web browser (also used for email, don't need multi-media stuff) * PDF viewer * A way to run a just-compiled Genode sub system * Interactive Python shell (to be used as a calculator) * Screen lock * A fall-back virtual machine running Linux for carrying out sporadic work with images (Gimp, Povray, ImageMagick, etc.) and LaTeX, and for testing the Linux version of Genode * Tiled window manager (similar to the wonderful ion3) * IM client for Jabber
With those fundamentals in place, we will be ready to get started using the system. This will be the right time to address add-ons that make the devloper's life more efficient and enjoyable:
* EMACS (for all those that cannot live with VIM) * Intel wireless driver * Media player (at least for playing music) * Thinkpad ACPI support, fan daemon * Qemu * Tuxpaint * High-performance graphics, e.g., via the Wayland display server * Native mail-user agent (e.g., mutt) * Additional command-line tools (e.g., mc)
The work on enabling these functionalities on top of Genode will be scattered over the year. However, for each of the four releases in 2012, we define a particular focus.
Milestones ==========
:February - Release 12.02: * File and directory-service interfaces * Offline Unix tools (vim, shell, tool chain) * PDF viewer
:March - Live CD 12.03: * Presenting usage scenarios of Genode as development platform
:May - Release 12.05: * Revisiting the support for Linux drivers (USB, sound) * Network-based Unix tools (e.g., ssh, Git), IM client * Persistent file system
:August - Release 12.08: * Tiled window manager and user-interface concept * Intel wireless driver * Media player * Hosting genode.org website on Genode * Multi-processor support on NOVA, Pistachio, and Fiasco.OC
:November - Release 12.11: * Extended support for Lenovo Thinkpad * Cryptography (block-device encryption, GNUPG) * Additional tools (emacs, mc)
Additional topics =================
In addition to the main theme for 2012 described above, Genode will continue to improve its support for ARM-based platforms.
If you have further ideas, please do not hesitate to discuss them on the list. The road map is not carved in stone.
Cheers Norman