kpocza / lowe Goto Github PK
View Code? Open in Web Editor NEWLinux on Windows extender
License: MIT License
Linux on Windows extender
License: MIT License
I run into the following error on starting loweagent using ./loweagent -e X
[INFO]{config}: Config loaded successfully
[INFO]{main}: Determining program mode from exec param: X
[INFO]{main}: Main program name is X
[INFO]{main}: App config identified
[INFO]{main}: Device handler configured
[INFO]{checkexposer}: Ensuring LoWeExposer handled devices...
[INFO]{fb}: Path: /dev/fb0
[INFO]{tty}: Path: /dev/tty0
[INFO]{tty}: Path: /dev/tty99
[INFO]{mice}: Path: /dev/input/evmice
[INFO]{kbd}: Path: /dev/input/evkbd
[INFO]{checkexposer}: Connecting to LoWeExposer on port no. 12345
[INFO]{fb}: Path: /dev/fb0
[INFO]{tty}: Path: /dev/tty0
[INFO]{tty}: Path: /dev/tty99
[INFO]{mice}: Path: /dev/input/evmice
[INFO]{kbd}: Path: /dev/input/evkbd
[INFO]{main}: Checking the availability of all devices...
[INFO]{fb}: Path: /dev/fb0
[INFO]{fb}: Device check ok
[INFO]{tty}: Path: /dev/tty0
[INFO]{tty}: Path: /dev/tty99
[INFO]{tty}: Device check ok
[INFO]{mice}: Path: /dev/input/evmice
[INFO]{mice}: Device check ok
[INFO]{kbd}: Path: /dev/input/evkbd
[INFO]{kbd}: Device check ok
[INFO]{main}: Waiting for process to start...
[INFO]{main}: X will be started
[INFO]{main}: PID: 8812
[INFO]{starter}: Starting X
[INFO]{main}: Spinning...
X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-138-generic x86_64 Ubuntu
Current Operating System: Linux suyash-pc 4.4.0-17763-Microsoft #194-Microsoft Mon Dec 03 17:58:00 PST 2018 x86_64
Kernel command line: BOOT_IMAGE=/kernel init=/init ro
Build Date: 25 October 2018 04:11:27PM
xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/suyash/.local/share/xorg/Xorg.0.log", Time: Sun Jan 13 00:32:48 2019
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (Input/output error)
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/home/suyash/.local/share/xorg/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
The x log file output is:
[283112.059]
X.Org X Server 1.19.6
Release Date: 2017-12-20
[283112.060] X Protocol Version 11, Revision 0
[283112.060] Build Operating System: Linux 4.4.0-138-generic x86_64 Ubuntu
[283112.060] Current Operating System: Linux suyash-pc 4.4.0-17763-Microsoft #194-Microsoft Mon Dec 03 17:58:00 PST 2018 x86_64
[283112.061] Kernel command line: BOOT_IMAGE=/kernel init=/init ro
[283112.061] Build Date: 25 October 2018 04:11:27PM
[283112.062] xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
[283112.191] Current version of pixman: 0.34.0
[283112.233] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[283112.246] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[283112.307] (==) Log file: "/home/suyash/.local/share/xorg/Xorg.0.log", Time: Sun Jan 13 00:32:48 2019
[283112.328] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[283112.333] (==) ServerLayout "Default Layout"
[283112.334] (==) No screen section available. Using defaults.
[283112.334] (**) |-->Screen "Default Screen Section" (0)
[283112.334] (**) | |-->Monitor "<default monitor>"
[283112.336] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[283112.336] (**) |-->Input Device "Configured Mouse"
[283112.336] (**) |-->Input Device "Configured Keyboard"
[283112.336] (**) Option "AutoAddDevices" "false"
[283112.337] (**) Option "UseSIGIO" "false"
[283112.337] (**) Not automatically adding devices
[283112.337] (==) Automatically enabling devices
[283112.337] (==) Automatically adding GPU devices
[283112.337] (==) Automatically binding GPU devices
[283112.338] (==) Max clients allowed: 256, resource mask: 0x1fffff
[283112.339] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[283112.339] Entry deleted from font path.
[283112.339] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[283112.340] Entry deleted from font path.
[283112.340] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[283112.340] Entry deleted from font path.
[283112.341] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11/Type1".
[283112.341] Entry deleted from font path.
[283112.341] (Run 'mkfontdir' on "/usr/share/fonts/X11/Type1").
[283112.341] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[283112.341] Entry deleted from font path.
[283112.342] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[283112.342] Entry deleted from font path.
[283112.342] (==) FontPath set to:
/usr/share/fonts/X11/misc,
built-ins
[283112.343] (==) ModulePath set to "/usr/lib/xorg/modules"
[283112.343] (II) Loader magic: 0x7f4db2e47020
[283112.343] (II) Module ABI versions:
[283112.344] X.Org ANSI C Emulation: 0.4
[283112.344] X.Org Video Driver: 23.0
[283112.344] X.Org XInput driver : 24.1
[283112.344] X.Org Server Extension : 10.0
[283112.345] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory)
[283112.347] (II) no primary bus or device found
[283112.347] (II) LoadModule: "glx"
[283112.354] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[283112.374] (II) Module glx: vendor="X.Org Foundation"
[283112.374] compiled for 1.19.6, module version = 1.0.0
[283112.374] ABI class: X.Org Server Extension, version 10.0
[283112.374] (==) Matched modesetting as autoconfigured driver 0
[283112.374] (==) Matched fbdev as autoconfigured driver 1
[283112.375] (==) Matched vesa as autoconfigured driver 2
[283112.375] (==) Assigned the driver to the xf86ConfigLayout
[283112.375] (II) LoadModule: "modesetting"
[283112.376] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[283112.378] (II) Module modesetting: vendor="X.Org Foundation"
[283112.378] compiled for 1.19.6, module version = 1.19.6
[283112.378] Module class: X.Org Video Driver
[283112.378] ABI class: X.Org Video Driver, version 23.0
[283112.378] (II) LoadModule: "fbdev"
[283112.379] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[283112.380] (II) Module fbdev: vendor="X.Org Foundation"
[283112.381] compiled for 1.19.3, module version = 0.4.4
[283112.381] Module class: X.Org Video Driver
[283112.381] ABI class: X.Org Video Driver, version 23.0
[283112.381] (II) LoadModule: "vesa"
[283112.382] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[283112.384] (II) Module vesa: vendor="X.Org Foundation"
[283112.384] compiled for 1.19.3, module version = 2.3.4
[283112.385] Module class: X.Org Video Driver
[283112.385] ABI class: X.Org Video Driver, version 23.0
[283112.385] (II) LoadModule: "evdev"
[283112.387] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[283112.394] (II) Module evdev: vendor="X.Org Foundation"
[283112.394] compiled for 1.19.3, module version = 2.10.5
[283112.394] Module class: X.Org XInput Driver
[283112.394] ABI class: X.Org XInput driver, version 24.1
[283112.395] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[283112.395] (II) FBDEV: driver for framebuffer: fbdev
[283112.395] (II) VESA: driver for VESA chipsets: vesa
[283112.396] (EE)
Fatal server error:
[283112.399] (EE) parse_vt_settings: Cannot open /dev/tty0 (Input/output error)
[283112.400] (EE)
[283112.402] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[283112.420] (EE) Please also check the log file at "/home/suyash/.local/share/xorg/Xorg.0.log" for additional information.
[283112.423] (EE)
[283112.427] (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor
[283112.428] (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor
[283112.428] (EE) Server terminated with error (1). Closing log file.
I followed the steps for running x programs.
Thanks.
I am having trouble finding the directory that contains MSBuild.exe associated with .NET framework version 4.7. I installed netfx-4.7-devpack with Chocolatey, but I don't see where the installer places the package files.
When I try to use the LoWe system, it presents multiple errors and fails to run mplayer. The client complains about I/O errors and unable to load config.
When I tap the Enabled button in the LoWeExposer ALSA tab once, nothing happens.
When I tap the Enabled button a second time, that triggers some kind of WSACancelBlockingCall
error.
PS C:\Users\andrew\go\src\github.com\kpocza\LoWe\src\LoWeExposer\out> .\LoWeExposer.exe
$ pwd
/home/andrew/go/src/github.com/mcandre/rouge
$ loweagent -e 'mplayer examples/p0.wav'
[ERR]{config}: Line 0 , msg: file I/O error
[ERR]{main}: Unable to load config
I ran build.cmd and even tried to do it by second method in Visual Studio, but no LoWeExposer.exe was generated.
This happened when I tried to run loweagent :-
@LAPTOP-P99MQ4FH:/mnt/c/Users/1517s/Documents/GitHub/LoWe/src/LoWeAgent/out$ ./loweagent -e X
[INFO]{config}: Config loaded successfully
[INFO]{main}: Determining program mode from exec param: X
[INFO]{main}: Main program name is X
[INFO]{main}: App config identified
[INFO]{main}: Device handler configured
[INFO]{checkexposer}: Ensuring LoWeExposer handled devices...
[INFO]{fb}: Path: /dev/fb0
[INFO]{fb}: Path: /tmp/fb0
[INFO]{tty}: Path: /dev/tty0
[INFO]{tty}: Path: /dev/tty99
[INFO]{mice}: Path: /dev/input/evmice
[INFO]{kbd}: Path: /dev/input/evkbd
[INFO]{checkexposer}: Connecting to LoWeExposer on port no. 12345
[ERR]{checkexposer}: Unable to receive data
[ERR]{checkexposer}: Please ensure that LoWeExposer.exe application is running
[ERR]{main}: Unable to ensure that exposer is functioning
Keyboard and Mouse not working while follow the doc of running x window
P.S. English is not my native language. Sorry about any grammar or typing mistakes.
Windows side: 16257.1000, Visual Studio 15.3.2, .NET Framework 4.7.02542
Both Debug and Release build failed on this.
Linux side: Ubuntu 16.04 xenial, x86_64 Linux 4.4.0-43-Microsoft, gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4), zsh 5.1.1, make 4.1, download from Windows Store.
Build with make
command
LoWeExposer.exe
in Windows.loweagent -e X -o x.log
in WSL.unity
in another WSL terminal.A unity Desktop appear in the FrameBuffer Window, but I can't move the cursor in the window. No responce for keyboard as well.
When trying to run loweagent, the application does not start.
Input
./loweagent -e libreoffice
Output
[INFO]{config}: Config loaded successfully
[INFO]{main}: Determining program mode from exec param: vlc
[INFO]{main}: Main program name is vlc
[ERR]{main}: Unable to resolve app config
LoWeExposer is active and enabled on Windows. I had built it using build.cmd
using the Developer Command Prompt for VS 2017. The build had completed successfully.
The Windows version is 1803 and Ubuntu version on WSL is 18.04
master's readme says:
LoWe officially supports Windows 10 Redstone 2 (aka Creators Update) running Ubuntu 16 LTS. If you're still running Windows 10 Anniversary Update with Ubuntu 14 LTS then please checkout w10auu14 branch.
This branch supports Windows 10 Anniversary Update only with Ubuntu 14 LTS. Windows 10 Creators Update running Ubuntu 16 LTS support is under heavy construction in branch w10rs2u16 which is not fully working yet.
Seems to be conflicting information right next to each other. This is neither w10auu14
nor w10rs2u16
, this is master
, so it is not clear to me what environment is supported by the master branch - CU? AU? both? none? 😕
Hi guys,
Could you have a look whether KDE konsole works?
If so, could you make a mention?
I played around but without LoWe so far and I have had troubles getting kde konsole to work,
in particular I cuold not type anything (I was using xming though; that is why I would like to know whether it works on LoWe, then I could try it).
Thanks!
Hey,
I was wondering if you had any thoughts on whether LoWe would be a good fit for running GUI apps on remote Linux systems from Windows?
The project does not build unless unistd.h
is included in a few device-related files.
Errors are as follows:
make
mkdir -p obj
mkdir -p obj/DeviceHandlers/
mkdir -p out
g++ DeviceHandler.cpp -c -o obj/DeviceHandler.o -std=c++11 -Wall -I. -IDeviceHandlers
DeviceHandler.cpp: In member function ‘bool DeviceHandler::HasPermissions() const’:
DeviceHandler.cpp:91:31: error: ‘R_OK’ was not declared in this scope
if(access(_openpath.c_str(), R_OK|W_OK) < 0)
^
DeviceHandler.cpp:91:36: error: ‘W_OK’ was not declared in this scope
if(access(_openpath.c_str(), R_OK|W_OK) < 0)
^
DeviceHandler.cpp:91:40: error: ‘access’ was not declared in this scope
if(access(_openpath.c_str(), R_OK|W_OK) < 0)
^
Makefile:25: recipe for target 'obj/DeviceHandler.o' failed
make: *** [obj/DeviceHandler.o] Error 1
Dear @kpocza
In my opinion, you should change the names of some files to lowercase as follows:
LoWe/src/LoWeExposer/LoWeExposer/
ALSAExposer.xaml
ALSAExposer.xaml.cs
LoWe/src/LoWeExposer/LoWeExposer/
AlsaExposer.xaml
AlsaExposer.xaml.cs
./loweagent -l debug -e X
[INFO]{args}: loglevel: DEBUG
[DEBUG]{config}: Opening config file: /home/maks/lowe/loweagent.conf
[DEBUG]{config}: Registered device with name: fb
[DEBUG]{config}: Registered device with name: tty
[DEBUG]{config}: Registered device with name: alsa
[DEBUG]{config}: Registered device with name: evmice
[DEBUG]{config}: Registered device with name: evkbd
[DEBUG]{config}: Registered device with name: sys
[INFO]{config}: Config loaded successfully
[INFO]{main}: Determining program mode from exec param: X
[INFO]{main}: Main program name is X
[INFO]{main}: App config identified
[INFO]{main}: Device handler configured
[INFO]{checkexposer}: Ensuring LoWeExposer handled devices...
[DEBUG]{factory}: Opening: /dev/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /dev/fb0
[INFO]{fb}: Path: /dev/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /tmp/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /tmp/fb0
[INFO]{fb}: Path: /tmp/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty0
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty0
[INFO]{tty}: Path: /dev/tty0
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty99
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty99
[INFO]{tty}: Path: /dev/tty99
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evmice
[DEBUG]{factory}: new DeviceHandlerEvMice: /dev/input/evmice
[INFO]{mice}: Path: /dev/input/evmice
[DEBUG]{mice}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evkbd
[DEBUG]{factory}: new DeviceHandlerEvKeyboard: /dev/input/evkbd
[INFO]{kbd}: Path: /dev/input/evkbd
[DEBUG]{kbd}: Fully closing fd: -1
[INFO]{checkexposer}: Connecting to LoWeExposer on port no. 12345
[DEBUG]{socket}: Connected to port no 12345 on host 172.30.0.1
[DEBUG]{checkexposer}: Exposer setup response FBUF - 51014
[DEBUG]{checkexposer}: Exposer setup response MICE - 51015
[DEBUG]{checkexposer}: Exposer setup response KEYB - 51016
[DEBUG]{factory}: Opening: /dev/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /dev/fb0
[INFO]{fb}: Path: /dev/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{checkexposer}: Setting up port 51014 for FBUF
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /tmp/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /tmp/fb0
[INFO]{fb}: Path: /tmp/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{checkexposer}: Setting up port 51014 for FBUF
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty0
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty0
[INFO]{tty}: Path: /dev/tty0
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty99
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty99
[INFO]{tty}: Path: /dev/tty99
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evmice
[DEBUG]{factory}: new DeviceHandlerEvMice: /dev/input/evmice
[INFO]{mice}: Path: /dev/input/evmice
[DEBUG]{checkexposer}: Setting up port 51015 for MICE
[DEBUG]{mice}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evkbd
[DEBUG]{factory}: new DeviceHandlerEvKeyboard: /dev/input/evkbd
[INFO]{kbd}: Path: /dev/input/evkbd
[DEBUG]{checkexposer}: Setting up port 51016 for KEYB
[DEBUG]{kbd}: Fully closing fd: -1
[INFO]{main}: Checking the availability of all devices...
[DEBUG]{factory}: Opening: /dev/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /dev/fb0
[INFO]{fb}: Path: /dev/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{checker}: Examining device: FBUF
[INFO]{fb}: Device check ok
[DEBUG]{socket}: Connected to port no 51014 on host 172.30.0.1
[DEBUG]{fb}: Ok
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /tmp/fb0
[DEBUG]{factory}: new DeviceHandlerFrameBuffer: /tmp/fb0
[INFO]{fb}: Path: /tmp/fb0
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{checker}: Examining device: FBUF
[INFO]{fb}: Device check ok
[DEBUG]{socket}: Connected to port no 51014 on host 172.30.0.1
[DEBUG]{fb}: Ok
[DEBUG]{fb}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty0
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty0
[INFO]{tty}: Path: /dev/tty0
[DEBUG]{checker}: Examining device:
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/tty99
[DEBUG]{factory}: new DeviceHandlerTTY: /dev/tty99
[INFO]{tty}: Path: /dev/tty99
[DEBUG]{checker}: Examining device:
[INFO]{tty}: Device check ok
[DEBUG]{tty}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evmice
[DEBUG]{factory}: new DeviceHandlerEvMice: /dev/input/evmice
[INFO]{mice}: Path: /dev/input/evmice
[DEBUG]{checker}: Examining device: MICE
[INFO]{mice}: Device check ok
[DEBUG]{socket}: Connected to port no 51015 on host 172.30.0.1
[DEBUG]{mice}: Ok
[DEBUG]{mice}: Fully closing fd: -1
[DEBUG]{factory}: Opening: /dev/input/evkbd
[DEBUG]{factory}: new DeviceHandlerEvKeyboard: /dev/input/evkbd
[INFO]{kbd}: Path: /dev/input/evkbd
[DEBUG]{checker}: Examining device: KEYB
[INFO]{kbd}: Device check ok
[DEBUG]{socket}: Connected to port no 51016 on host 172.30.0.1
[DEBUG]{kbd}: Ok
[DEBUG]{kbd}: Fully closing fd: -1
[INFO]{main}: Waiting for process to start...
[INFO]{main}: X will be started
[INFO]{main}: PID: 29
[INFO]{main}: Spinning...
[INFO]{starter}: Starting X
[DEBUG]{dispatcher}: ProgRuntimeDispatcher GetOrAdd: 29
I'm in the habit of copying my binaries from github/.../out
directories to a more permanent location such as ~/bin
. However, when I try to launch LoWeExposer.exe from this directory, it quickly terminates without popping up the GUI, nor does it present any error messages.
@kpocza please upload the compiled LoWeExposer. I successfully compiled the LoWeAgent but am unable to compile LoWExposer because I do not have the required msbuild tools. Please upload the executable to help me (and may be some others like me)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.