* With QT over EGLFS, the all running QT apps will write to the
framebuffer whenever they have updates.
* This can cause the following undesired behavior:
- flickering when both applications try to write updates at the
same time. For example, if a mouse is used for control, both QT
apps will update the mouse cursor, causing flickering between both
apps.
- Failure for a temporary background app (e.g. matrix) to come to
the foreground when demo exits. For example, when launching a qt
app via remote Matrix, the demo app will persist on the target's
display.
* To work around this, stop matrix before launching a GUI demo, and
restart once the demo has completed.
Signed-off-by: Jacob Stiffler <[email protected]>
---
v2:
* Fix typo with including the patch file.
* Clear background after stopping matrix.
...mmand-Stop-matrix-when-running-a-GUI-demo.patch | 84 ++++++++++++++++++++
.../recipes-core/matrix/matrix-gui_2.0.bb | 4 +-
2 files changed, 87 insertions(+), 1 deletion(-)
create mode 100644
meta-arago-extras/recipes-core/matrix/matrix-gui/0001-execute_command-Stop-matrix-when-running-a-GUI-demo.patch
diff --git
a/meta-arago-extras/recipes-core/matrix/matrix-gui/0001-execute_command-Stop-matrix-when-running-a-GUI-demo.patch
b/meta-arago-extras/recipes-core/matrix/matrix-gui/0001-execute_command-Stop-matrix-when-running-a-GUI-demo.patch
new file mode 100644
index 0000000..718f6d3
--- /dev/null
+++
b/meta-arago-extras/recipes-core/matrix/matrix-gui/0001-execute_command-Stop-matrix-when-running-a-GUI-demo.patch
@@ -0,0 +1,84 @@
+From 7cbf63222897de4e9b021d8d007cca74be4ca56f Mon Sep 17 00:00:00 2001
+From: Jacob Stiffler <[email protected]>
+Date: Wed, 8 Apr 2015 07:34:22 -0400
+Subject: [PATCH] execute_command: Stop matrix when running a GUI demo.
+
+* With QT over EGLFS, all running QT apps will write to the
+ framebuffer whenever they have updates.
+* This can cause the following undesired behavior:
+ - flickering when both applications try to write updates at the
+ same time. For example, if a mouse is used for control, both QT
+ apps will update the mouse cursor, causing flickering between both
+ apps.
+ - Failure for a temporary background app (e.g. matrix) to come to
+ the foreground when demo exits. For example, when launching a qt
+ app via remote Matrix, the demo app will persist on the target's
+ display.
+* To work around this, stop matrix before launching a GUI demo, and
+ restart once the demo has completed.
+
+Signed-off-by: Jacob Stiffler <[email protected]>
+---
+ execute_command.sh | 21 +++++++++++++++++++++
+ run_script.php | 2 +-
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/execute_command.sh b/execute_command.sh
+index 018c632..c636b92 100755
+--- a/execute_command.sh
++++ b/execute_command.sh
+@@ -59,6 +59,11 @@ do
+ outputfilename=$item
+ fi
+
++ if [ $i -eq 2 ]
++ then
++ program_type=$item
++ fi
++
+ if [ $i -gt 1 ]
+ then
+ touch "lock/"$item
+@@ -68,10 +73,26 @@ do
+
+ done
+
++if [ $program_type == gui ]
++then
++ /etc/init.d/matrix-gui-2.0 stop
++
++ chvt 4
++ echo 0 > /sys/class/graphics/fbcon/cursor_blink
++ echo -ne "\033[9;0]\033[14;0]" > /dev/tty4
++
++ refresh_screen background-black
++fi
++
+ echo "Filename:"$filename
+ echo "Output:"$outputfilename
+ eval $filename > "tmp/"$outputfilename 2>&1
+
++if [ $program_type == gui ]
++then
++ /etc/init.d/matrix-gui-2.0 start
++fi
++
+ #Using a more unique string to detect if the script is completed
+ echo "_?!!MATRIX_SCRIPT_COMPLETED!!?_" >> "tmp/"$outputfilename
+
+diff --git a/run_script.php b/run_script.php
+index 9dd7a10..5b8351b 100644
+--- a/run_script.php
++++ b/run_script.php
+@@ -91,7 +91,7 @@ if($currently_locked==false)
+ $random_string = strval(rand());
+ $random_string .= strval(rand());
+
+- $script_command = "./execute_command.sh \"".addslashes($script_link).
"\" ".$random_string.".txt ".$lock_list;
++ $script_command = "./execute_command.sh \"".addslashes($script_link).
"\" ".$random_string.".txt \"".$found_app["ProgramType"]."\" ".$lock_list;
+
+ $last_line = system($script_command." > /dev/null 2>/dev/null & ",
$retval);
+ }
+--
+1.7.9.5
+
diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui_2.0.bb
b/meta-arago-extras/recipes-core/matrix/matrix-gui_2.0.bb
index 162340e..7cfc65e 100644
--- a/meta-arago-extras/recipes-core/matrix/matrix-gui_2.0.bb
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui_2.0.bb
@@ -22,7 +22,9 @@ MATRIX_INITSCRIPT = "${@base_conditional('QT_PROVIDER',
'qt5', base_contains('DI
SRC_URI =
"git://gitorious.org/matrix-gui-v2/matrix-gui-v2.git;protocol=http;branch=${BRANCH}
\
file://${MATRIX_INITSCRIPT} \
- file://php.ini"
+ file://php.ini \
+ ${@base_conditional('QT_PROVIDER', 'qt5',
base_contains('DISTRO_FEATURES', 'wayland', '',
'file://0001-execute_command-Stop-matrix-when-running-a-GUI-demo.patch', d),
'', d)} \
+"
require matrix-gui-paths.inc
--
1.7.9.5
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago