{"id":4034,"date":"2022-12-20T17:28:46","date_gmt":"2022-12-20T20:28:46","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/display-mansync-man7\/"},"modified":"2022-12-20T17:28:46","modified_gmt":"2022-12-20T20:28:46","slug":"display-mansync-man7","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/display-mansync-man7\/","title":{"rendered":"display-mansync (man7)"},"content":{"rendered":"<h1 align=\"center\">display-mansync<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#SYNOPIS\">SYNOPIS<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#ENVIRONMENT VARIABLES\">ENVIRONMENT VARIABLES<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>display-mansync<\/b> : sync mode emulation<\/p>\n<h2>SYNOPIS <a name=\"SYNOPIS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">display-mansync<\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Helper library for the implementation of SYNC mode on targets which are inherently ASYNC (e.g. X) and require manual flushes of the framebuffer.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">A target wishing to use mansync should open mansync with _ggiAddDL() in it\u2019s own GGIopen(). It must pass a pointer to a _ggi_opmansync structure as the argument to _ggiAddDL(), and must define the following macros:<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">MANSYNC_init(vis) <br \/> MANSYNC_deinit(vis) <br \/> MANSYNC_start(vis) <br \/> MANSYNC_stop(vis) <br \/> MANSYNC_ignore(vis) <br \/> MANSYNC_cont(vis)<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">which is supposed to call the functions in _ggi_opmansync respectively.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Mansync provides the following functions:<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">int _GGI_mansync_init(vis); <br \/> int _GGI_mansync_deinit(vis); <br \/> Initialize\/deinitialize mansync for given visual.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">int _GGI_mansync_start(vis); <br \/> int _GGI_mansync_stop(vis); <br \/> Start\/stop mansync handling. (process,thread,etc.) <br \/> You don\u2019t need to explicitly call these; <br \/> MANSYNC_SETFLAGS does it for you.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">int _GGI_mansync_ignore(vis); <br \/> int _GGI_mansync_cont(vis); <br \/> Temporarily start\/stop mansync, e.g. during mode set. <br \/> It is o.k. to use them even if mansync has not been started.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">MANSYNC_SETFLAGS(vis,flags) <br \/> mansync management in ggiSetFlags().<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">(The above functions return 0 if successful, -1 if not.)<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Please see display\/X, display\/aa or display\/tile to see how mansync is used. The functions should be transparent enough.<\/p>\n<p style=\"margin-left:22%;\"><b>Important:<\/b> You\u2019re responsible for locking your own visual, not mansync!<\/p>\n<h2>ENVIRONMENT VARIABLES <a name=\"ENVIRONMENT VARIABLES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>GGI_MANSYNC_FPS<\/b><\/p>\n<p style=\"margin-left:22%;\">This variable specifies the framerate for targets emulating synchronous mode. The default is 20fps. If you are experiencing problems with the X target over relatively slow remote connections it might be due to connection overload. You might want to try with a lower <b>GGI_MANSYNC_FPS<\/b> setting.<\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  display-mansync : sync mode emulation <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[971],"tags":[973,1116,972],"class_list":["post-4034","post","type-post","status-publish","format-standard","hentry","category-7-miscelanea","tag-973","tag-display-mansync","tag-man7"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=4034"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4034\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=4034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=4034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=4034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}