Page MenuHomeFreeBSD

Provide interface between drm-kms panel_orientation and FreeBSD vt(4) console
Needs ReviewPublic

Authored by crahman_gmail.com on Jul 29 2022, 7:43 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 18, 9:45 AM
Unknown Object (File)
Tue, Apr 16, 6:36 AM
Unknown Object (File)
Mar 2 2024, 6:57 AM
Unknown Object (File)
Dec 20 2023, 6:20 AM
Unknown Object (File)
Dec 13 2023, 5:16 AM
Unknown Object (File)
Nov 12 2023, 2:44 PM
Unknown Object (File)
Nov 10 2023, 2:44 PM
Unknown Object (File)
Nov 6 2023, 5:10 PM

Details

Reviewers
manu
zeising
Group Reviewers
x11
Summary

This is one of three patches adding support for non-native panel orientation to the FreeBSD console. The other two patches add similar support to /boot/loader, and to the vt(4) framebuffer.

Each of these patches may be applied separately or not, but consistent
rotation through all phases of bootstrapping and running the system console
will require all three.

The screen orientation is set by adding

screen.rotate="angle"

to /boot/loader.conf. This value is passed by the loader to the kernel environment and then picked up by the drm module.

The drm module then passes flags to the vt(4) console directing it to perform the rotation if needed, or to let the drm module perform it in hardware.

The drm module may look up the correct panel_orientation from the BIOS if the manufacturer has provided it, or from quirk tables (not currently implemented in FreeBSD), making it unnecessary to set the loader.conf variable.

Test Plan

Edit /boot/loader.conf to add the screen.rotate key/value, and reboot.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped