-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
keyboard not always minimizing correctly on boot #58
Comments
Hi @danielkvam, thanks for reporting. I can't reproduce here, though. I used I tried Can you report more? Show a screenshot? Can you interact with the web view when this happens? Maybe you've a specific resolution in use? |
Hi, retried with a fresh Ubuntu 22.04 LTS install using the default image in MAAS. Interacting with the website works fine, and selecting an input field will bring up the osk. Deselecting it will remove the osk, as normal. ubuntu-frame-log.txt I initially believed I had reduced the error to being related to the layout, since it worked fine at one point using the us layout only, but now I am honestly not sure what is going on. |
Thanks @danielkvam, this definitely looks as if the keyboard went away in a wrong way. So this is only a boot issue, it resolves itself afterwards? Or does the "invisible" OSK remain on screen all the time? Can you please show your |
This is only a boot issue yes. The keyboard appears after boot for a split second, but disappears, leaving the black bar. The bar will stay until an input field is selected. At which point the keyboard appears and from then will show/hide correctly when using input fields. Name Version Rev Tracking Publisher Notes
ubuntu-frame 109-mir2.15.0 6626 22/stable canonical✓ -
ubuntu-frame-osk 47-squeekboard-v1.17.1 326 22/stable canonical✓ -
|
Looking at the screenshot, this looks like a window management issue. Specifically, it looks like the exclusion zone set by the keyboard is being honoured after the keyboard disappears. I can think of two possible reasons:
Given that this isn't seen consistently I favour the second option. It should be possible to confirm this happens by adding
That will add messages to the ubuntu-frame log describing the window management (in excruciating detail). |
Thanks @danielkvam, that sounds like a race and at least this line in the log could point at the problem:
And Alan just beat me to it! |
I can give you the trace logs. Keep in mind, the logs from last time was on a fresh install of ubuntu server, while this is from a custom image set up by packer-maas. It really did not make a difference when installed on the physical machine. |
Here is the interesting bit: The application zone changes from (1920, 696) to (1920, 1080) - which seems reasonable for the keyboard releasing the exclusion zone:
We then loop over the apps:
The background window is resized from (1920, 696) to (1920, 1080)
Then the Cog window is resized from (1920, 696) to (1920, 1080)
All that looks good and what I'd expect. But, the point of this issue, a (1920, 1080) Cog window is not what can be seen on screen. Then three seconds later we get a request to modify the Cog window to (1920, 696)! We don't do that we make it (1920, 1080) which has no effect.
So, my new theory is that the window management logic is correct. But the apps are unaware of the resize. Consequently, the background doesn't repaint and Cog continues to submit (1920, 696) buffers, (Which would be why we see a |
There's another report on discourse |
I'm able to reproduce with the following steps (assuming Frame, OSK, WPE installed etc):
I also see that the background is correctly painted for the fullscreen, while the WPE browser is not. |
I've not been able to reproduce with other apps: chromium, gedit, glmark2-wayland, kate, gnome-chess, gnome-todo, ... Maybe this is specific to wpe-webkit-mir-kiosk? Edit: Also checked our IOT examples |
Looking at the logs from WPE though, it looks as though we are sizing incorrectly, the question is why. This is from a run that "works":
Note the final "configure" is with the larger height (994). Here's a run that "fails"
Note the final "configure" is with the smaller height (741). From an app that immediately request text input:
|
OK, I'm testing a solution to this (I need to check for unintended side-effects). It requires changes to Mir, so this won't affect Frame on Meanwhile, you can test the proposed solution with:
|
We've encountered this issue with a custom flutter-based application as well. I'll pull the test branch and report back! |
Testing was performed using a machine running Ubuntu Core, core22 basis. Original setup:
Keyboard space redraw/resize issue would happen on a power cycle about 3 out of every 5 boots. Running
I needed to instead run:
Minor surprise, since I figured Which brings me to:
When using this build, ubuntu-frame starts, followed by the ubuntu-frame-osk (which shows visibly, then dismisses), despite a lack of inputs that should trigger it. However, our application never loads - we're presented with a greyscale placeholder background. Checking the logs, I see:
If I ssh in and restart the app, it loads, but does log:
If I instead use the latest edge version of ubuntu-frame snap :
The app loads as expected when power cycling. Through 10 power cycles, I was not able to get the keyboard redraw/resize issue to occur when using But, |
Here's the explanation: https://discourse.ubuntu.com/t/psa-retiring-the-latest-tracks-for-ubuntu-frame-graphics-and-mir-test-tools-action-required/37531 |
Ah, makes sense. Thanks for the explanation. I'll update our model accordingly. If there's any additional information I can get you related to the fail-to-start issue using your pr branch, I'm happy to help! |
@jrmcpeek that PR has landed and is now on There's a follow up |
I should be able to test this new branch later today and will report back! |
Using the following:
This is maybe a little bit better, but still the same issue. It's about a 50% success rate of the app loading and going full screen or attempting to load, failing a bunch, and the init servicing saying "no more". 100% success rate of the app loading as expected if I simply run a |
I also performed some testing with
I also re-ran power cycle tests with
|
We have established that this is fixed by canonical/mir#3042. Other issues raised have been split off |
If other layouts than 'us' is selected, or multiple layous, an empty keyboard is stuck on the screen after booting.
I tried
layout=us (only this works)
layout=us,de
layout=de
layout=us,no
layout=us,fr
This happened on a wide screen. using wpe-webkit-mir-kiosk, on ubuntu server 22.04.3.
It does not seem to make a difference what url is in use.
The text was updated successfully, but these errors were encountered: