Re: Laptop Touchscreen (was: Re: Roadmap 2021)

2021-01-19 Thread Johannes Kliemann
Hi John,

>  From what I've read, PC laptop touchscreens and pens generate USB HID
> events, so it shouldn't be necessary to write low-level drivers for each
> model.

Many PC platform touchscreens (and also some touchpads) use the I2C HID [1] 
interface. You may have a look into this protocol since it might enable a 
variety of devices.

Best regards,
Johannes

[1]: https://docs.microsoft.com/en-us/previous-versions/windows/hardware/
design/dn642101(v=vs.85)



___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Laptop Touchscreen (was: Re: Roadmap 2021)

2021-01-19 Thread Alexander Boettcher
On 18.01.21 18:40, John J. Karcher wrote:
>>> What would be involved with bringing touchscreen support to the PC platform?
>>>
>>> I don't know if anyone is familiar with the interface(s) for active pens, 
>>> which would be the icing on the cake, but it would be really nice to be 
>>> able to test whatever touch UIs are developed for phones/tablets on the 
>>> laptop as well.
>>
>> the general support was added already in 2015 (see release notes [0]) for 
>> one specific touch device used with one notebook back then.
>>
>> Since then, however, the topic was not relevant anymore nor integrated with 
>> Sculpt. It boils down to write or port the touch device driver for the 
>> desired/specific notebook, calibrate/sync the resolution of the touch device 
>> to the currently used screen resolution in Sculpt and potentially additional 
>> UI work.
>>
>> [0] https://genode.org/documentation/release-notes/15.02
> 
> I'm curious to see if I can advance the ball on this a little bit, as a 
> developer learning experience as well as to actually get the feature.
> 
> From what I've read, PC laptop touchscreens and pens generate USB HID events, 
> so it shouldn't be necessary to write low-level drivers for each model.

[0] was indeed a USB touchscreen back then from Wacom. If you have another 
vendor for your target device, you will need to come up with another touch 
driver.

> 
> As a short-term goal, I would like to be a able to see (i.e. log) the 
> touchscreen/pen events within Sculpt.  I'd like to use the new USB driver 
> model so it's useful going forward, preferably as a depot package.
> 
> Is my understanding correct?  Does anyone have any guidance on where to start?

In principle yes. First find out which touch device you have for your target 
hardware. Write or port the touch driver. You may have a look into our usb_hid 
driver, which has the USB touch Wacom driver already enabled via the dde_linux 
approach.

Cheers,

--
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-18 Thread Piotr Tworek
On Mon, 2021-01-18 at 16:11 +0100, Sebastian Sumpf wrote:
> Hi Piotr,
> 
> On 1/16/21 10:03 AM, Piotr Tworek wrote:
> > The part of the roadmap that interests me the most is the GPU
> > support
> > part. This is something I'm really interested in and I do already
> > have
> > working mesa 20.1 port for Genode along with both kernel and
> > userspace
> > driver parts targetting qemu virtual GPU (virgl). The kernel part
> > was
> > borrowed from Linux 5.8 and ported using "forked" dde_linux code.
> > 
> > The main problem is my port is not compatible with existing Genode
> > windowing system. My initial goal was to support Linux DRM/KMS APIs
> > in
> > Genode. While working on this I decided to omit the KMS part of the
> > duo, but DRM parts are complete enough to run mesa EGL/DRM backend
> > without major modifications. My end goal is to get Qt EGLFS backend
> > working and have GLESv2 accelarated QML GUI running on top of it.
> > The
> > only missing part right now is the EGLFS backend port. I'm not
> > there
> > yet only because I got distracted by my clang port :P.
> > 
> > Even though my plans are probably not fully aligned with Genode
> > Labs, I
> > think the mesa port I have might save you some porting time.
> 
> Sounds interesting, we will have to update Mesa anyway this year. Is
> there a branch I can take a look at?

Right now all the code sits in a separate private repository. It
contains some stuff which I'm not ready to share yet. I can extract the
relevant parts into a new repo and push it to github. I'll just need
some time to do it. I'll let you know once its done.

>  Our goal this year is to resurrect
> our Mesa/GPU multiplexer line of work in order to have native GPU
> acceleration back on Genode. I personally have not looked into EGLFS
> but
> it might be worth a try.

EGLFS is basically a QPA plugin that allows you to run Qt on top of EGL
without an actual windowing system. Useful stuff if you work in
embedded world.

> 
> Regards,
> 
> Sebastian
> 
> 


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Laptop Touchscreen (was: Re: Roadmap 2021)

2021-01-18 Thread John J. Karcher

On 1/5/21 9:17 AM, Alexander Boettcher wrote:

Hello,

On 04.01.21 22:47, John J. Karcher wrote:


[snip]


What would be involved with bringing touchscreen support to the PC platform?

I don't know if anyone is familiar with the interface(s) for active pens, which 
would be the icing on the cake, but it would be really nice to be able to test 
whatever touch UIs are developed for phones/tablets on the laptop as well.


the general support was added already in 2015 (see release notes [0]) for one 
specific touch device used with one notebook back then.

Since then, however, the topic was not relevant anymore nor integrated with 
Sculpt. It boils down to write or port the touch device driver for the 
desired/specific notebook, calibrate/sync the resolution of the touch device to 
the currently used screen resolution in Sculpt and potentially additional UI 
work.

[0] https://genode.org/documentation/release-notes/15.02


I'm curious to see if I can advance the ball on this a little bit, as a 
developer learning experience as well as to actually get the feature.


From what I've read, PC laptop touchscreens and pens generate USB HID 
events, so it shouldn't be necessary to write low-level drivers for each 
model.


As a short-term goal, I would like to be a able to see (i.e. log) the 
touchscreen/pen events within Sculpt.  I'd like to use the new USB 
driver model so it's useful going forward, preferably as a depot package.


Is my understanding correct?  Does anyone have any guidance on where to 
start?


 Thanks!

  John J. Karcher
  devu...@alternateapproach.com

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-18 Thread Sebastian Sumpf
Hi Piotr,

On 1/16/21 10:03 AM, Piotr Tworek wrote:
> The part of the roadmap that interests me the most is the GPU support
> part. This is something I'm really interested in and I do already have
> working mesa 20.1 port for Genode along with both kernel and userspace
> driver parts targetting qemu virtual GPU (virgl). The kernel part was
> borrowed from Linux 5.8 and ported using "forked" dde_linux code.
> 
> The main problem is my port is not compatible with existing Genode
> windowing system. My initial goal was to support Linux DRM/KMS APIs in
> Genode. While working on this I decided to omit the KMS part of the
> duo, but DRM parts are complete enough to run mesa EGL/DRM backend
> without major modifications. My end goal is to get Qt EGLFS backend
> working and have GLESv2 accelarated QML GUI running on top of it. The
> only missing part right now is the EGLFS backend port. I'm not there
> yet only because I got distracted by my clang port :P.
> 
> Even though my plans are probably not fully aligned with Genode Labs, I
> think the mesa port I have might save you some porting time.

Sounds interesting, we will have to update Mesa anyway this year. Is
there a branch I can take a look at? Our goal this year is to resurrect
our Mesa/GPU multiplexer line of work in order to have native GPU
acceleration back on Genode. I personally have not looked into EGLFS but
it might be worth a try.

Regards,

Sebastian


-- 
Sebastian Sumpf
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




___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-16 Thread Piotr Tworek
The part of the roadmap that interests me the most is the GPU support
part. This is something I'm really interested in and I do already have
working mesa 20.1 port for Genode along with both kernel and userspace
driver parts targetting qemu virtual GPU (virgl). The kernel part was
borrowed from Linux 5.8 and ported using "forked" dde_linux code.

The main problem is my port is not compatible with existing Genode
windowing system. My initial goal was to support Linux DRM/KMS APIs in
Genode. While working on this I decided to omit the KMS part of the
duo, but DRM parts are complete enough to run mesa EGL/DRM backend
without major modifications. My end goal is to get Qt EGLFS backend
working and have GLESv2 accelarated QML GUI running on top of it. The
only missing part right now is the EGLFS backend port. I'm not there
yet only because I got distracted by my clang port :P.

Even though my plans are probably not fully aligned with Genode Labs, I
think the mesa port I have might save you some porting time.

/ptw

On Fri, 2021-01-15 at 14:25 +0100, Norman Feske wrote:
> Dear Genode community,
> 
> I want to thank everyone of you who participated in the road-map
> discussion. Your enthusiasm and interest in such a variety of topics
> is
> delightful! I have now tried to condense all this information into
> our
> road map for this year:
> 
>   https://genode.org/about/road-map
> 
> Even though not every single topic made it to the official road map,
> I
> hope that you find the plan compelling and in line with our joint
> discussion.
> 
> I sense that we have an exciting year ahead of us.
> 
> Cheers
> Norman
> 


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-16 Thread Piotr Tworek
The part of the roadmap that interests me the most is the GPU support
part. This is something I'm really interested in and I do already have
working mesa 20.1 port for Genode along with both kernel and userspace
driver parts targetting qemu virtual GPU (virgl). The kernel part was
borrowed from Linux 5.8 and ported using "forked" dde_linux code.

The main problem is my port is not compatible with existing Genode
windowing system. My initial goal was to support Linux DRM/KMS APIs in
Genode. While working on this I decided to omit the KMS part of the
duo, but DRM parts are complete enough to run mesa EGL/DRM backend
without major modifications. My end goal is to get Qt EGLFS backend
working and have GLESv2 accelarated QML GUI running on top of it. The
only missing part right now is the EGLFS backend port. I'm not there
yet only because I got distracted by my clang port :P.

Even though my plans are probably not fully aligned with Genode Labs, I
think the mesa port I have might save you some porting time.

/ptw

On Fri, 2021-01-15 at 14:25 +0100, Norman Feske wrote:
> Dear Genode community,
> 
> I want to thank everyone of you who participated in the road-map
> discussion. Your enthusiasm and interest in such a variety of topics
> is
> delightful! I have now tried to condense all this information into
> our
> road map for this year:
> 
>   https://genode.org/about/road-map
> 
> Even though not every single topic made it to the official road map,
> I
> hope that you find the plan compelling and in line with our joint
> discussion.
> 
> I sense that we have an exciting year ahead of us.
> 
> Cheers
> Norman
> 


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-15 Thread Christian Helmuth
Hello Michael,

On Fri, Jan 15, 2021 at 16:18:35 CET, Michael Grunditz wrote:
> Reading the roadmap from the linked page. With Pine64   do you mean
> Allwinner A64 soc? Pine64 is the name of the company producing devices with
> at least two ARM socs and a couple of smaller risciv.

You're right, the term is a bit vague. What the road map should
state (and we will change that) is: PINE A64-LTS SBC
https://pine64.com/product/pine-a64-lts/.

Greets
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-15 Thread Michael Grunditz
Reading the roadmap from the linked page. With Pine64   do you mean
Allwinner A64 soc? Pine64 is the name of the company producing devices with
at least two ARM socs and a couple of smaller risciv.



Den fre 15 jan. 2021 14:26Norman Feske  skrev:

> Dear Genode community,
>
> I want to thank everyone of you who participated in the road-map
> discussion. Your enthusiasm and interest in such a variety of topics is
> delightful! I have now tried to condense all this information into our
> road map for this year:
>
>   https://genode.org/about/road-map
>
> Even though not every single topic made it to the official road map, I
> hope that you find the plan compelling and in line with our joint
> discussion.
>
> I sense that we have an exciting year ahead of us.
>
> Cheers
> Norman
>
> --
> Dr.-Ing. Norman Feske
> Genode Labs
>
> https://www.genode-labs.com · https://genode.org
>
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>
> ___
> Genode users mailing list
> users@lists.genode.org
> https://lists.genode.org/listinfo/users
___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-15 Thread Norman Feske
Dear Genode community,

I want to thank everyone of you who participated in the road-map
discussion. Your enthusiasm and interest in such a variety of topics is
delightful! I have now tried to condense all this information into our
road map for this year:

  https://genode.org/about/road-map

Even though not every single topic made it to the official road map, I
hope that you find the plan compelling and in line with our joint
discussion.

I sense that we have an exciting year ahead of us.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-13 Thread Norman Feske
Hi Ivan,

thank you so much for joining the road-map discussion, and in particular
for your enthusiasm about the Genode-on-Pinephone topic!

> I was fascinated to read about Norman's goal to have a Genode-based
> phone, especially Pinephone. Because last year I spent to launch
> Genode on Pinephone.  My 2020 goal was to have a simple working
> prototype that could send and receive SMS at least. I have ported some
> drivers: USB host, USB Modem, GPIO. Even though those drivers are not
> clean enough, I published my working branch on Github:
> https://github.com/iloskutov/genode/tree/pinephone. To achieve my
> goal, I still need to implement Framebuffer, I2C, and Touch Screen
> drivers. Now I am trying to port Linux framebuffer driver using
> dde_linux, but I have not succeeded in this yet.

This is just fantastic! I'm pretty sure that your existing work will
accelerate the project a lot. In particular, while following my plan to
jump through the hoops of the driver-porting process myself in order to
document the process for future developers, having working drivers as
reference is extremely valuable.

I also see the Pinephone project as motivation to revisit the DDE-Linux
approach. E.g., currently I'm pondering about possible ways of
leveraging Goa to streamline the work flows. If this works out well (I
don't know yet), it might be worth bringing all drivers for this
particular SoC into this new driver-porting framework, as a reference.

> So in 2021, I am going to continue work on Pinephone support in my
> spare time. I hope the official Genode support of this hardware gives
> me more motivation to continue this work. I want to implement the
> Framebuffer first. Then I will add I2C and TouchScreen drivers, and it
> should be easy. Also, I need to clean up my existing code and rebase
> it to the current Genode master.

That is music in my ears. :-)

Best regards
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-11 Thread Ivan Loskutov
Hi Genodians,

I want to share my goals for 2021 too.

I was fascinated to read about Norman's goal to have a Genode-based
phone, especially Pinephone. Because last year I spent to launch
Genode on Pinephone.  My 2020 goal was to have a simple working
prototype that could send and receive SMS at least. I have ported some
drivers: USB host, USB Modem, GPIO. Even though those drivers are not
clean enough, I published my working branch on Github:
https://github.com/iloskutov/genode/tree/pinephone. To achieve my
goal, I still need to implement Framebuffer, I2C, and Touch Screen
drivers. Now I am trying to port Linux framebuffer driver using
dde_linux, but I have not succeeded in this yet.

So in 2021, I am going to continue work on Pinephone support in my
spare time. I hope the official Genode support of this hardware gives
me more motivation to continue this work. I want to implement the
Framebuffer first. Then I will add I2C and TouchScreen drivers, and it
should be easy. Also, I need to clean up my existing code and rebase
it to the current Genode master.

I hope at least something from my work could help Norman's effort and
all Genodians community.

--
Best Regards
Ivan Loskutov

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Laptop Touchscreen (was: Re: Roadmap 2021)

2021-01-05 Thread Alexander Boettcher
Hello,

On 04.01.21 22:47, John J. Karcher wrote:
> On 1/4/21 11:33 AM, Sebastian Sumpf wrote:
>>
>> Hi folks,
>>
>> my main topics for 2020 have been Android pass through support on iMX8,
>> touch screen and OLED display drivers for the same platform, as well as
>> LTE modem support for Genode.
> 
> This reminds me of something I meant to ask about when you posted your 
> Genodians article on adding ARM touchscreen support: What would be involved 
> with bringing touchscreen support to the PC platform?
> 
> I don't know if anyone is familiar with the interface(s) for active pens, 
> which would be the icing on the cake, but it would be really nice to be able 
> to test whatever touch UIs are developed for phones/tablets on the laptop as 
> well.

the general support was added already in 2015 (see release notes [0]) for one 
specific touch device used with one notebook back then.

Since then, however, the topic was not relevant anymore nor integrated with 
Sculpt. It boils down to write or port the touch device driver for the 
desired/specific notebook, calibrate/sync the resolution of the touch device to 
the currently used screen resolution in Sculpt and potentially additional UI 
work.

[0] https://genode.org/documentation/release-notes/15.02

Cheers,

-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Sid Hussmann

Hi Norman,

> I think this mechanism has a lot of potential. E.g., for simplifying
> scenarios like the ssh-exec server.
>
> Since you linked the issue, would now be a good time for a wrap-up,
> considering the feature for staging?

Thank you. I share your view on the potential of this feature. Yes, now 
is a good time to wrap-up this feature for staging. We can move the 
discussion the github issue.


> From my perspective, it is exciting to see your commitment to the Go
> support. I'm curious how this story continues.
>
> How do you feel about mentioning this topic on the official road map?

That would be great!

> Can you foresee which Genode version would be a realistic goal for
> this feature?

My teammates Sergey Platonov, Stefan Thöni and Pirmin Duss are currently 
getting their hands dirty by investigating how much effort the Go 
support really is. It's not so trivial to estimate. I will keep you 
posted. It would be awesome if we could join forces for this endeavor!


Cheers,
Sid


--
Sid Hussmann
CTO & Founder
gapfruit AG
Baarerstrasse 135
6300 Zug - Switzerland
sid.hussm...@gapfruit.com


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Laptop Touchscreen (was: Re: Roadmap 2021)

2021-01-04 Thread John J. Karcher

On 1/4/21 11:33 AM, Sebastian Sumpf wrote:


Hi folks,

my main topics for 2020 have been Android pass through support on iMX8,
touch screen and OLED display drivers for the same platform, as well as
LTE modem support for Genode.


This reminds me of something I meant to ask about when you posted your 
Genodians article on adding ARM touchscreen support: What would be 
involved with bringing touchscreen support to the PC platform?


I don't know if anyone is familiar with the interface(s) for active 
pens, which would be the icing on the cake, but it would be really nice 
to be able to test whatever touch UIs are developed for phones/tablets 
on the laptop as well.


 Thanks!

  John J. Karcher
  devu...@alternateapproach.com

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Sebastian Sumpf

Hi folks,

my main topics for 2020 have been Android pass through support on iMX8,
touch screen and OLED display drivers for the same platform, as well as
LTE modem support for Genode. Last year Genode made great progress where
I especially want to mention the WebEngine and the Falcon Browser as one
of many stand out topics. All in all it is nice to see how Genode grows
more mature with every year and how our insights and knowledge in so
many areas advance. After all, Genode is just a very small company.
People tend to forget that.

For 2021 I want to resume our GPU line of work by starting with the
update of the Mesa library and getting it running on ARM. Audio is
another topic that I want to finally toggle, where any help/input from
experienced developers in this field would be very appreciated.
Additionally I recently started to update our RISC-V support to
privileged ISA spec 1.10  and currently plan to remove the Spike
emulator and replace it with Qemu. Many things may come along the way,
the Pine64 is also a very cool project for example and I want to
experiment with GOA since it seems to be a cool approach to porting 3rd
party software to Genode.

Regards,

Sebastian

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Norman Feske
Hi Sid,

thank you for presenting your review of the past year and your outlook
for 2021.

> Personally, I finished the named pipe feature of the vfs/pipe plugin to
> my liking [1]. The main motivation behind it was to easily stream data
> from pure Genode components to libc components via file-system sessions
> that can be attached to stdin, stdout and stderr. This feature also
> makes it possible to pipe several components together similarly to how
> it is possible on unix.
> 
> [1] https://github.com/genodelabs/genode/issues/3583

I think this mechanism has a lot of potential. E.g., for simplifying
scenarios like the ssh-exec server.

Since you linked the issue, would now be a good time for a wrap-up,
considering the feature for staging?

>> Where do you see untapped potential of Genode?
> 
> I share Stefan Kalkowski's view on Genode's resilience aspect as its
> biggest potential. Additional to the resiliency of the system
> architecture as a whole, I see potential in the stability of the libc
> runtime. Further, exposing the hard real-time capabilities from (some)
> kernels to the Genode user-land would open up new possibilities as well.

I agree. We should definitely keep up with the continuous work on the
libc edge cases. At times, your use cases - especially combining
networking and pthreads - presented really hard nuts to crack, but it
was all worthwhile. ;-)

>> How do you envision Genode in December 2021?
> 
> * A stable libc runtime that makes it easy and safe to port existing
> C/C++ code
> * Go support
> * Performance improvements regarding networking
> * Extended ARMv8 support, namely IOMMU protection

From my perspective, it is exciting to see your commitment to the Go
support. I'm curious how this story continues.

How do you feel about mentioning this topic on the official road map?
Can you foresee which Genode version would be a realistic goal for this
feature?

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Norman Feske
Hi Stefan,

thank you for sharing your perspective, which happens to be perfectly
aligned with my original posting.

> I agree with your perception that we did not achieved to reach a new,
> wide audience for Genode topics. Anyway, I see signs for a slowly, but
> consistently growing ecosystem around Genode in the shape of new, and
> remained users, and companies docking to our development steadily.
> And I think the steps done, regarding ARM64 development in this year
> in general, and around the i.MX8MQ SoC in particular, leverage
> Genode's potential for an increasing community.

The participation and enthusiasm shown in this roadmap thread nicely
underlines what you just said. :-) So I'm all fine with further
nurturing our small and pleasant community.

> Technically, the biggest issue to me is still the driver ecosystem.
> Hereby, we already discussed (offline) alternative approaches for
> cheaper Linux device driver ports, which I would like to follow.
> 
> The further marriage of the x86 and ARM driver ecosystem is another
> heartfelt wish of me. Hereby, the coalescense of the platform driver
> API of both architectures is essential, which I would like to
> implement.
> 
> Beside the extension of the ARM VMM to use it for my productive daily
> development VM on the MNT Reform, I really would like to use mutt mail
> setup on Genode finally.

The Linux driver topic makes a recurring appearance. I'm happy about
this resonance. The more developers getting involved in the topic, the
better.

The platform-driver topic is not glamourous but very important. Thank
you for your willingness to continue this line of work.

> Well, using the MNT Reform 2 with one hand, while holding the
> Pinephone in the other hand - both systems running Genode in a
> technically mature form to handle my daily routine. That would be more
> than I can dream of technically-wise.

What a nice picture you're putting in my head!

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Josef Söntgen
Hello fellow Genodians,

TL;DR the better part of the last year I worked on the CBE, while doing
some driver refactoring (NVMe and PCI Audio) in between. Some things I
originally planned to work on, namely USB Audio support and a lwext4
VFS-plugin, got somewhat side-lined. But I could dig up my old OSSv3 PoC
and eventually was able to use cmus on Sculpt, which is nice.

So, on one hand this year I plan to tackle the things left over from last
year. On the other hand, I would like to join the “iMX8 effort” by working
on GPU/VPU support.


Regards Josef

-- 
Josef Söntgen
Genode Labs

http://www.genode-labs.com/ · http://genode.org/


signature.asc
Description: PGP signature
___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-04 Thread Norman Feske
Hi Martin,

it is fascinating to see all those areas of your work in review. I'm
very grateful that you took the block-encryption topic under your wings.
Now I am as eager as you to see it become a natural part of Sculpt,
similar to how we enjoy the NIC router today.


> My plans so far for 2021
> 
> 
> * Finish making NIC drivers restartable in Sculpt
> 
> * Establish new API for network sessions (NIC, Uplink) inspired by the
> modern Block-Request APIs in order to simplify the use of network
> sessions and eliminate corner cases
> 
> * Graphical front end and simpler integration in general for the
> Consistent Block Encrypter in Sculpt
> 
> * Write a comprehensive CBE documentation
> 
> * Revive the Spunky project and bring it into Genode mainline
> 
> * Enhance Ada/SPARK runtime support and use Ada/SPARK for further
> fundamental code

I find all those points worthwhile to pursue. Regarding the Ada/SPARK
direction, I sense that we'll need to ways to infect more Genodians with
it. Personally, after a brief stint, I haven't managed to keep up with
it unfortunately.

Independently from the roadmap discussion, I would appreciate the
brainstorming of areas where Ada/SPARK would be naturally applicable in
Genode. E.g., with CBE we use Ada/SPARK as a core of a VFS plugin. Maybe
this could be generalized such that this language becomes a go-to choice
for implementing other parts of the storage stack (file system, cache)?

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-03 Thread John J. Karcher

Just a quick note...

I know I'm not alone in always enjoying the Genodians.org articles by 
the Genode devs.  Please keep them coming!


But after reading all the interesting ideas (RISC OS, Haiku, IDE 
integration, RISC-V, hardware ports, software ports, etc., etc.), I 
would just like to encourage all of you to share your progress / 
discoveries with the rest of us (whether here, on Genodians, on Reddit, 
or wherever you choose).


If I do anything noteworthy, I will do likewise.  ;^)

 Happy New Year!

  John J. Karcher
  devu...@alternateapproach.com

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2021-01-03 Thread Christian Prochaska
Hello,

my main work topic of 2020 has been porting QtWebEngine and the Falkon web 
browser to Genode, which also involved the move to
building everything Qt with qmake and making it possible to build Qt 
applications with the Goa tool. The current state of the web
browser is already quite usable, although some desired features like server 
certificate validation or audio/video support are still
missing. That's something I intend to continue working on in 2021.

Apart from that, I'm also interested in the whole PinePhone topic in general 
and in particular the previously mentioned idea of
exploring the possibilities of porting QML-based Sailfish OS or Ubuntu Touch 
applications and making it possible to build those with
Goa.

Christian


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-24 Thread Sid Hussmann

Dear Genodians,

Looking back on this crazy year, it is again impressive what the Genode 
community achieved. Ranging from ARMv8 support, over to the vastly improved 
libc, its thread safety, and then Martin's Consistent Block Encrypter (CBE)... 
Regarding the width of the audience, I believe one major aspect for the success 
of the Genode project is to be able to run existing code as easily as possible. 
Norman's Goa tool seems quite promising! In this regard, I want to thank 
Alexander Tormasov for initiating Go support for Genode. Can't wait to try it 
out!

Personally, I finished the named pipe feature of the vfs/pipe plugin to my 
liking [1]. The main motivation behind it was to easily stream data from pure 
Genode components to libc components via file-system sessions that can be 
attached to stdin, stdout and stderr. This feature also makes it possible to 
pipe several components together similarly to how it is possible on unix.

[1] https://github.com/genodelabs/genode/issues/3583


What areas would you wish to concentrate on?


I'm interested in platform integrity. So, I'm looking forward to trying out the 
CBE features and maybe using a TPM as trust-anchor. As with the improved AMD 
support by Alexander Boettcher, I would like to investigate using its RAM 
encryption technique (AMD SEV). I also really like the idea of Johannes to 
bring tracing tools like Lttng to Genode.


Where do you see untapped potential of Genode?


I share Stefan Kalkowski's view on Genode's resilience aspect as its biggest 
potential. Additional to the resiliency of the system architecture as a whole, 
I see potential in the stability of the libc runtime. Further, exposing the 
hard real-time capabilities from (some) kernels to the Genode user-land would 
open up new possibilities as well.


How do you envision Genode in December 2021?


* A stable libc runtime that makes it easy and safe to port existing C/C++ code
* Go support
* Performance improvements regarding networking
* Extended ARMv8 support, namely IOMMU protection

Yours truly,
Sid



--
Sid Hussmann
CTO & Founder
gapfruit AG
Baarerstrasse 135
6300 Zug - Switzerland
sid.hussm...@gapfruit.com


___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-22 Thread Tomasz Gajewski
Norman Feske  writes:

> Even though there was a brief period of activity when Stefan made some
> progress, the topic [1] became stale again. I understand the slip of
> motivation. Even though I have enabled the Rpi (including working USB)
> originally, I would not consider picking it up again in my spare time.
> I'm sorry that the support from our side was insufficient for you to
> carry on. Unfortunately, I doubt that 2021 will look much different.
>
> [1] https://github.com/genodelabs/genode/issues/3247

I know the situation. And issue number looks familiar to me :-)

>> During this process once again I realized why I don't like build
>> system based on make and especially after I found out that recursive
>> make in case of Genode build system can be written with capitalized
>> "R" in recursive :-).
>
> Please let me address the statement regarding "recursive make" in
> Genode.
>
> What is commonly referred to as a unholy practice "recursive make" is
> the use of Makefiles scattered throughout a directory structure where
> the Makefile of the parent directory triggers the Makefiles of the
> child directories. Genode's build system does not do that. The
> instances of make spawned by the build system serves different and
> orthogonal purposes.
>
> - The frontend (Makefile in the build directory) consumes the build
>   configuration and triggers lib-dependency stage, the builds, and the
>   invocation of run scripts.
>
> - The library-dependency stage traverses target description files
>   without building anythin, to construct a library-dependency graph.
>   This could strictly be taken as an example of "recursive make" if
>   we decided to split hairs.
>
> - Orchestration of the library and target builds (executing the
>   library-dependency graph, which happens to be a Makefile).
>
> - Library build, building a single library.
>
> - Target build, building a single target.
>

Thank you for this description (although I already gathered knowledge
about this part). Adding run tool to this picture makes this picture a
little more "recursive" :-). Actually removing recursive interplay
between the run tool and build system is something I'd like to remove
but I don't know how and this will be a topic for discussion later.


> If you add the depot tools to the picture, this story continues
> because the depot tools are, well, based on make and invoke Genode's
> make-based build system.

I assume that it is similar to case with run tool but I'll know when I
get to it.


> Make is a can of worms, no question. Please excuse my polemics, but
> this argument can go towards all kinds of power tools [2]. ;-)
>
> [2] https://github.com/satwikkansal/wtfpython

I'll definitely read it. It looks very interesting.


> If I understand these points correctly, you are actually not after
> replacing Genode's build system but rather supplementing scons as
> another option? That would side-step the friction I feared, which
> would be pretty cool.

Generally roadmap is not a good place to actually anounce and discuss it
but I was kind of forced to do it here.

Generally I really, really like the consistency of definitions of
libraries and programs in Genode and my idea is to make it even more
strict with scons. After I release some initial version I'll start
discussion about some issues I found. But for a start - were you aware
that current build system forgives errors like in [1] :-)

https://github.com/genodelabs/genode/blob/master/repos/base-linux/src/test/lx_hybrid_errno/target.mk


>> I hope to finish those parts quickly and make it public this year.
>
> I'm looking forward to try it out.

Great.


>> Plans for next year
>>
>> I plan to further develop build system based on scons at least until it
>> fullfills my own whishes about it or until I find some blocker that I
>> won't be able to overcome. As originally I plan to use it for
>> development for rpi. I know that I'll have to add some support for ports
>> (I plan only wrapper for current descriptions), depots and possibly
>> something more.
>
> I wonder, have you considered adding scons support to the Goa tool [3]?
> Goa is completely independent from Genode's build system and already
> supports make, cmake, autoconf, and qmake.
>
> [3] https://github.com/nfeske/goa

I did not look at this tool yet. Using it to port something is in my
personal work queue and maybe then some extension ideas will come.


Cheers
Tomasz

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-22 Thread Norman Feske
Hi John,

thank you for the enthusiastic feedback. :-)

> There are obviously many areas to focus on (too many for one person!),
> but a couple that leap off the page for me are: 1) seeing what creative
> ideas the VFS system might support, and 2) using the Nitpicker UI to
> create low-TCB front-ends.  I would also like to play more with writing
> Ada/SPARK components.
> 
> I have some other dreams too, but I'll keep them to myself until I have
> something more concrete to contribute.  ;^)
> 
> Oh yes, if I do get any free time, I would also like to update "Genode
> Corner", and turn it into a useful resource.

Great to know that you consider picking up the work on the Genode Corner.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-22 Thread Norman Feske
Hi Tomasz,

thank you very much for your elaborate posting. Your insightful
reflections are an interesting read.

> In my roadmap for 2020 I stated two areas in which I'm going to
> work. First was continuing work for supporting different rpi
> devices. Unfortunately this work did not progress much as the blocker
> issue with usb handling is still unresolved. At some point in time I
> felt powerless and left it. At least until now noone else had motivation
> to fight with it so this work is stalled.

Even though there was a brief period of activity when Stefan made some
progress, the topic [1] became stale again. I understand the slip of
motivation. Even though I have enabled the Rpi (including working USB)
originally, I would not consider picking it up again in my spare time.
I'm sorry that the support from our side was insufficient for you to
carry on. Unfortunately, I doubt that 2021 will look much different.

[1] https://github.com/genodelabs/genode/issues/3247

> During this process once again I realized why I don't like build system
> based on make and especially after I found out that recursive make in
> case of Genode build system can be written with capitalized "R" in
> recursive :-).

Please let me address the statement regarding "recursive make" in Genode.

What is commonly referred to as a unholy practice "recursive make" is
the use of Makefiles scattered throughout a directory structure where
the Makefile of the parent directory triggers the Makefiles of the child
directories. Genode's build system does not do that. The instances of
make spawned by the build system serves different and orthogonal purposes.

- The frontend (Makefile in the build directory) consumes the build
  configuration and triggers lib-dependency stage, the builds, and the
  invocation of run scripts.

- The library-dependency stage traverses target description files
  without building anythin, to construct a library-dependency graph.
  This could strictly be taken as an example of "recursive make" if
  we decided to split hairs.

- Orchestration of the library and target builds (executing the
  library-dependency graph, which happens to be a Makefile).

- Library build, building a single library.

- Target build, building a single target.

If you add the depot tools to the picture, this story continues because
the depot tools are, well, based on make and invoke Genode's make-based
build system.

So yes, Genode relies on make in a nested fashion. But it does not
operate in the way commonly described as "Recursive Make Considered
Harmful".

> Maybe I'm just incompatible with make but trying to
> understand details of it was so hard for me, that one more time I
> started thinking if it would be possible have this build system
> implemented/converted to scons, in what ways it would be better and
> what would be worse.

It has to come down to different tastes. Build systems - like
programming languages, coding styles, and editors - tend to invoke
emotional responses in programmers. After all, the personal background,
familiarity, aesthetic sense vary from person to person.

I'm not in the position to question anyone's taste. But I feel very
strongly about consistency. In my (strong) opinion, the true mastering
of a few orthogonal tools is preferable to large tool box of casually
used tools. It takes time to reach the level of craftsmanship with a
tool. Even though I repulsed against make for a long time, I once took
the deliberate decision to *embrace* it despite its shortcomings. Since
I embraced it, I had a chance to master it, and now I apply it
consistently and happily.

It is not unreasonable to prefer Scons over Make, or Python over Tcl, or
JSON over XML. But regardless of the quality of a tool, adding a
non-orthogonal tool to the toolbox spoils the consistency of the whole
unless the new tool replaces an existing tool completely. I don't see
that coming in the case of make for Genode.

The current tool set of Coreutils, Make, Tcl, XML, C++ may not be
perfect. But we apply them consistently and competently. To justify the
huge investment of retraining our tool proficiency towards the
consistent use of Python replacing make, there ought to be hard business
arguments.

Please don't take the words above critique. I admire that you actually
implement the improvements, instead of solely expressing your discomfort
with Genode's tools. I just hope that you won't be let down by me not
sharing your enthusiasm with switching away from make for Genode's build
system.

> In consequence I started my own project to create a scons based build
> system for Genode. My plan was to create one and use it myself for rpi
> development, fix all issues that I really dislike about current build
> and verify if there are some problems that I don't see that would reject
> the whole idea. Given the simplicity of most of makefiles in Genode I
> did not expect that this small part will be complex enough that
> implementation will take me half of the 

Re: Roadmap 2021

2020-12-21 Thread Christian Helmuth
Dear Genodians,

first (as each X-mas in the past years) thanks to Norman for opening
the roadmap discussion with a thorough reflection of activities and
achievements of 2020.

On Fri, Dec 18, 2020 at 14:58:49 CET, Norman Feske wrote:
> How do you perceive the outcome of the year?

Looking at my rough personal plans from 12 months ago I get mixed
feelings. First, the network appliance topic again experienced very
little attention. While I approached it from a new angle making some
progress with the uacme client for Genodians.org and the OpenSSL
update until May, the work remained on a topic branch and I got
entirely occupied by other tasks up to now. It seems I need a
different strategy for 2021 but seem to lack a plan yet.

The other topics I identified end of 2019 give a more positive
picture, especially because of the excellent efforts of my fellow
Genode developers. There's still demand for more work in following
fields.

- Complete LibC thread safety

  We worked hard on the robustness of the LibC runtime and
  multi-threaded networking in particular since 20.05 and made quite
  good progress. But the recent issue [1] and the still open [2]
  indicate demand for more attention. In this regard I still see the
  requirement for improved "Continuous POSIX-compliance testing".

[1] https://github.com/genodelabs/genode/issues/3969#issuecomment-748146578
[2] https://github.com/genodelabs/genode/issues/725

- Cultivation of Goa as porting environment

  With uacme I started my first port based on the Goa tool and the
  first steps where pretty promising. I'd love to see more
  applications finding their path to Genode on account of this tool.

> What areas would you wish to concentrate on?

I struggle to draft my future Genode developments as the past showed
I'm prone to wrong forecasts in this regard. My role seems to be more
in filling gaps on demand and helping out. I'd love to add my share to
accomplish a nice and tidy Genode phone though.

But beyond that, I expect to continue my intensive work on VirtualBox
in all facets, may it be features, optimizations, or breaking new
grounds with support for efficient guest graphics. Also definitely on
the list is the integration of uacme into Genodians.org.

I'm looking forward to another exciting Genode year.

Regards
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Martin Stein
Hi John,

El 21.12.20 a las 03:33, John J. Karcher escribió:
> One last wish, if I may: to have Spunky promoted to a first-class
> kernel.  :^)

Thanks for that motivational poke!

I'll definitely work at this in 2021.

Cheers,
Martin

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Stefan Kalkowski
Dear Genode community,

thank you Norman for initiating the roadmap debate again, and for
sharing your thoughts. Here is my input to it.

On Fri, Dec 18, 2020 at 02:58:49PM +0100, Norman Feske wrote:
> 
> What's your perspective?
> 
> 
> For drafting the road map of next year, I'm eagerly interested in
> the perspective of my fellow developers and of course users of
> Genode.
> 
> How do you perceive the outcome of the year?

I agree with your perception that we did not achieved to reach a new,
wide audience for Genode topics. Anyway, I see signs for a slowly, but
consistently growing ecosystem around Genode in the shape of new, and
remained users, and companies docking to our development steadily.
And I think the steps done, regarding ARM64 development in this year
in general, and around the i.MX8MQ SoC in particular, leverage
Genode's potential for an increasing community.

Personally, I'm a bit disappointed by myself, because I was dead set
on enabling Sculpt OS on the MNT Reform 2 by the end of the year. But
although it is almost done, I have not finished yet due to some
hardware, and driver issues. Anyway, I'm keen to catch up.

> 
> What areas would you wish to concentrate on?
> 

To me the further development of Genode/Sculpt as desktop OS on ARM
machines stays in focus. Thereby, I see lots of overlaps with Norman's
plans regarding Genode on a mobile phone, aka pinephone.

Technically, the biggest issue to me is still the driver ecosystem.
Hereby, we already discussed (offline) alternative approaches for
cheaper Linux device driver ports, which I would like to follow.

The further marriage of the x86 and ARM driver ecosystem is another
heartfelt wish of me. Hereby, the coalescense of the platform driver
API of both architectures is essential, which I would like to
implement.

Beside the extension of the ARM VMM to use it for my productive daily
development VM on the MNT Reform, I really would like to use mutt mail
setup on Genode finally.

> Where do you see untapped potential of Genode?

I still see Genode's resilience aspect as its biggest potential that
is nevertheless not yet fully achieved. A system with solid core/init
and resource multiplexers, no resource exhaustion, with restartable
drivers, which can live as long as the hardware without the need to
reboot. I think we are much closer to achieve that now.

> 
> How do you envision Genode in December 2021?
> 

Well, using the MNT Reform 2 with one hand, while holding the
Pinephone in the other hand - both systems running Genode in a
technically mature form to handle my daily routine. That would be more
than I can dream of technically-wise.

Best regards
Stefan

-- 
Stefan Kalkowski
Genode labs

https://github.com/skalk | https://genode.org

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Martin Stein
Hi Genodians,

Thanks Norman for the Roadmap reminder! And thanks to you and all the
other community members for your detailed insight in your very
motivating plans!

I'll have a try:

Review 2020
===

Kernels
~~~

* Spunky kernel written entirely in Ada
* Spunky kernel SPARK compliance
* Let further Genode core functionality benefit from Ada/SPARK

I was able to work at this a lot at the beginning of the year, resulting
in a presentation and demonstration at FOSDEM 2020 in February [8][10].
The RPC, Signalling, CPU Scheduling, Data Structures and a good part of
the Clock of Spunky made it to Ada [9][11]. Also the Sculpt OS is
running smoothly with the kernel [10]. Unfortunately from that point on
other projects consumed most of my time and I had to postpone the
"Ada-for-core" project again and again. However, I'm still motivated to
continue with this project as soon as possible.


Block encryption


* Towards using the Consistent Block Encrypter (CBE) on a daily basis

Unexpectedly, this project consumed most of my time this year. We did a
complete rework of the internal CBE design and added a lot of
functionality: Online rekeying [1][7], online resizing [2][7], a trust
anchor API and a trust anchor reference implementation [3], a
comprehensive scriptable test environment [3], a VFS integration of the
CBE and of each of its back ends [3][7], and a fancy demo featuring a
Linux VM on a CBE device in Sculpt [4][5][7].

As a side effect of the project, we also extended our Ada/SPARK runtime
support and established an Ada/SPARK coding style [6].


Network stack
~

* Design review of the NIC router

Although this is an important topic, other issues with the NIC router
and networking in Genode in general turned out to be more important for now.

* NIC router functionality

There were several smaller features missing with the NIC router. We
could add advanced means of forwarding DNS server addresses with the NIC
router, add support for ARP-less domains, and consolidate the link state
propagation.

* Turn NIC drivers into Uplink session clients

This work is part of our project "restartable NIC drivers" and it is
still in progress, but almost all NIC drivers are already adapted and
I'm positive that we'll have restartable NIC drivers in the next Sculpt
release.


Hardware support


* initializing Intel Hardware P-States (HWP)

My new Lenovo T490 motivated me to do something about supporting Intel
HWP and although it took some time, it turned out well, hopefully not
only to my own benefit [12]


Timing stack


* Clean up Timeout framework
* Consolidate multithreading support in timeout framework

These also turned out to require some time. Especially the testing and
debugging afterwards. But now there are new automated tests that
demonstrate that multithreading works well and the framework could also
be significantly simplified. Was worth it.


My plans so far for 2021


* Finish making NIC drivers restartable in Sculpt

* Establish new API for network sessions (NIC, Uplink) inspired by the
modern Block-Request APIs in order to simplify the use of network
sessions and eliminate corner cases

* Graphical front end and simpler integration in general for the
Consistent Block Encrypter in Sculpt

* Write a comprehensive CBE documentation

* Revive the Spunky project and bring it into Genode mainline

* Enhance Ada/SPARK runtime support and use Ada/SPARK for further
fundamental code

Cheers,
Martin

[1] http://genodians.org/m-stein/2020-06-07-cbe-rekeying
[2] http://genodians.org/m-stein/2020-06-07-cbe-rekeying
[3]
https://genode.org/documentation/release-notes/20.08#Consistent_Block_Encrypter
[4] https://genode.org/documentation/release-notes/index
[5] https://genodians.org/m-stein/2020-06-17-cbe-linux-vm-video
[6] https://genode.org/documentation/release-notes/20.08#Ada_SPARK_support
[7]
https://genode.org/documentation/release-notes/20.05#Feature-completeness_of_the_consistent_block_encrypter
[8] https://archive.fosdem.org/2020/schedule/event/ada_spunky/
[9] https://genodians.org/m-stein/2019-05-09-spunky-1
[10] https://genodians.org/m-stein/2020-02-03-spunky-3
[11] http://genodians.org/m-stein/2019-12-20-spunky-2
[12]
https://genode.org/documentation/release-notes/20.11#Hardware_P-State_support_on_PC_hardware

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Norman Feske
Hi Alex,

thanks for joining the discussion. I appreciate your review and thoughts!

Remembering that you suggested the load-balancing topic for the 2020
road map in the first place, it is particularly good to see how it got
interwoven with the challenges that came with the Scrcpy topic. What a
nice coincidence.

From my perspective, your series of articles and the accompanied video
captures were always fascinating to read/watch. They gave lively
insights into otherwise very technical topics. I'd love to see you
continuing to speak about your work in this way.

> For the next year, I would like to see progress in the following topics and 
> I'm willing to work on them and/or contribute to:
> 
> * Extended desktop support using multiple monitors (so, not just mirroring as 
> today) with Sculpt OS.
> 
> * Update of our Intel GPU work (done some years ago) and integrate with 
> Sculpt OS, e.g. make it usable in a daily fashion.
> 
> * I really would like to move my daily developer load (edit/compile/link/run) 
> out of a VM. This is possible since long time, but requires better 
> integration with Sculpt and performance improvements on various edges.
> 
> * Extend easiness of writing multithreaded service/multiplexer components. In 
> principle this is possible, but requires some love and extensions to minimize 
> unnecessary cross CPU load.
> 
> * SMMU (read: I/O-MMU by ARM) in our own base-hw kernel.

These are all important topics. They certainly deserve to be on the road
map.

It's good to see your interest even in unexpected areas such as the GPU
work. Your point about the developer load seems perfectly in line with
the optimization theme I suggested.

Of your topics, the multi-head topic is certainly the most vague. At the
driver side, I see what to do. But the topic will have to touch the
entire GUI stack (drivers, nitpicker, window management, dpi
considerations, configuration interfaces, Sculpt). Given the wide scope,
I sense that we ultimately need to define intermediate goals.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Norman Feske
Hi Cedric,

great to see a lifesign of you!

On 19.12.20 14:55, ttco...@netcourrier.com wrote:
> As to me, I can't contribute much to the discussion unfortunately :
> Genode has already been making bounds and leaps in the areas that count
> for me (AMD compatibility, HDA driver etc) whereas I've been ""idle""
> for a long time, thus falling behind more and more.

Admittedly, the FUSE issue is not one of those areas. Unfortunately, we
were not able to pick it up in 2020. Hence, I'm hesitant to make any
promises in this direction.

> - finish publishing a (massively cleaned up) copy of the code (aimed at
> 18.11) that already works so-so, making sure it works good-good *grin*
> - once consolidated and cleaned up, work my way through 19.x and 20.x
> versions of Genode, updating the code as I go, accounting for slight
> changes in Genode over that time and (especially) the toolchain switch
> - once up to date with Genode, get my port itself up to date
> - take advantage of the new hardware compatibility introduced recently, 
> profit !

I very much enjoyed following your work on HoG and your writings. :-)

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-21 Thread Norman Feske
Hi Colin,

thank you for having taken the time to present you perspective!

On 19.12.20 05:45, Colin Parker wrote:
>    As a hobbyist who's been following Genode for about a year now (I was
> running Sculpt on my home computer for a few months), I thought I would
> offer a few thoughts. Since I mostly do stuff for fun and at a slow
> pace, I don't expect to be influential in any serious way, but perhaps
> the perspective of hobby users is valuable nonetheless? Overall I'm very
> impressed with Genode/Sculpt - the philosophy and approach is pretty
> cool, and I have some successes with it. For example, I was able to port
> the Qt version of the "2048" game, and recently I have been trying to
> port the HelenOS driver for AR9271 usb wifi dongle - it is work in
> progress and non-functional currently. I also appreciate the level of
> active development going on - each new update brings cool stuff, so I
> think the past year of Genode updates was interesting to see.

It's great to know what's boiling in your kitchen. ;-) I'm happy that
your enjoy Genode.

> If there's one wish I have it would be better hardware support and
> resiliency. Currently, unless I misunderstand, the hardware support list
> mostly reflects the hardware that Genode Labs uses, and there doesn't
> see to be much dynamic handling of identifying and loading drivers.
> Example 1 - Sculpt will try to load a PS2 driver even on my Apple
> hardware that doesn't have any, leading to system crash. Example 2 -
> Sculpt uses pretty simple hard-coded logic to select which framebuffer
> driver to use, when I was expecting an XML file somewhere to allow more
> fine-grained control of which vendor/product IDs to assign to which
> driver (and also to identify and match other drivers, I guess).

Given the quite small amount of drivers, I found it too early to
introduce a formalism. In the longer term, once the driver landscape
becomes larger, we will certainly need to rethink this part.

As a general direction of Sculpt, I'm thinking of dissolving the static
partitioning of the system into the drivers / leitzentrale / runtime
subsystems. E.g., the dynamically started drivers should better be
hosted in the runtime subsystem (e.g., as done for the wifi driver
today). This way, those drivers and their resources become easier to
manage. The separation of these three subsystems - and the distinction
between the driver manager and the sculpt manager - was certainly useful
during the first evolutionary steps of Sculpt. But since Sculpt has
outgrown this phase, these early design decisions deserve a reconsideration.

> Example
> 3 - When the FB driver crashes, the rest of the system is resilient and
> continues to run. But, of course this is nearly useless because there is
> no way to reset the driver. Given my understanding of the
> component-based architecture, it seems like these things shouldn't be
> insurmountable issues. It should be possible to identify a failed
> component, kill it, and replace with a new instance, I think? It would
> be fun, in non-embedded applications, to be able to compile an
> experimental driver within a VM, push the result back to the running
> system, test it, tweak and recompile, etc. With that kind of workflow,
> maybe we could hope for more experimental/community drivers, at least on
> PC hardware?

I 100% share this vision and think that we are on a good way. The
foundations for restarting input and framebuffer drivers are in place
now, and network drivers are currently being worked on. We should
definitely let Sculpt reap the benefits of this work.

Cheers
Norman


-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-20 Thread John J. Karcher

On 12/18/20 8:58 AM, Norman Feske wrote:

Dear Genode community,

the end of the strange year 2020 comes in sight. So now it is time
to kick off our annual road-map discussion. I'll keep up with our
tradition of reviewing the past 12 months from my personal
perspective, dropping my ideas for the upcoming year, and inviting
you to share your ideas and plans.


First of all, I'd like to thank everyone on the Genode team, and all you 
other developers out there, for another year of excellent progress!


[snip]


What's your perspective?


For drafting the road map of next year, I'm eagerly interested in
the perspective of my fellow developers and of course users of
Genode.

How do you perceive the outcome of the year?


I completely agree with your assessment of the year.  The technical 
progress was impressive as always, across the entire spectrum of the 
ecosystem (build tools, platforms, drivers, API refactoring, etc.)!


As to growing the community, who knows what it takes to get some 
attention in this world?!  It'll probably go viral when we're least 
expecting it.  ;^)


Personally, I am very disappointed at the small amount of time that 2020 
allowed me to spend on Genode.  Here's hoping 2021 is much better!



What areas would you wish to concentrate on?


As a user, my #1 priority for 2021 is to set up Sculpt as a "daily 
driver" on my ThinkPad convertible.  (I will be asking for advice on 
this topic in a separate message.)


As a developer, I greatly appreciate (and admire) the work of those 
porting software, but my personal passion is to exploit the unique 
potential of the native Genode API, both for reducing the TCB and also 
exploring elegant ideas that are not possible on other platforms.


There are obviously many areas to focus on (too many for one person!), 
but a couple that leap off the page for me are: 1) seeing what creative 
ideas the VFS system might support, and 2) using the Nitpicker UI to 
create low-TCB front-ends.  I would also like to play more with writing 
Ada/SPARK components.


I have some other dreams too, but I'll keep them to myself until I have 
something more concrete to contribute.  ;^)


Oh yes, if I do get any free time, I would also like to update "Genode 
Corner", and turn it into a useful resource.



Where do you see untapped potential of Genode?


Everything!  Seriously, everything from boring-but-useful low-TCB server 
appliances, through standard desktops, to secure mobile platforms - all 
are within reach.


On the topic of mobile, I also am very excited about this use case! 
(Add me to the list of people who will buy a PinePhone if/when your port 
gets to a certain level.)


Personally, I am more interested in tablet features than phone features, 
for two reasons: 1) it is a quicker path to a useful device, since the 
proprietary phone-specific parts seem to always be a problem, and 2) for 
added security, I don't mind using a tablet connected via WiFi and/or 
Bluetooth to a phone/hotspot.


As you develop this, if you want to throw some mobile/tablet UI POCs out 
there, I will be happy to test them on the ThinkPad!



How do you envision Genode in December 2021?


As my daily driver desktop, for one thing!  If you keep going on the 
path you are on with Leitzentrale, moving more common actions into the 
UI, I really think it can gain traction.


One last wish, if I may: to have Spunky promoted to a first-class 
kernel.  :^)


 Thanks!

  John J. Karcher
  devu...@alternateapproach.com

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-20 Thread Tomasz Gajewski



Hello everyone,

annual discussion about roadmap has been started a little earlier than
last year and that forces me to say a little about my current work
around Genode which is not yet ready to be published (possibly I need a
week or two). More about it later in summary of current year and my
plans for next one.


Summary of current year

In my roadmap for 2020 I stated two areas in which I'm going to
work. First was continuing work for supporting different rpi
devices. Unfortunately this work did not progress much as the blocker
issue with usb handling is still unresolved. At some point in time I
felt powerless and left it. At least until now noone else had motivation
to fight with it so this work is stalled.

Another direction was to try to setup a working environment for Genode
development in some IDE - possibly in Eclipse. I started some work in
this direction and quickly found out that to be able to configure some
kind of project with which IDE will be able to help with programming I
need to provide to it as much information about build as possible
especially source files, include paths, compilation flags. Without this
information even features like syntax highlighting and identifiers
completion cannot work. So I started to look into internals of Genode
build system to find a way to extract those informations.

During this process once again I realized why I don't like build system
based on make and especially after I found out that recursive make in
case of Genode build system can be written with capitalized "R" in
recursive :-). Maybe I'm just incompatible with make but trying to
understand details of it was so hard for me, that one more time I
started thinking if it would be possible have this build system
implemented/converted to scons, in what ways it would be better and
what would be worse.

Sidenote: During last Hack'n'Hike in 2019 we had a discussion about
scons and make and that decision was made to use make. I also read a
paper about comparison of make and scons for Genode and I don't really
know what concrete elements/features were that the decision was to
choose make.

In consequence I started my own project to create a scons based build
system for Genode. My plan was to create one and use it myself for rpi
development, fix all issues that I really dislike about current build
and verify if there are some problems that I don't see that would reject
the whole idea. Given the simplicity of most of makefiles in Genode I
did not expect that this small part will be complex enough that
implementation will take me half of the year.

The most important things I do not like in current build system are:

 * big recompilations after touching makefiles and after switching
   branches

 * cases when leftovers in build directory caused hard to diagnose build
   problems

 * lack of easy ways to debug what is going on inside make (or maybe
   it's just my inability to comprehend it)

My main goals were:

 * implement build in a way that would be able to use current build
   description with as little changes in Genode repository as possible
   (currently only two symlinks have to be created and one "marker" file
   in each build directory to specify that this build directory is built
   with scons)

 * implement a verification mechanisms to be sure that scons build is
   100% correct replacement of current build (I build database of
   commands from both types of build and compare them list of targets
   and that commands are identical - after some normalization)

 * remove all absolute paths in compilation commands - they are used for
   all paths in current build - and they are bad for reproducible builds
   (which should be a goal for a project at some point in time), bad for
   using ccache or similar tools and bad for defining a project in IDE

 * be able to understand and retrieve all informations about build to be
   able to use it in external tools ide and possibly other like static
   analyzers

Current state and missing parts:

 * above goals are achieved for build of almost all target on linux
   build on sources from release 20.08 with repositories enabled by
   default (base, base-linux, os, demo). First attempts for arm6 shown
   only some minor inconsistencies in command flags so it should quickly
   go forward

 * missing any installation and usage documentation

 * need to verify on 20.11 release and current master

I hope to finish those parts quickly and make it public this year.



Plans for next year

I plan to further develop build system based on scons at least until it
fullfills my own whishes about it or until I find some blocker that I
won't be able to overcome. As originally I plan to use it for
development for rpi. I know that I'll have to add some support for ports
(I plan only wrapper for current descriptions), depots and possibly
something more.

Depending on results of this experiment and reception of Genode team and
community I will throw it away, use it myself or mayb

Re: Roadmap 2021

2020-12-19 Thread Norman Feske
Hi Johannes,

thank you for chiming in!

All what you write is just perfectly aligned with my plans. That is so
cool to read.

On 18.12.20 19:00, Johannes Schlatow wrote:
> Besides the technological obstacles such as porting device drivers,
> there is also the question of usability. I think a basic
> support/integration of web apps would make the mobile Genode already
> quite usable.

Indeed. I'm secretly glimpsing towards Sailfish OS, which apparently
uses Qt5/QML as the basis for the application API. Since Genode supports
QML already, maybe we could explore the option to bridge the Sailfish
API to Genode, leveraging Goa? No concrete plan, just vague ideas.

While playing around with various distributions on the Pinephone, the
Morph browser of Ubuntu Touch left a very good impression me. It just
happens to be based on QML and QtWebEngine also.

> I also like that Norman mentioned optimisation. I have a few ideas in
> the back of my head regarding performance optimisation and debugging. I
> would very much like to get some system-level tracing infrastructure
> running. As I've been working with Lttng this year (outside the Genode
> sphere), I thought having a similar functionality on Genode could
> dramatically simplify identifying bottlenecks and race conditions. The
> nice thing is that the developers behind Lttng established the Common
> Trace Format to store trace data. Thus, once we get a CTF trace out of
> Genode, we could use all the existing analysis and visualisation tools.

That sounds like a match in heaven. :-)

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-19 Thread Alexander Boettcher
Hello Genodians,

a year is almost over and here are my two cents to the roadmap review and wish 
list. First, I want to say that I'm really proud about the accomplished 
technical work by Genode over the whole year. Getting Sculpt OS to the i.MX8 
board with all the device drivers running is not given nor easy.

Before starting with the ideas for next year, I will review the input of me [0] 
and see how it was tackled:

The screen-casting topic developed a bit differently then I aspired, but it 
occupied me over the whole year over and over. On the one hand, in the 
beginning of the year, I was faced by streaming somehow Android to Genode, 
which resulted in the Scrcpy work eventually. It was really alien to me in the 
beginning, required to leave my comfort zone. Reading/understanding/extending 
an Android app and using Java I had done years back at University. On the other 
hand, this work also reinforced to me the motivation, not solely the pandemic, 
to record our demos and new features whenever possible. The Scrcpy work also 
strongly strengthen the believe that the CPU migration work, done in the second 
part of the year, is required for ported software. All in all, now I even do 
video editing, which was alien to me, and I already could support my fellow 
developers with that :-). Of course, the quality needs improvements but also 
requires more time. Let's see. Nevertheless, I see it as success - probably, we 
never uploaded more Genode related videos within one year ever [1][2][3][4].

Even so my envisioned [0] improved AMD support did not make it to the official 
roadmap, I invested some of my private spare time. The base is the base, and 
upholding isolation of mad going devices/drivers from the rest of the Genode OS 
components is crucial. This lead to the work of adding IO-MMU support for AMD 
machines to get to the same isolation level for device drivers as for the Intel 
machines. Testing this feature on all of the modern AMD machines of my friends 
and family took a while to get it done and straight. With an extended Sculpt 
20.08 image at hand, I discovered and addressed several other issues, e.g. 
network and USB. Finally, I started to improve the VBox5 AMD support in my 
private spare time, which still needs some tweaks. My hope is, that with the 
next Sculpt OS release more AMD machines are usable actually.

Of course, also several smaller topics and clean up work through the whole 
Genode framework (e.g. replacing Genode lock with mutex/blockade) were part of 
the year.

For the next year, I would like to see progress in the following topics and I'm 
willing to work on them and/or contribute to:

* Extended desktop support using multiple monitors (so, not just mirroring as 
today) with Sculpt OS.

* Update of our Intel GPU work (done some years ago) and integrate with Sculpt 
OS, e.g. make it usable in a daily fashion.

* I really would like to move my daily developer load (edit/compile/link/run) 
out of a VM. This is possible since long time, but requires better integration 
with Sculpt and performance improvements on various edges.

* Extend easiness of writing multithreaded service/multiplexer components. In 
principle this is possible, but requires some love and extensions to minimize 
unnecessary cross CPU load.

* SMMU (read: I/O-MMU by ARM) in our own base-hw kernel.

Cheers,

Alex.

[0] https://lists.genode.org/pipermail/users/2020-January/007003.html
[1] https://www.youtube.com/channel/UCondpn1UQ_TTNMVq3sbZLlg
[2] https://www.youtube.com/channel/UCp32vvUpjfAh6D7yHJyGpAQ
[3] https://www.youtube.com/user/Hyronimo1
[4] https://www.youtube.com/user/zero2nowhere

On 18.12.20 14:58, Norman Feske wrote:
> Dear Genode community,
> 
> the end of the strange year 2020 comes in sight. So now it is time
> to kick off our annual road-map discussion. I'll keep up with our
> tradition of reviewing the past 12 months from my personal
> perspective, dropping my ideas for the upcoming year, and inviting
> you to share your ideas and plans.
> 
> 
> Review of 2020
> --
> 
> The overarching theme of our road map for 2020 was "Dwarfing the
> barrier of entry", which expressed the ambition to reach a wider
> audience. On that account, we identified four promising directions:
> First, making Sculpt OS palatable for a wider circle. Second,
> fostering the public perception of the high quality of Genode to
> reinforce the confidence of people who are sceptical towards novel
> operating-system technology. Third, lowering the barrier of entry by
> providing frictionless tooling. And fourth, publicly presenting use
> cases that prove the fitness and flexibility of Genode.
> 
> These directions certainly did a good job of motivating the working
> topics of this year's four releases [1,2,3,4].
> 
> [1] https://genode.org/documentation/release-notes/20.02
> [2] https://genode.org/documentation/release-notes/20.05
> [3] https://genode.org/documentation/release-notes/20.08
> [4] https://genode.org

Re: Roadmap 2021

2020-12-19 Thread Alexander Boettcher
Hello Genodians,

a year is almost over and here are my two cents to the roadmap review and wish 
list. First, I want to say that I'm really proud about the accomplished 
technical work by Genode over the whole year. Getting Sculpt OS to the i.MX8 
board with all the device drivers running is not given nor easy.

Before starting with the ideas for next year, I will review the input of me [0] 
and see how it was tackled:

The screen-casting topic developed a bit differently then I aspired, but it 
occupied me over the whole year over and over. On the one hand, in the 
beginning of the year, I was faced by streaming somehow Android to Genode, 
which resulted in the Scrcpy work eventually. It was really alien to me in the 
beginning, required to leave my comfort zone. Reading/understanding/extending 
an Android app and using Java I had done years back at University. On the other 
hand, this work also reinforced to me the motivation, not solely the pandemic, 
to record our demos and new features whenever possible. The Scrcpy work also 
strongly strengthen the believe that the CPU migration work, done in the second 
part of the year, is required for ported software. All in all, now I even do 
video editing and already could support my fellow developers with that :-). Of 
course, the quality needs improvements but also requires more time. Let's see. 
Nevertheless, I see it as success - probably, we never uploaded more Genode 
related videos within one year ever [1][2][3][4].

Even so my envisioned [0] improved AMD support did not make it to the official 
roadmap, I invested some of my private spare time. The base is the base, and 
upholding isolation of mad going devices/drivers from the rest of the Genode OS 
components is crucial. This lead to the work of adding IO-MMU support for AMD 
machines to get to the same isolation level for device drivers as for the Intel 
machines. Testing this feature on all of the modern AMD machines of my friends 
and family took a while to get it done and straight. With an extended Sculpt 
20.08 image at hand, I discovered and addressed several other issues, e.g. 
network and USB. Finally, I started to improve the VBox5 AMD support in my 
private spare time, which still needs some tweaks. My hope is, that with the 
next Sculpt OS release more AMD machines are usable actually.

Of course, also several smaller topics and clean up work through the whole 
Genode framework (e.g. replacing Genode lock with mutex/blockade) were part of 
the year.

For the next year, I would like to see progress in the following topics and I'm 
willing to work on them and/or contribute to:

* Extended desktop support using multiple monitors (so, not just mirroring as 
today) with Sculpt OS.

* Update of our Intel GPU work (done some years ago) and integrate with Sculpt 
OS, e.g. make it usable in a daily fashion.

* I really would like to move my daily developer load (edit/compile/link/run) 
out of a VM. This is possible since long time, but requires better integration 
with Sculpt and performance improvements on various edges.

* Extend easiness of writing multithreaded service/multiplexer components. In 
principle this is possible, but requires some love and extensions to minimize 
unnecessary cross CPU load.

* SMMU (read: I/O-MMU by ARM) in our own base-hw kernel.

Cheers,

Alex.

-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-19 Thread ttcoder
Hi Genodians,

> drivers, I guess). Example 3 - When the FB driver crashes, the rest of the 
> system is resilient

>and continues to run. > But, of course this is nearly useless because there is 
>no way to reset

>the driver. Given my understanding of the component-based architecture, it 
>seems

>like these things shouldn't be insurmountable issues. It should be possible to 
>identify

>a failed component, kill it, and replace with a new instance, I think?



The way I understand it, this ticket hints at the "restart driver" problem 
being on its way sometimes soon, which sounds like a whole new can of pure 
kick-ass awesomeness (did any OS manage to pull off that feat before Genode ?) :



  https://github.com/genodelabs/genode/issues/3963



***



As to me, I can't contribute much to the discussion unfortunately : Genode has 
already been making bounds and leaps in the areas that count for me (AMD 
compatibility, HDA driver etc) whereas I've been ""idle"" for a long time, thus 
falling behind more and more. I still expect to get out of the salt mines in 
the next few weeks and resume my project of running a Be-like OS on top of 
Genode/nova, something like this:



- finish publishing a (massively cleaned up) copy of the code (aimed at 18.11) 
that already works so-so, making sure it works good-good *grin*

- once consolidated and cleaned up, work my way through 19.x and 20.x versions 
of Genode, updating the code as I go, accounting for slight changes in Genode 
over that time and (especially) the toolchain switch

- once up to date with Genode, get my port itself up to date

- take advantage of the new hardware compatibility introduced recently,  profit 
!



Cedric






___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

Re: Roadmap 2021

2020-12-19 Thread Michael Grunditz
Hi! Sorry for topposting!
Thanks for everything made in 2020 and exiting (as always ) thoughts about 2021.

I decided to send out my own "roadmap" instead of polluting this thread.

The best thing with Genode imho is that it doesn't force me of what I
want to run. If I need base-hw with a couple of drivers it doesn't
include a big mass of software or unrelated drivers. It is also easy
to port to new hardware thanks to the abstraction being quite easy to
grasp.

