-
Notifications
You must be signed in to change notification settings - Fork 104
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
Display with orientation: left/right
flipped
#3185
Comments
Hi @freefos, sorry that happened to you… can you post frame's logs for the initial display configuration? I suspect the output name might have changed, and your previous configuration misses the setting for the new output name… I will also suggest you subscribe to https://discourse.ubuntu.com/c/mir/15, we had this version in the |
@freefos I just confirmed that this behaves correctly on all the hardware I have to hand…
layouts:
# keys here are layout labels (used for atomically switching between them).
# The yaml anchor 'the_default' is used to alias the 'default' label
default:
cards:
# a list of cards (currently matched by card-id)
- card-id: 0
HDMI-A-1:
# This output supports the following modes: [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected]
#
# Uncomment the following to enforce the selected configuration.
# Or amend as desired.
#
state: enabled # {enabled, disabled}, defaults to enabled
mode: [email protected] # Defaults to preferred mode
position: [0, 0] # Defaults to [0, 0]
orientation: normal # {normal, left, right, inverted}, defaults to normal
scale: 1
group: 0 # Outputs with the same non-zero value are treated as a single display
side_by_side:
cards:
# a list of cards (currently matched by card-id)
- card-id: 0
HDMI-A-1:
# This output supports the following modes: [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected], [email protected], [email protected],
# [email protected], [email protected], [email protected]
#
# Uncomment the following to enforce the selected configuration.
# Or amend as desired.
#
state: enabled # {enabled, disabled}, defaults to enabled
mode: [email protected] # Defaults to preferred mode
position: [0, 0] # Defaults to [0, 0]
orientation: normal # {normal, left, right, inverted}, defaults to normal
scale: 1
group: 0 # Outputs with the same non-zero value are treated as a single display
I would also suggest trimming your |
Hi @freefos, any update on this? Were you able to solve this? |
After discussing with @Saviq we can confirm that |
orientation: left/right
flipped
Hi @Saviq, I'm sorry for not getting back to you sooner. You've already verified that the left and right have been swapped. |
This is weird! I cannot reproduce on an intel system, but can on a rpi400. |
The easiest reproducer I have is to run:
Expected: pressing Actual: On RPi400, left and right are reversed This is not just when running on hardware, it is also when running Mir-on-X (which uses a different driver) - that must help by excluding a lot of possible causes. (The fact this is, in some way, hardware specific helps explain how we missed it) @freefos - it looks like you're also seeing this problem on an arm64 device - can you confirm? |
Thanks, one thing that looks unusual here is that when Mir 2.16 is configuring the display we get:
(And this doesn't happen with Mir 2.15.) |
@AlanGriffiths These devices are running in a production environment. We use the Odroid m1. (8GB RAM(2GB used))
Ordered an extra device so I can play around, test stuff, and see what's going on. |
Thanks. The internet says that's an ARM Cortex-A55: an arm64 device |
That's correct. It's using the Rockchip RK3568B2 CPU. |
OK, the point of variation between platforms is this code, on our arm64 devices we are taking the void mrg::Renderer::set_output_transform(glm::mat2 const& t)
{
auto new_display_transform = glm::mat4(t);
switch (output_surface->layout())
{
case graphics::gl::OutputSurface::Layout::GL:
break;
case graphics::gl::OutputSurface::Layout::TopRowFirst:
// GL is going to render in its own coordinate system, but the OutputSurface
// wants the output to be the other way up. Get GL to render upside-down instead.
new_display_transform *= glm::mat4{
1.0, 0.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
};
break;
}
if (new_display_transform != display_transform)
{
display_transform = new_display_transform;
update_gl_viewport();
}
} The resulting |
@freefos the fix is now part of a "call for testing" |
I finally received my test device and had the time to install it. I can confirm that 123-mir2.16.2 fixed the orientation. But there seems to be a new issue: On 121-mir2.15.0 the mouse cursor moves very smooth. Here are the logs of both versions. |
Hi,
After the 123-mir2.16.1 update, the frame screen is rotated 180 degrees.
The boot animation is still correct.
Reverted back to 121-mir2.15.0 and everything is back to normal.
This is my display configuration
What could be the issue here?
The text was updated successfully, but these errors were encountered: