One of the most frustrating thing about #Asahi #Linux: #GNOME is so *incredibly* close to working perfectly witch a notch. Literally all you need to do is to increase the size of the top bar size a bit and move the calendar/notifications menu to the right and it's perfect.

But GNOME doesn't have those options, you have to use extensions. And changing the top bar size from an extension is buggy and breaks in weird ways after suspend.

I actually started planning a blog post about how well GNOME can work with a notch because its design happens to be an almost perfect match already. I stopped when I started having this issue.

I tried finding ways to work around it. IIRC, if I modified the bar height through changing the default theme's CSS, it would work fine. But the default theme's CSS file is bundled in a .gresource file, and it gets overwritten when GNOME updates, so it wasn't practical.

Show thread

@mort this feels like it could be upstreamed. We would need a way to know if a specific display has insets/notches/punch hole cameras, which realistically we’ll need for mobile devices anyway. Once we have a way to define that, we could have Shell avoid drawing in that region.

Maybe we can check in with @agx wrt what Phosh is doing and if we can work on getting that upstream in Shell?

@cassidy @mort When running just add the notch info to and you're done.

For fullscreen apps this needs Wayland protocol support. This is work in progress (but the compositor already uses the same info).

A gnome-shell extension could just pick up the same info.

See phosh.mobi/posts/notch-support

@agx @cassidy Some sort of wayland protocol would be needed for truly fullscreen apps which want to draw around the notch, yeah. But a pretty good alternative would be to lie about the screen dimensions to the wayland client and make it think only the part below the notch/top bar exists, right? I believe that's what macOS does most of the time.

@mort @agx @cassidy Do you know if the notch info can be expressed in the device tree so there's a canonical place to look it up?

@agx @mort @cassidy Thanks! @cas do you know if there was any movement on this? The mentioned issue that the DT is not a "userspace configuration store" sounds a bit dubious to me. I mean - nowadays we use it for stuff like camera orientation which is also only useful for userspace.

@rmader @agx @mort @cassidy unfortunately no, i haven't really chased this up, maybe @krzk can chip in.

i just think nobody has really pushed more for it.

@rmader @agx @mort @cassidy @krzk more details on Wayland integration and a verrrry naive proposal i came up with here (although i still think lagrange curves are the most sensible solution to this).

gitlab.freedesktop.org/wayland

@rmader @agx @mort @cassidy @cas DT is not for software properties. Camera orientation is a hardware property. I don't know from where you get the impression that properties useful to user-space are no allowed. The user of bindings can be in user-space, firmware, bootloader etc.

@krzk @rmader @agx @cassidy @cas To be fair, properties of the screen are properties of the hardware... we consider resolution appropriate for DT I assume, so why wouldn't details about which regions are physically cut off from the screen? "There are no pixels in this area" is a hardware property isn't it?

@mort @rmader @agx @cassidy @cas I really have no clue to what you refer (and pasting some links to some long discussions won't help me because none of us has time to read hundreds of pages of possible discussions). For example the cut-off region (inaccessible because of physical layer covering it) for touchscreen got my review and I think it was accepted, so to what do you refer here? Please point me to specific bindings patch where DT maintainers rejected some particular idea. Otherwise I have no clue to what to respond to.

@krzk @mort @cassidy @agx @cas I'm talking about Calebs patch mentioned above by Guido. The second reply - the one from Pekka, which I linked to above - includes the argument "is there not a policy that DT is not a userspace configuration
store?" and concludes with "This seems more like a job for the hypothetical liboutput".

If I understand you correctly you disagree with that policy, correct?

@rmader @mort @cassidy @agx @cas I do not understand that statement, therefore I cannot answer whether I agree or I disagree. I wrote what the DT is for (and what it is not for). To repeat - there is no DT bindings patch in that thread, which I could analyze and respond to.

@rmader @krzk @mort @cassidy @agx @cas I haven’t read the email thread but there isn’t a policy about what component in the stack could use or not the data in a DTB (otherwise why would be exposed through sysfs?), only that must describe HW as @krzk said.

@rmader @krzk @mort @cassidy @agx @cas if you think that can be considered a HW property, then I would say to post a patch to some DT binding schema as suggested and let the DT maintainers to judge. There was no patch from Caleb in that thread AFAICT but just a question.

@rmader @mort @cassidy @agx @cas I do not see any bindings patch there. No comments from DT maintainers either.

@krzk @rmader @mort @cassidy @agx I'd be interested in trying to come with a a more formal proposal

@rmader @mort @cassidy @cas
whatever (hopefully) ends up in the kernel we need a way to provide the information via userspace too for
- overrides / non dt-devices
- tests (where you e.g. want to check phosh's layouting for different notch positions)

That's why it ended up in gmobile (gitlab.gnome.org/World/Phosh/g). If it comes from DT or viia drm properties too we'll pick it up there as well for compositors and shells to make use of it.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml