{"id":19297276,"url":"https://github.com/lintonye/fastdroid-vnc-server","last_synced_at":"2025-04-22T09:30:27.081Z","repository":{"id":4481352,"uuid":"5620381","full_name":"lintonye/fastdroid-vnc-server","owner":"lintonye","description":"Compilable Fastdroid VNC server for Android, originally by Danke Xie","archived":false,"fork":false,"pushed_at":"2012-08-30T20:56:14.000Z","size":1616,"stargazers_count":44,"open_issues_count":0,"forks_count":23,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-09T23:02:26.644Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lintonye.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-30T20:22:11.000Z","updated_at":"2024-08-13T05:26:20.000Z","dependencies_parsed_at":"2022-09-09T03:00:25.618Z","dependency_job_id":null,"html_url":"https://github.com/lintonye/fastdroid-vnc-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lintonye%2Ffastdroid-vnc-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lintonye%2Ffastdroid-vnc-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lintonye%2Ffastdroid-vnc-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lintonye%2Ffastdroid-vnc-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lintonye","download_url":"https://codeload.github.com/lintonye/fastdroid-vnc-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250214913,"owners_count":21393695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T23:01:50.149Z","updated_at":"2025-04-22T09:30:26.406Z","avatar_url":"https://github.com/lintonye.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"VNC server for Android\n======================\n\nfastdroid-vnc - a fast Android VNC server based on libvncserver.  \n\nStarted with original fbvncserver for the iPAQ and Zaurus.\n\thttp://fbvncserver.sourceforge.net/\n\nModified by Jim Huang \u003cjserv.tw@gmail.com\u003e\n\t- Simplified and sizing down\n\t- Performance tweaks\n\nModified by Steve Guo (letsgoustc)\n \t- Added keyboard/pointer input\n\nModified by Danke Xie (danke.xie@gmail.com)\n\t- Added input device search to support different devices\n\t- Added kernel vnckbd driver to allow full-keyboard input on 12-key hw\n\t- Supports Android framebuffer double buffering\n\t- Performance boost and fix GCC warnings in libvncserver-0.9.7\n\nANDROID INSTALL\n===============\n\nCopy the directory fastdroid-vnc to any Android build directory, run\na build command from Android root\n  $ make -j4 fastdroid-vnc\n\nPush the binary to the device\n  $ adb push system/bin/fastdroid-vnc /data/\n  \nModify file permission and run\n  $ adb shell\n  # cd /data\n  # chmod 777 fastdroid-vnc\n  # ./fastdroid-vnc\n  \n\nLINUX BUILD\n===========\nTo make a linux build, one can use the linux Makefile instead of the above\nAndroid steps, and the Android makefile Android.mk.\n\nRun make under the fastdroid-vnc directory\n  $ make\n\nThe executable file fastdroid-vnc will be in the same directory.\n\n\nINPUT DEVICE CONFIGURATION\n==========================\n\nThis version of the VNC server can forward input events from the remote VNC viewer \nto Android framework (based on Steve Guo's work). The way it works is converting \nremote VNC inputs to Linux input events and send to the input devices /dev/input/event\u003cN\u003e. \n\nThe input devices used are the keyboard and the touchscreen. Each input device has \na specific \u003cN\u003e value. The server can automatically detect the \u003cN\u003e value based on the \nname string of the device. Upon execution, it enumerates the input devices under \n/device/input/event\u003cN\u003e, and select the device whose name matches the keywords in \nfbvncserver.c. For example, they keywords are\n\nstatic const char *KBD_PATTERNS[] = {\"VNC\", \"key\", \"qwerty\", NULL};\nstatic const char *TOUCH_PATTERNS[] = {\"touch\", \"qwerty\", NULL};\n\nIf an input device contains the strings in KBD_PATTERNS, it will be used to support\nkeyboard events. The same is true for the touchscreen device with the keyword\nstrings in TOUCH_PATTERNS. If more than one devices match, then the one matching the \nleft-most pattern is used.\n\nIf a matching device is not found, then some default input devices will be used. The\nuser can also specify the keyboard and touchpad devices by the command line:\n\t\n\t-k \u003ckeyboard-device-path\u003e\n\t-t \u003ctouchscreen-device-path\u003e\n\nTo determine which input device is the keyboard/touchscreen, one may make use of the \ninformation in /proc/bus/input/devices.\n\nPERFORMANCE ENHANCEMENT\n=======================\n\nThis VNC server is based on libvncserver 0.9.7, but several optimizations\nare made in the server to improve the response time to VNC clients, and \nreduced background activity when there is no active clients.\n\nIt also supports the double buffering mechanism used by Android. This can \navoid frame misses found in previous Android framebuffer VNC servers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flintonye%2Ffastdroid-vnc-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flintonye%2Ffastdroid-vnc-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flintonye%2Ffastdroid-vnc-server/lists"}