Page MenuHomeFreeBSD

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

Authored by on Jul 29 2022, 7:43 AM.


Group Reviewers

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


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 Skipped
Unit Tests Skipped