diff --git a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc index fc21d59e1f..9548d4174c 100644 --- a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc +++ b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc @@ -2,4 +2,5 @@ service hwcomposer-2-1 /system/bin/hw/android.hardware.graphics.composer@2.1-ser class hal user system group graphics drmrpc readproc + capabilities SYS_NICE onrestart restart surfaceflinger diff --git a/graphics/composer/2.1/default/service.cpp b/graphics/composer/2.1/default/service.cpp index a31decd3a3..656673e672 100644 --- a/graphics/composer/2.1/default/service.cpp +++ b/graphics/composer/2.1/default/service.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "android.hardware.graphics.composer@2.1-service" +#include + #include #include @@ -29,5 +31,13 @@ int main() { android::ProcessState::self()->setThreadPoolMaxThreadCount(4); android::ProcessState::self()->startThreadPool(); + // same as SF main thread + struct sched_param param = {0}; + param.sched_priority = 2; + if (sched_setscheduler(0, SCHED_FIFO | SCHED_RESET_ON_FORK, + ¶m) != 0) { + ALOGE("Couldn't set SCHED_FIFO: %d", errno); + } + return defaultPassthroughServiceImplementation("hwcomposer"); }