Tuning sysfs: Difference between revisions
Added note about vsync_event files |
m Fix scipt for busybox |
||
Line 53: | Line 53: | ||
'''Note:''' On some devices (like Xperia Z) this script will hang on <code>vsync_event</code> files. To continue the script to the next file we just kill the process that processes the <code>vsync_event</code> file: | '''Note:''' On some devices (like Xperia Z) this script will hang on <code>vsync_event</code> files. To continue the script to the next file we just kill the process that processes the <code>vsync_event</code> file: | ||
<pre class="shell">ps | <pre class="shell">ps w | grep vsync_event # To find process id of the cat command that was processing vsync_event | ||
kill -SIGTERM <pid> # Kill the process</pre> | kill -SIGTERM <pid> # Kill the process</pre> | ||
Revision as of 20:07, 28 August 2017
After porting postmarketOS to your device, you might find that still some features don't work. You may need to adjust some values inside the /sys directory.
sysfs is a pseudo file system provided by the Linux kernel that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuring.
One approach is comparing the contents of these files when TWRP or LineageOS is running and the same for pmOS.
The following script dumps the content of /sys/devices. Copy it as dumpsys.sh
#!/bin/sh # dumpsys.sh DIR="/sys/devices" walk() { for file in $(ls $1); do path="$1/$file" if test -L "$path"; then continue fi if test -f "$path"; then echo "$path" cat "$path" fi if test -d "$path"; then walk "$path" fi done } others() { cat /proc/cpuinfo cat /proc/cmdline } walk "$DIR" others
Upload it to your device when running TWRP (use adb push
) and when running postmarketOS (use scp
). Run it and then compare the output.
For TWRP/LineageOS:
adb push dumpsys.sh / adb shell "sh /dumpsys.sh > /devices-twrp.dump" adb pull /devices-twrp.dump .
For pmOS:
scp dumpsys.sh user@172.16.42.1:~ # sh dumpsys.sh > devices-pmos.dump scp user@172.16.42.1:~/devices-pmos.dump .
Then get the differences (example):
diff -u devices-pmos.dump devices-twrp.dump > devices.diff
You could also run it in even in the stock ROM but it is important that you run the same kernel version in postmarketOS then.
Note: On some devices (like Xperia Z) this script will hang on vsync_event
files. To continue the script to the next file we just kill the process that processes the vsync_event
file:
ps w | grep vsync_event # To find process id of the cat command that was processing vsync_event kill -SIGTERM <pid> # Kill the process
Examples
i9070 port
This way, user drebrez
figured out two values needed for the framebuffer configuration for the i9070 port.
echo 16 > /sys/devices/platform/mcde_fb/graphics/fb0/bits_per_pixel echo 960,1600 > /sys/devices/platform/mcde_fb/graphics/fb0/virtual_size