-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nano-X - Window repaint problem #28
Comments
Hello.
My env. Raspberry Pi Linux raspberrypi 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT 2019 armv6l GNU/Linux
Microwindows config - config-linux.fb.
Problem - The window does not redraw properly after its movement.
Does it only happen with that just demo, or all the demo-* demos? You might
also try some of the mw* demos (win32 api).
Try dragging quickly, then slowly. Type a few characters afterwards. If the main loop is
being held up somehow in nanox/srvmain.c::GsSelect(), then the full repaint may
get delayed due to hanging. There is a small possibility this is also hanging in the mouse
driver, are you using MOUSE=DEVICEMOUSE in config? Also set VTSWITCH=N.
The proper event gathering routine GsSelect() is selected using the UNIX and HAVE_SELECT
defines, which are set by default if ARCH=LINUX-NATIVE or LINUX-LINARO. Check ARCH= in config, and
then check the Arch.rules section for that ARCH.
Also, it looks like your RGB colors are BGR, since the title bar should be red and its blue, and
the background has too much blue in it. Set SCREEN_PIXTYPE=MWPF_TRUECOLORARGB
instead of what I’m guessing is MWPF_TRUECOLORABGR now and this should be fixed.
|
Hello.
Yes. It's general behavior for all nano-x demo-*.
mw* demos repaint window properly, but have other problem. I can't resize window.
Dragging window (nano-x demos) in up-left (only) direction works properly, any other direction repaint window after mouse double click in window (with 2-3 sec delay). I have tested MOUSE=GPMMOUSE setting with same results. My config - config-linux.fb ARCH=LINUX-NATIVE I will check VTSWITCH=N also. Thanks. |
P.S. If I switch to other VT and then back to original - window repaints! |
Dragging window (nano-x demos) in up-left (only) direction works properly, any other direction repaint window after mouse double click in window (with 2-3 sec delay).
With this information, I’m pretty sure the problem is related to the blit during the window move
when VTSWITCH=Y. I will have to look into the vtswitch code, but haven’t been able to run it
since I’m developing on OSX at present (no framebuffer).
A temporary workaround should be to look at the function nanox/srvfunc.c::GrMoveWindow(),
line 451: change “if 1 &&!SWIEROS” to “#if 0” and that will cause a different move routine to be used.
I will check VTSWITCH=N also.
I’m definitely interested in hearing the result with VTSWITCH=N.
Regards,
Greg
|
Hello, Greg ! Regards, Julian. |
Great news Julian! I'm still not sure whether VTSWITCH might be broken but I have fixed some other issues in the window manager. I'll consider this issue closed. |
Julian - just wanted you to know that I finally actually debugged your problem. I installed a linux framebuffer VM on my laptop and found the exact same window redraw problem you had. The problem is now fixed, it was related to two problems, but would not show when the SCREEN_PIXTYPE was set to MWPF_TRUECOLORARGB, which was not the default for config.linux-fb. The screen colors were also incorrect. Both are fixed now, and the config file can be set to either SCREEN_PIXTYPE value and all works ok. I also tested VTSWITCH and it works correctly. I am seeing some problems with the keyboard being left in non-echo mode after exiting from a nano-X application (say demo-ttfont) using the close box in the app, but not when hitting the nano-X server QUIT key (which is BREAK/Pause or now also ESC). I am still working on this problem. |
Hello, Greg.
Good news! I am testing your fixes on Raspberry. Regards, |
Hello.
My env. Raspberry Pi
Linux raspberrypi 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT 2019 armv6l GNU/Linux
Microwindows config -
config-linux.fb
.Problem - The window does not redraw properly after its movement.
Screenshots from demo application
demo-ttffont
attached.Thanks.
The text was updated successfully, but these errors were encountered: