Jump to content

Display/Troubleshooting

From postmarketOS Wiki
Revision as of 23:32, 21 November 2017 by Ata2001 (talk | contribs) (Add info about mdss-fb-init-hack)

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

On devices using the mdss_fb driver, adding mdss-fb-init-hack to the dependencies of the device package (example) might help.

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/...).

This may also help, when your X11 is segfaulting (see #779).

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