I think your roadmap is great. PinePhone is exciting but would need a
big rethink on UI,

Michael

On Sat, 19 Dec 2020 at 05:46, Colin Parker  wrote:
>
> Hi Everybody,
>As a hobbyist who's been following Genode for about a year now (I was 
> running Sculpt on my home computer for a few months), I thought I would offer 
> a few thoughts. Since I mostly do stuff for fun and at a slow pace, I don't 
> expect to be influential in any serious way, but perhaps the perspective of 
> hobby users is valuable nonetheless? Overall I'm very impressed with 
> Genode/Sculpt - the philosophy and approach is pretty cool, and I have some 
> successes with it. For example, I was able to port the Qt version of the 
> "2048" game, and recently I have been trying to port the HelenOS driver for 
> AR9271 usb wifi dongle - it is work in progress and non-functional currently. 
> I also appreciate the level of active development going on - each new update 
> brings cool stuff, so I think the past year of Genode updates was interesting 
> to see.
>
> If there's one wish I have it would be better hardware support and 
> resiliency. Currently, unless I misunderstand, the hardware support list 
> mostly reflects the hardware that Genode Labs uses, and there doesn't see to 
> be much dynamic handling of identifying and loading drivers. Example 1 - 
> Sculpt will try to load a PS2 driver even on my Apple hardware that doesn't 
> have any, leading to system crash. Example 2 - Sculpt uses pretty simple 
> hard-coded logic to select which framebuffer driver to use, when I was 
> expecting an XML file somewhere to allow more fine-grained control of which 
> vendor/product IDs to assign to which driver (and also to identify and match 
> other drivers, I guess). Example 3 - When the FB driver crashes, the rest of 
> the system is resilient and continues to run. But, of course this is nearly 
> useless because there is no way to reset the driver. Given my understanding 
> of the component-based architecture, it seems like these things shouldn't be 
> insurmountable issues. It should be possible to identify a failed component, 
> kill it, and replace with a new instance, I think? It would be fun, in 
> non-embedded applications, to be able to compile an experimental driver 
> within a VM, push the result back to the running system, test it, tweak and 
> recompile, etc. With that kind of workflow, maybe we could hope for more 
> experimental/community drivers, at least on PC hardware?
>
> Anyhow, those are my thoughts, thanks for making Genode!
>
> Regards,
> Colin
>
> On Fri, Dec 18, 2020 at 9:00 AM Norman Feske  
> wrote:
>>
>> Dear Genode community,
>>
>> the end of the strange year 2020 comes in sight. So now it is time
>> to kick off our annual road-map discussion. I'll keep up with our
>> tradition of reviewing the past 12 months from my personal
>> perspective, dropping my ideas for the upcoming year, and inviting
>> you to share your ideas and plans.
>>
>>
>> Review of 2020
>> --
>>
>> The overarching theme of our road map for 2020 was "Dwarfing the
>> barrier of entry", which expressed the ambition to reach a wider
>> audience. On that account, we identified four promising directions:
>> First, making Sculpt OS palatable for a wider circle. Second,
>> fostering the public perception of the high quality of Genode to
>> reinforce the confidence of people who are sceptical towards novel
>> operating-system technology. Third, lowering the barrier of entry by
>> providing frictionless tooling. And fourth, publicly presenting use
>> cases that prove the fitness and flexibility of Genode.
>>
>> These directions certainly did a good job of motivating the working
>> topics of this year's four releases [1,2,3,4].
>>
>> [1] https://genode.org/documentation/release-notes/20.02
>> [2] https://genode.org/documentation/release-notes/20.05
>> [3] https://genode.org/documentation/release-notes/20.08
>> [4] https://genode.org/documentation/release-notes/20.11
>>
>> The UI improvements of Sculpt OS in version 20.02 largely eliminated
>> the need to use the command line, as shown in my live demo [5].
>> But the work on the user-visible side of Sculpt has admittedly dried
>> up a bit since spring time. Software quality has been a continuous
>> topic. Personally, I dedicated a lot of energy to the improvement
>> and consolidation of our POSIX support (Noux vs. libc) and the
>> related infrastructure like the VFS server.
>>
>> [5] https://www.youtube.com/watch?v=vmgWgzeKAjU
>>
>> That s

Re: Roadmap 2021

2020-12-18 Thread Colin Parker
Hi Everybody,
   As a hobbyist who's been following Genode for about a year now (I was
running Sculpt on my home computer for a few months), I thought I would
offer a few thoughts. Since I mostly do stuff for fun and at a slow pace, I
don't expect to be influential in any serious way, but perhaps the
perspective of hobby users is valuable nonetheless? Overall I'm very
impressed with Genode/Sculpt - the philosophy and approach is pretty cool,
and I have some successes with it. For example, I was able to port the Qt
version of the "2048" game, and recently I have been trying to port the
HelenOS driver for AR9271 usb wifi dongle - it is work in progress and
non-functional currently. I also appreciate the level of active development
going on - each new update brings cool stuff, so I think the past year of
Genode updates was interesting to see.

If there's one wish I have it would be better hardware support and
resiliency. Currently, unless I misunderstand, the hardware support list
mostly reflects the hardware that Genode Labs uses, and there doesn't see
to be much dynamic handling of identifying and loading drivers. Example 1 -
Sculpt will try to load a PS2 driver even on my Apple hardware that doesn't
have any, leading to system crash. Example 2 - Sculpt uses pretty simple
hard-coded logic to select which framebuffer driver to use, when I was
expecting an XML file somewhere to allow more fine-grained control of which
vendor/product IDs to assign to which driver (and also to identify and
match other drivers, I guess). Example 3 - When the FB driver crashes, the
rest of the system is resilient and continues to run. But, of course this
is nearly useless because there is no way to reset the driver. Given my
understanding of the component-based architecture, it seems like these
things shouldn't be insurmountable issues. It should be possible to
identify a failed component, kill it, and replace with a new instance, I
think? It would be fun, in non-embedded applications, to be able to compile
an experimental driver within a VM, push the result back to the running
system, test it, tweak and recompile, etc. With that kind of workflow,
maybe we could hope for more experimental/community drivers, at least on PC
hardware?

Anyhow, those are my thoughts, thanks for making Genode!

Regards,
Colin

On Fri, Dec 18, 2020 at 9:00 AM Norman Feske 
wrote:

> Dear Genode community,
>
> the end of the strange year 2020 comes in sight. So now it is time
> to kick off our annual road-map discussion. I'll keep up with our
> tradition of reviewing the past 12 months from my personal
> perspective, dropping my ideas for the upcoming year, and inviting
> you to share your ideas and plans.
>
>
> Review of 2020
> --
>
> The overarching theme of our road map for 2020 was "Dwarfing the
> barrier of entry", which expressed the ambition to reach a wider
> audience. On that account, we identified four promising directions:
> First, making Sculpt OS palatable for a wider circle. Second,
> fostering the public perception of the high quality of Genode to
> reinforce the confidence of people who are sceptical towards novel
> operating-system technology. Third, lowering the barrier of entry by
> providing frictionless tooling. And fourth, publicly presenting use
> cases that prove the fitness and flexibility of Genode.
>
> These directions certainly did a good job of motivating the working
> topics of this year's four releases [1,2,3,4].
>
> [1] https://genode.org/documentation/release-notes/20.02
> [2] https://genode.org/documentation/release-notes/20.05
> [3] https://genode.org/documentation/release-notes/20.08
> [4] https://genode.org/documentation/release-notes/20.11
>
> The UI improvements of Sculpt OS in version 20.02 largely eliminated
> the need to use the command line, as shown in my live demo [5].
> But the work on the user-visible side of Sculpt has admittedly dried
> up a bit since spring time. Software quality has been a continuous
> topic. Personally, I dedicated a lot of energy to the improvement
> and consolidation of our POSIX support (Noux vs. libc) and the
> related infrastructure like the VFS server.
>
> [5] https://www.youtube.com/watch?v=vmgWgzeKAjU
>
> That said, despite the many technical advances, the stated soft goal
> of reaching a broader audience remains fairly distant. Genode has
> not seen a significantly wider adoption by the open-source community
> at large compared to one year ago.
>
> On the other hand, regarding our stated commitment to 64-bit ARM
> hardware, in particular supporting the NXP i.MX8 SoC, there is a
> strong sense of accomplishment, which makes me proud. The depth and
> breadth of this line of work has been fantastic. I'm speaking of
> 64-bit multi-core virtualization, HDMI, touch input, OLED,
> networking, LTE, USB, clock and power management, VirtIO, up to
> running Sculpt OS on this platform. It is a huge success story on a
> technical account.
>
> Regarding our reach to a broader co

Re: Roadmap 2021

2020-12-18 Thread Johannes Schlatow
Hi all,

I like Norman's vision of having a Genode-based mobile phone by the end
of 2021 and am stoked to contribute to this mission. I almost ordered a
pinephone some weeks ago but talked myself out of it because I was not
ready to put in a lot of work. Yet, the perspective of running Genode
on this phone completely changes the picture ;-)
Besides the technological obstacles such as porting device drivers,
there is also the question of usability. I think a basic
support/integration of web apps would make the mobile Genode already
quite usable.

I also like that Norman mentioned optimisation. I have a few ideas in
the back of my head regarding performance optimisation and debugging. I
would very much like to get some system-level tracing infrastructure
running. As I've been working with Lttng this year (outside the Genode
sphere), I thought having a similar functionality on Genode could
dramatically simplify identifying bottlenecks and race conditions. The
nice thing is that the developers behind Lttng established the Common
Trace Format to store trace data. Thus, once we get a CTF trace out of
Genode, we could use all the existing analysis and visualisation tools.

Cheers
 Johannes



___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users