Gecko esr91 work (former "Flypig's gecko dev diary")

Mir is another display server (and can work as a wayland compositor). Its a canonical thing and we don’t need it.

Without me having any technical knowledge what i know/read is that we need is a new compositor that supports all the latest wayland protocols and this can only be done with a newer Qt. I also seem to recall that one of the jolla devs mentioned -maybe in a meeting- that newer Qt isn’t needed but didn’t elaborated more.

If what i say isn’t correct and anyone know whats exactly is needed PLEASE tell. As i said i have no knowledge of the SW stack. What i write is what i read.

1 Like

@ApB no worries, im the first one to be totally N00b on this one :smiley:
Easier to use the search, Luke ! :slight_smile:

take it straight from the fox’es mouth:

at first read, three wayland-related things seem to be mentioned here:

  • clipboard
  • popups
  • dpi handling on edge-cases (less relevant perhaps as we dont move windows on sfos)

so popups are the main requirement here.
Could it be wayland sub-surfaces? I recall lipstick dont support those. But then again, these are client-side…i.e. the whole management of the popups that is mentioned is handled by firefox. Or at least thats what my brain envisions after reading this. If that’s the case, completing the support for whatever is required by forefox on the wayland protocol on the compositor side should suffice to get it up and running…

On the other hand, how big of a task that is remains a question.

At least on the gtk side, they “glue” in some missing interfaces…

EDIT: im sorry I just now realized this might be off-topic :astonished:
please let me know if youd wish me to move this away from here!

1 Like

Hey, is it possible to remove alert() on no webgl available?

I’m sorry, I forgot to disable the debugging; It should be removed now.

1 Like

@flypig i often found that journaling during work changes a lot how i approach a problem. I guess you are not writing everyday like this about what you’re doing. How does it affect you?

