Skip to content

Commit

Permalink
v7.1.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
mviereck committed Feb 28, 2022
1 parent c629ce1 commit 52e1e21
Show file tree
Hide file tree
Showing 4 changed files with 1,750 additions and 1,727 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

Project website: https://github.com/mviereck/x11docker

## [Unreleased]
## [7.1.1](https://github.com/mviereck/x11docker/releases/tag/v7.1.1) - 2022-02-28
### Added
- `--gpu=virgl`: Experimental GPU access with `virgl_test_server`.
Currently only along with option `--xc`.
Allows acceleration for Xephyr, nxagent, Xvfb etc.
- `--gpu=iglx`: Enable indirect rendering (`--xorg` only). Replaces `--iglx`.
- `--pulseaudio=host`: Workaround to support Pipewire.
[(#418)](https://github.com/mviereck/x11docker/issues/418)
### Fixed
- `--user=RETAIN`: Some fixes.
[(#417)](https://github.com/mviereck/x11docker/issues/417)
- `--init=systemd`: Changed login and service setup to support arch containers.
[(#417)](https://github.com/mviereck/x11docker/issues/417)
- `--user=RETAIN`: Some fixes.
[(#417)](https://github.com/mviereck/x11docker/issues/417)
- `--clipboard`: Fix for `--xc`.
### Deprecated
- `--iglx`: Use `--gpu=iglx` instead.

Expand Down
22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ For a quick start:
- `--gpu` for hardware acceleration.
- [Examples](#examples):
```sh
x11docker x11docker/xfce thunar
x11docker --desktop x11docker/xfce
x11docker --gpu x11docker/xfce glxgears
```
Expand Down Expand Up @@ -254,7 +255,8 @@ Container runtimes known and supported by x11docker are:
`kata` aims to combine the security advantages of containers and virtual machines.
- Some x11docker options are not possible with `--runtime=kata-runtime`. Most important: `--hostdisplay`, `--webcam` and all Wayland related options.
For `--gpu` only `--xorg` with indirect rendering is supported.
- [`sysbox-runtime`](https://github.com/nestybox/sysbox): Based on runc, aims to enhance container isolation. Support is experimental yet.
- [`sysbox-runtime`](https://github.com/nestybox/sysbox): Based on runc, aims to enhance container isolation.
Support is experimental yet. Needs Sybox>=0.5.0 and kernel version >=5.12.

Using different runtimes is well tested for rootful Docker, but not for other [backend setups](#backend-docker-podman-or-nerdctl).

Expand Down Expand Up @@ -283,27 +285,31 @@ Possible runtime configuration in `/etc/docker/daemon.json`:
}
}
```

### Backends other than docker
x11docker supports container tools [Docker](https://en.wikipedia.org/wiki/Docker_(software)), [podman](http://docs.podman.io/en/latest/)
and [nerdctl](https://github.com/containerd/nerdctl) with option `--backend=BACKEND` in rootful and rootless mode.
- By default x11docker tries to run `docker`. Alternatively set option `--backend=podman` or `--backend=nerdctl`.
Supported `--backend` arguments: `docker` `podman` `nerdctl` `proot` `host`

Container backends:
- By default x11docker tries to run `docker`.
- To change the default `--backend=docker` to another one like `--backend=podman`, create a [`default` file for `--preset`](#default-preset-for-all-x11docker-sessions).
- Recommended for rootful container backend: `docker` or `podman`
- Recommended for rootless container backend: `podman`
- Only `podman` allows option `--home` in rootless mode yet.
- Only `podman` provides useful file ownerships with option `--share` in rootless mode yet.

Other supported backends that are in fact no containers:
- `--backend=host` runs a host application on a new X server. No containerization is involved.
- `--backend=proot` runs a command in a rootfs file system, i.e. in a folder that contains a full linux system.
- `--backend=proot` is useful if you cannot use or install a real container backend for some reasons.
A statical build of [`proot`](https://github.com/proot-me/proot) is available, too.
- `proot` is similar to `chroot`, but does not need root privileges.
- Either specify path to a folder with a rootfs as IMAGENAME, or provide one to call with 'image-name' at `~/.local/share/x11docker/ROOTFS/image-name`.
- Tool [`image2rootfs`}(https://github.com/mviereck/image2rootfs) helps to create a rootfs from docker images.
- Either specify a path to a folder with a rootfs as IMAGENAME, or provide a rootfs to call with 'image-name' at `~/.local/share/x11docker/ROOTFS/image-name`.
- Tool [`image2rootfs`}(https://github.com/mviereck/image2rootfs) helps to create a rootfs from docker images.
- Changes done in the `proot` environment are persistent, in opposite to backends `docker|podman|nerdctl` that always run a fresh container.
- Prefer a real container backend as they provide better isolation from host.

To change the default `--backend=docker` to another one like `--backend=podman`, create a [`default` file for `--preset`](#default-preset-for-all-x11docker-sessions).

### Preconfiguration with --preset
For often used option combinations you might want to use option `--preset FILENAME` to have a command shortcut.
`FILENAME` is a file in `~/.config/x11docker/preset` or in `/etc/x11docker/preset` containing some x11docker options.
Expand Down
7 changes: 1 addition & 6 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
x11docker ToDo notes

## Work in progress
- --xc --user=root fails

- centralize argument checks
- change global "no" to ""
- --xc=backend
- --xc: Sysbox and runc both in use
- --pulseaudio=host: check possible tcp setup

- `--interactive --init=runit|openrc|sysvinit`: no job control in shell
Expand Down Expand Up @@ -35,7 +32,6 @@ x11docker ToDo notes
- --xpra-xwayland --xc: xpra client fails with keyboard error

## Issues to fix
- sysbox: warning on capabilities
- --build: download files for COPY/ADD (x11docker/check, x11docker/xserver)
- `--remove`: give note about not removed files in `~./config/x11docker` and `/etc/x11docker`
- `--update`: Check if installs not into `/usr/bin` or `/usr/local/bin`. Do not install other files then.
Expand Down Expand Up @@ -73,7 +69,6 @@ x11docker ToDo notes
- `--wayland --user`: wayland socket access denied due to `XDG_RUNTIME_DIR` file access permissions

## Nice to fix (images)
- `x11docker/check`: Print several checks in terminal before running gui
- `x11docker/fluxbox` on arch host: background can miss, sometimes no context menu. Where is the difference to other hosts?

## 3rd party bugs
Expand All @@ -86,7 +81,7 @@ x11docker ToDo notes
https://bugzilla.redhat.com/show_bug.cgi?id=1498669

## Improvements
- `--cleanup`: avoid hardcoded paths
- `--cleanup`: avoid hardcoded pathes
- dependency wiki: Cygwin packages
- `x11docker/check`: palinopsia: check video RAM size with `glxinfo`, adjust requested RAM size.
- further checks of `/etc/pam.d`
Expand Down

0 comments on commit 52e1e21

Please sign in to comment.