Bug 2071134 - simpledrm makes a regresion with non normal oriented panels ouput
Summary: simpledrm makes a regresion with non normal oriented panels ouput
Keywords:
Status: CLOSED COMPLETED
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-04-01 23:17 UTC by David Santamaría Rogado
Modified: 2023-12-08 04:28 UTC (History)
19 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-05-25 17:01:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description David Santamaría Rogado 2022-04-01 23:17:55 UTC
When using efifb, devices with panels that are not mounted in their normal orientation, it takes into account some quirks that correct the orientation and also the pitch to correct the output. These quirks are different from drm_panel_orientation_quirks ones.

Now with simpledrm compatibility layer for fbcon that code is not there and the output is again bad.

There are more info and photos in https://bugzilla.redhat.com/show_bug.cgi?id=1730783 where also plymouth was fixed for that situation.

I think actually Hans de Goede has in mind to make a new kernel module to take into account this kind of devices where quirks are needed to be apply to get them behave as they should, so I don't know if this is actually interesting to be solved in the simpledrm infrastructure, or wait for Hans's pretension.

Also even with simpledrm there is a flicker with d330 when intel framebuffer gets control but I will open a new bug for that when this is solved. I have set severity to medium because is not critical that the system could not boot, but it's impossible to get early messages from initrd/kernel when it's needed.

When intelfb gets loaded the output is right, also gnome display settings are right because drm_panel_orientation_quirks code is still used for drm subsystem.

As simpledrm uses drm subsystem, could be possible to reuse that quirks instead of new ones?

Comment 1 Hans de Goede 2022-04-02 09:33:23 UTC
David, thank you your bug report.

I did already notice and fix this issue and the fix did land upstream recently:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=94fa115f7b28a3f02611499175e134f0a823b686

I've just also submitted the fix to get backported to the 5.17 series:

https://lore.kernel.org/stable/20220402093029.5334-1-hdegoede@redhat.com/T/#t

So it should show up in 5.17.2 (with some luck) or otherwise 5.17.3 .

Comment 2 Hans de Goede 2022-04-02 09:53:53 UTC
p.s.

Does your d330 have a touchscreen? And does the touchscreen work properly under Fedora 36 ?

I'm asking this because there is a bug report that the goodix touchscreen driver is broken on the d330:
https://bugzilla.kernel.org/show_bug.cgi?id=209061

Comment 3 Hans de Goede 2022-04-02 15:42:13 UTC
The fix for this has been queued up upstream for inclusion into 5.17.2, so once the Fedora update to 5.17.2 becomes available this should be resolved.

Comment 4 David Santamaría Rogado 2022-04-02 23:45:20 UTC
Yes, the touchscreen it's a goodix one. With 36 beta it's working.

Thanks for the fix and sorry for not checking it existed before.

Comment 5 Hans de Goede 2022-04-03 12:45:19 UTC
(In reply to David Santamaría Rogado from comment #4)
> Yes, the touchscreen it's a goodix one. With 36 beta it's working.

That is good to know, thanks.

> Thanks for the fix and sorry for not checking it existed before.

You're welcome and no need to apologize, your bugreport was actually useful, because it made me submit the patch for inclusion into the 5.17.y series, so that the fix will actually become available in Fedora 36 soon.

Otherwise things would have been been broken until Fedora jumped to the 5.18 kernels, so thank you for your bug report.

Comment 6 David Santamaría Rogado 2022-05-18 17:48:17 UTC
I have to reopen the bug.

I have not tested live this time but upgraded the installed system. The output when simpledrm compatibility fb is active is still portrait oriented and with wrong pitch.

What I have seen different now is that plymouth doesn't scale up the logo and spinner so the are 1:1 scale pixel.

5.17.7-300.fc36.x86_64 in use.

Comment 7 Hans de Goede 2022-05-18 18:08:29 UTC
(In reply to David Santamaría Rogado from comment #6)
> I have to reopen the bug.
> 
> I have not tested live this time but upgraded the installed system. The
> output when simpledrm compatibility fb is active is still portrait oriented
> and with wrong pitch.
> 
> What I have seen different now is that plymouth doesn't scale up the logo
> and spinner so the are 1:1 scale pixel.
> 
> 5.17.7-300.fc36.x86_64 in use.

Ok, so 5.17.7 does have this commit:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=94fa115f7b28a3f02611499175e134f0a823b686

So the orientation of the fbcon on top of simlpedrm should be correct.

But you also mention a pitch issue. I guess the pitch issue (that is width and height being swapped) is the real problem here and because of that the orientation quirk does not apply because the resolution does not match.

This is supposed to be fixed by the code at:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/firmware/efi/sysfb_efi.c#n344

But it seems this is not. I guess that for some reason that code is not running when using simpledrm.

I'm adding Javier who has been the main driving force behing the move to simpledrm to the Cc.

Javier, is it possible that the code at sysfb_efi.c line 344 is not running / not having the desired effect when using simpledrm ?

Comment 8 David Santamaría Rogado 2022-05-18 18:43:12 UTC
Yes, the code at sysfb_efi.c#n334 solved it when using fbdev.

Comment 9 David Santamaría Rogado 2022-05-18 18:52:42 UTC
Sorry for double posting, the orientation actually is also portrait, don't know if when the pitch is corrected will also affect it, but now the interleaved effect of the wrong pitch grows like the first 5.17 kernels from left to right, so the lines are write from down to top.

Comment 10 Ben Cotton 2023-04-25 16:58:17 UTC
This message is a reminder that Fedora Linux 36 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '36'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 36 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 11 Ludek Smid 2023-05-25 17:01:45 UTC
Fedora Linux 36 entered end-of-life (EOL) status on 2023-05-16.

Fedora Linux 36 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 12 David Santamaría Rogado 2023-08-09 12:46:06 UTC
It work right nowadays, even out of the box with Fedora 38.

Comment 13 Red Hat Bugzilla 2023-12-08 04:28:15 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days


Note You need to log in before you can comment on or make changes to this bug.