Jump to content

Display/Troubleshooting

From postmarketOS Wiki
Revision as of 21:35, 28 October 2017 by Ollieparanoid (talk | contribs) (Don't recommend to try cat modes > mode anymore, we do that in the initramfs automatically now. it's still useful to test if it refreshes the screen though.)

Generic debugging steps

Changing the panning

Some devices might have a framebuffer virtual size thats twice as big as the panel resolution, this is a common double buffering method. The application renders to one side of the display while the panning is set to the other side. You can try changing the panning with the `panning` file in the sysfs directory.

$ cat /sys/class/graphics/fb0/virtual_size
todo: add file contents here
$ cat /sys/class/graphics/fb0/pan
todo: add file contents here
$ echo 0 0 > /sys/class/graphics/fb0/pan

Qualcomm framebuffer (mdss, mdp3)

MSM framebuffer doesn't work

We found out that removing the 3D driver support makes the MSM framebuffer. See #66.

CONFIG_MSM_KGSL=n

Screen output flicker and inactivity

If you notice a very brief flicker upon boot, but immediately disappears and screen turns black, you might have a buggy framebuffer Qualcomm MDSS MDP3 driver.

You can try patching the source code by removing the function assigned to the mdp3_interface->off_fnc in the mdp3_ctrl.c file.

See example patch: 05_fix_mdp3_ctrl_off.patch

Screen output messed up

If the output on the screen is not aligned correctly (see picture) it's probably because you have a wrong value in /sys/class/graphics/fb0/bits_per_pixel.

You can try patching the source code by setting a different video mode (RGB/ARGB/RGBA/YCRYCB/...).

See example patch: 06_fix_mdss_fb_rgb_mode.patch

My screen is red!

There are some buggy framebuffer drivers (e.g. in LG Nexus 5) that report incorrect data. You can override it with:

weston --pixman-type=2

More information on issue #54

You can set deviceinfo_weston_pixman_type (see deviceinfo reference) to enable this workaround.

Screen doesn't refresh

Check if your screen refreshes when you do the following:

$ cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode

If it does, enable deviceinfo_msm_refresher (see deviceinfo reference) and add msm-fb-refresher to the depends= of your device-package. It will basically do the same automatically.

(If the above command does not refresh your screen, you could try the msm-fb-refresher anyway.)

Screen is blank outside of Weston

Something like that should help, see #603:

$ echo 0 > /sys/class/graphics/fb0/blank
$ echo 1 > /sys/devices/fd900000.qcom,mdss_mdp/qcom,mdss_fb_primary.134/leds/lcd-backlight/brightness