Thank you very much, Peter!
I did as you suggested. Minor change is I plugged the artificial eye from the back side through the hole at the eye location of face image.
Now it is working at least most of test time. The returned value is roughly reasonable.
However, it is quite sensitive. It is easy to lose tracking when I move the face cardboard.
I guess it is due to the 2D planar face image instead of 3D face as real human face. Is it right?
I will do some experiment to measure “eye tracking 3D position” accuracy of EyeX tracker.