Skip to content

Commit

Permalink
Merge branch 'devel'
Browse files Browse the repository at this point in the history
  • Loading branch information
metalefty committed Dec 9, 2016
2 parents 03ac729 + 575c0aa commit b2a6f4b
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 34 deletions.
81 changes: 48 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,69 +5,84 @@
# xorgxrdp

## Overview
**xorgxrdp** is a collection of modules to be used with the pre-existing X.Org

**xorgxrdp** is a collection of modules to be used with a pre-existing X.Org
install to make the X server act like X11rdp. Unlike X11rdp, you don't have to
recompile the whole X Window System. Instead, additional drivers are installed
to a location where the existing Xorg installation would pick them.
recompile the whole X Window System. Instead, additional modules are installed to
a location where the existing Xorg installation would pick them.

xorgxrdp is to be used together with [xrdp](https://github.com/neutrinolabs/xrdp)
and X.Org Server. It is pretty useless using xorgxrdp alone.

## Features

xorgxrdp supports screen resizing. When an RDP client connects, the screen is
resized to the size supplied by the client.

xorgxrdp uses 24 bits per pixel internally. xrdp translates the color depth for
the RDP client as requested. RDP clients can disconnect and reconnect to the same
session even if they use different color depths.

## Compiling

### Pre-requisites

To compile from the packaged sources, you would need basic build tools - a
compiler (**gcc** or **clang**) and the **make** program. Additionally, you
would need **nasm** (Netwide Assembler) and the headers for X Window System
To compile xorgxrdp from the packaged sources, you need basic build tools - a
compiler (**gcc** or **clang**) and the **make** program. Additionally, you would
need **nasm** (Netwide Assembler) and the development package for X Window System
(look for **xserver-xorg-dev**, **xorg-x11-server-sdk** or
**xorg-x11-server-devel** in your distro).

To compile from the checked out directory, you would additionally need
*autoconf**, **automake**, **libtool** and **pkgconfig**.
To compile xorgxrdp from a checked out git repository, you would additionally
need **autoconf**, **automake**, **libtool** and **pkgconfig**.

### Get the source & build it
### Get the source and build it

xorgxrdp requires xrdp header files. There are different procedures to build
xorgxrdp whether you have installed xrdp headers or not.
xorgxrdp requires a header file from xrdp. So it's preferred that xrdp is
compiled and installed first.

If you have already installed xrdp,
If compiling from the packaged source, unpack the tarball and change to the
resulting directory.

If compiling from a checked out repository, run `./bootstrap` first to create
`configure` and other required files.

Then run following commands to compile and install xorgxrdp:

```
git clone https://github.com/neutrinolabs/xorgxrdp.git
cd xorgxrdp
./bootstrap && ./configure && make
./configure
make
sudo make install
```

If you haven't installed xrdp and don't want to install xrdp,
If you don't want to install xrdp first, you can compile xorgxrdp against xrdp
sources by specifying XRDP_CFLAGS on the `configure` command line.

```
git clone https://github.com/neutrinolabs/xorgxrdp.git
cd xorgxrdp
git clone --depth 1 --branch=devel https://github.com/neutrinolabs/xrdp.git xrdp
sed -e 's|@VERSION@|0.9.0|g' -e "s|@abs_top_srcdir@|`pwd`/xrdp|g" \
xrdp/pkgconfig/xrdp-uninstalled.pc.in > xrdp/pkgconfig/xrdp-uninstalled.pc
./bootstrap && env PKG_CONFIG_PATH=xrdp/pkgconfig ./configure && make
./configure XRDP_CFLAGS=-I/path/to/xrdp/common
```

## Usage

As mentioned abobe, xorgxrdp is to be used together with xrdp and X.Org Server.
You would need X.Org Server (**xserver-xorg-core** or **xorg-x11-server-Xorg**).
xorgxrdp will be ignited automatically by xrdp (xrdp-sesman, speaking more
accurately) so usually you don't need to run xorgxrdp manually except in case of
debugging.
When logging in to xrdp using an RDP client, make sure to select Xorg on the
login screen. xrdp will tell xrdp-sesman to start Xorg with the configuration
file that activates the xorgxrdp modules.

In case of debugging, this is a typical example to run Xorg with xorgxrdp.
Additional options may be required depending on your distro.

```
Xorg :10 -config xrdp/xorg.conf
```
Make sure your system has the X.Org server (typically **xserver-xorg-core** or
**xorg-x11-server-Xorg** package). Check that Xorg is in the standard path
(normally in `/usr/bin`).

## Contributing

First off, thanks for taking your time for improve xorgxrdp.

If you contribute to xorgxrdp, checkout **devel** branch and make changes to
the branch. Please make pull requests also versus **devel** branch.

To debug xorgxrdp, you can run Xorg with xorgxrdp manually:

```
Xorg :10 -config xrdp/xorg.conf
```

See also the `tests` directory for the tests that exercise xorgxrdp modules.
2 changes: 1 addition & 1 deletion module/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ nasm_verbose_ = $(nasm_verbose_@AM_DEFAULT_V@)
nasm_verbose_0 = @

.asm.lo:
$(nasm_verbose)$(LIBTOOL) $(AM_V_lt) --mode=compile --tag NASM \
$(nasm_verbose)$(LIBTOOL) $(AM_V_lt) --mode=compile \
$(srcdir)/nasm_lt.sh $(NASM) $(NAFLAGS) -I$(srcdir) -I. $< -o $@

libxorgxrdp_la_LIBADD =

0 comments on commit b2a6f4b

Please sign in to comment.