(i look forward for your post every day, they are a pleasure to read :slight_smile:

2 Likes

I would like to say thank you for the efforts.
I’m just using only the Jolla-Browser from the beginning of my SailfishOS-Odysse since Nov’21 for my daily surfing, and it pleased me quite good.

On 9gag.com i have the issue, when opening a meme the comments below were not loaded until i hit the reload-button. But this worked before so i guess 9gag.com change something in their code who didn´t file up with ESR78 anymore.

1 Like

Such a good question @thigg! I usually take notes, but this is my first experience writing them up. The gecko build process generates so much console output that relying on console/screen history alone just doesn’t work.

My main takeaways are:

  1. Even though I know nobody would mind if I didn’t, the fact I’ve committed to posting every day makes me much more disciplined about finding time to work on it.
  2. Keeping notes really has made things easier: I’m constantly referring back to things and actually finding them, rather than failing to find things in my console/bash history (which is what usually happens!).
  3. I’ve not noticed any downsides yet. I’m not working to a deadline though; if I was maybe I’d find it too onerous.
  4. The feedback from the community has been genuinely wonderful and properly motivational (thank you!).

I’d love to hear about your experiences with journaling @thigg (or indeed anyone else who’s tried it!).
[Edited to add 4]

10 Likes

I have tried a similar approach once with LLVM (back in the day when there was no proper glibc in SFOS yet);
to my experience, it’s not that simple, there’s quite a thin line between “picking the right/important details” that are relevant enough to highlight in the blog, vs trying to keep it compact. I think the day-by-day approach is a great solution for this problem! But also, I recall it was very frustrating the writing, when remembering all relevant parts that were challenging and, most of all, time consuming…

2 Likes

That’s a really nice llvm blog post @tortoisedoc; you capture the situation (as it was then) really nicely. I’m glad I have things easier in that the dependency situation for gecko has improved, and also I’m not trying to be in the least bit concise or coherent!

You should publish more blog posts like that :slight_smile:

5 Likes

Thanks! Yeah, I’d love to (somewhere I still have an old intel “tablet waiting for SFOS” project to complete), but my day to day work is mostly around other stuff so I have no time :upside_down_face:

1 Like

Very much appreciate the effort and content, thank you!

Wanted to ask: is there any reason you are not targeting ESR 115? That should keep SFOS in a good spot for the next few years.

2 Likes

When working at a problem, I usually describe the process of solving it as a decision tree.
I can try with library X or Y, I can choose this code structure or another. I can hook jenkins into gitea or gitea into jenkins… Every decision shapes the following.

I take a path mostly by intuition. I just do what seems right.
when working on something major (like a major framework migration), I tend to forget what decisions I made early on and what branches in my decision tree I cut off.

Working with colleagues helps to increase my awareness of the decision tree, but they are not always available, not that involved in the problem etc…

During one task I got seriously lost and wondered what I have been doing the last days. Out of interest I started journaling.
In the beginning I actually wrote to my journal every 30 minutes or so (pomodoro might have been a good fit here).
Nowadays it is mostly every couple hours and only when I have tasks where I think they benefit from it.

I found that I get a much better view of the decisions I had been making.
The migration I did back then actually changed quite a lot because of journaling iirc. I noticed that I made a decision quite early on, which (in hindsight) got in my way all the time.

I mostly recommend journaling to coworkers when they share the feeling that they are very unproductive. In many cases this is because thy did many things and forgot half of them. Just writing the journal fixed a part of that feeling for me…
I also get the feeling that it makes one better in estimating how much work something is…

3 Likes

The simple answer is that the task of going from ESR 78 to ESR 115 in one step would likely be too complex. Each ESR step adds many changes that need to be aligned with the Sailfish codebase and the smaller the steps the easier it is.

5 Likes

Awesome! That’s the kind of story I would have loved to see during the early days! The Preamble especially is so interesting. Of course I imagine that it wasn’t in Jolla’s interest to announce publicly that suddenly they need much more engineering forces because Mozilla is stopping to maintain the component used to build the most important app of the OS :face_with_diagonal_mouth:, but as a technical user I was really hoping to see more “inside” Jolla back in the days!

At least, reading it now brings a lot of good memories with Sailfish, so many good things happened around 2015 :smiling_face_with_tear:. So thank you for the work and the reading!

7 Likes

2015 was such a nice year indeed! Anyway this thread is so interesting, keep it up :slight_smile:

1 Like

About that compiler bug:

I’m sure I’m telling nothing new here, but -O2 is just a shorthand for a set of optimization switches.
Maybe it’s useful to try specifying them manually, and “bisect” the list to find which precise switch is behind this.

gcc -Q --help=optimizers
1 Like

You’ve obviously thought about this issue really hard @thigg; and thank you for sharing your experiences, there’s real wisdom there :slight_smile: The act of journaling itself is certainly a useful exercise to help prioritise ideas, but as you make clear it really comes into its own further down the line when you can look back at your decisions and reflect on them. Commit logs only go so far.

I’ve not heard journaling discussed in relation to the various software development philosophies (agile, pair, test-driven, devops,…). Maybe it needs a manifesto?!

That’s a really great idea; thanks for suggesting it @nephros. For reasons of expedience I’m going to take a note of this and return to it; if anyone wants to give it a go in the meantime I’d love to know the results.

1 Like

That sounds like a lot of grunt work that needs some horsepower… No promises yet, but that’s something I may be able to help with.

4 Likes

Having now read the daily nerd snipe over lunch, one thought popped into my mind: what if it is architecture specific? If it compiles for armv7hl but not aarch64, that would indeed indicate a compiler bug… Something that may have been fixed already, somewhat likely…

I’ll do some research after work, let’s see what I can find.

5 Likes

Why the underhanded accusation of conspiracy?
I’m sure i read this somewhere, while perhaps not front and center.
Remember that basically the whole OS foundation comes from actions just like that, though by Nokia. In the light of that, i’m not sure it feels quite as much as news as it might perhaps have been.

2 Likes