Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
---
description: Thanks for choosing Bottles for managing your wineprefixes on Linux!
description: Thank you for choosing Bottles to run your favorite Windows apps on Linux!
---

# Welcome

{% hint style="info" %}
This documentation is still being written. Recommend us any improvements by clicking the GitHub icon at the top right of each page.
We are still rewriting this documentation. Contribute improvements by clicking the three-dot button > Edit on GitHub on the top right of the page.
{% endhint %}

## What is Bottles?

Bottles is an application that allows you to easily manage Windows prefixes on your favorite Linux distribution.
Bottles is an app for easily managing Windows prefixes on your Linux device.

## Windows prefixes?

Windows prefixes are environments where it is possible to run Windows software using runners. Runners are compatibility layers capable of running Windows applications on a Linux system.
## What are "Windows prefixes"?

In Bottles we call these environments bottles.
Windows prefixes are the environment where you can run Windows apps with runners. Runners are compatibility layers that allow Windows apps to run on a Linux device.

In Bottles, these environments are called "bottles".

## Where to start?

It's simple. Start by [installing](getting-started/installation.md) Bottles on your Linux distribution.
It's simple. Just [install](getting-started/installation.md) Bottles on your Linux device.

## First run

Already installed? Let's go with the [first boot](getting-started/first-run.md) of Bottles!
Already installed? Let's go see [Bottles' first run](getting-started/first-run.md)!
29 changes: 10 additions & 19 deletions getting-started/environments.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,32 @@
---
description: In Bottles we use environments for creating new bottles.
description: Bottles use environments for creating new bottles.
---
# Environments

Bottles Environments offers a package of configurations and dependencies to enhance support for Windows software in some contexts.
Environments offer pre-made configurations to enhance support for specific types of Windows apps.

We offer the following default Environments:
Bottles offer the following default environments:

* **Gaming** for games
* **Application** for... applications
* **Custom** is just a clear workspace where you can start making experiments
* **Application** for applications
* **Custom** is a clean environment for experimenting with different configurations.

![Environment selection](<../.gitbook/assets/getting_started/environments/Custom.png>)

### Gaming environment

This environment comes with the following configuration:
This environment comes with the Soda runner, with DXVK and VKD3D for translating DirectX 9 to 12 games to Vulkan. Direct access to NVIDIA GPUs through NVAPI is also supported. The environment uses dedicated graphics cards (called in-app as `Discrete graphics`) to enhance performance on devices with multiple GPUs. By default, Esync is used to synchronize and improve performance, though on supported kernels, you should switch this to Fsync for better results.

* DXVK enabled
* VKD3D disabled
* Esync enabled
* Discrete Graphics Card enabled (useful for laptops with hybrid graphics setup)
* PulseAudio latency forced to 60ms for better audio quality in-game
* d3dx9, d3dcompiler_43, d3dcompiler_47 dlls
* Microsoft Line Services
* Arial, Times and Courier fonts
You can use LatencyFleX to reduce input lag. DLSS (NVIDIA GPUs only), FidelityFX, and vkBasalt post-processing can be configured to further enhance performance. You can also set GameMode and game file preloading for this.

### Application environment

This environment enables DXVK and VKD3D by default, ensuring support for multimedia applications (such as 3D modeling, Video Editing and drawing programs) but also office and productivity software. It will also install Arial, Times and Courier fonts, and the Wine mono, replacing the .NET Framework.
This environment is a less intensive version of the gaming environment. Hardware acceleration is supported to ensure a seamless multimedia experience. Common fonts are preinstalled and Wine's Mono is installed in place of the .NET Framework.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is "intensive" the right word here? I think more emphasis should be put on the Application env. being more general-purpose than Gaming. Rest of it looks good.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although I don't really know how I would word it so it's not that important


### Custom environment

If you are a nerd (even more nerd) then this is the environment for you!

This is a clear environment where you can experiment, test and configure your bottle! You can also choose which runner to use for your experiments, just install more from the Bottles Preferences page.
This is a clear environment where you can experiment, test and configure your bottle. You can also choose which runner to use for your experiments, just install more from the preferences page.

## Environment preferences

Regardless of the environment you choose, you can change your preferences at any time, e.g. change the type of synchronisation or add and remove dependencies.
Regardless of the environment you choose, you can change your preferences at any time, e.g. change the type of synchronisation or add and remove dependencies.
47 changes: 24 additions & 23 deletions getting-started/first-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,61 @@ description: Your first experience with Bottles starts here.

# First run

At the first start you will be shown the Onboard, which is a wizard that will explain some concepts and help you configure Bottles.
At first run, you will see the Onboard, a wizard that explains necessary concepts and helps you set up Bottles.

![Bottles - Welcome](<../.gitbook/assets/getting_started/first_run/Welcome.png>)

Once the key concepts of Bottles have been introduced, some important stuff (\~ 70MB) will be downloaded, which is necessary for creating your bottles.
Additional packages (around 90 MB) will be downloaded after you finish the wizard. These packages are necessary to create a bottle.

**The files we download are available from our** [**public repository**](https://github.com/bottlesdevs/components) **for analysis purposes.** The latest versions of the following components will be downloaded at the first start:
**These packages are available in our [public repository](https://github.com/bottlesdevs/components) for anyone to analyze.** At first run, Bottles will download these packages:

* Soda runner (around 60 MB)
* DXVK (around 8 MB)
* VKD3D (around 2 MB)
* NVAPI (around 2 MB)
* LatencyFleX (around 500 KB)
* Runtime (around 16 MB)

* Caffe runner
* DXVK
* VKD3D
* NVAPI
* LatencyFleX
* Runtime

**Each file is checked with the repository checksum**, if this check fails, the file is deleted and the installation fails.
**Bottles verifies these packages through checksums provided by the repository.** If the verification fails, the file is deleted and Bottles will try to download a clean, untampered file again.

{% hint style="info" %}
We cannot offer these files with Bottles as these have different release cycles.
Bottles cannot be distributed with these packages since these packages have different release cycles.

**We do this to provide Bottles users with the most seamless installation experience.** If Bottles bundle these packages, we will need to either update our app in Flathub several times a week, or bundle an outdated package.

**It is not our limit, it is how it must be done.** Downloading these files with the package means increasing the release frequency (even several times a day) or providing Bottles with older versions of these components. What we have chosen is the correct way to be able to offer the same experience to all distribution formats and to ensure that we offer the latest version of the components to the user on first launch.
Thus, we have decided to use this distribution method to ensure everyone can access the latest packages without complicated app updates and to make sure first-time users can get a seamless setup experience with the latest packages.
{% endhint %}

![Downloading the first runner](<../.gitbook/assets/getting_started/first_run/Downloading.png>)

This is a one time operation, you can use the same runner for all your bottles or install others from the Bottles preferences.
These packages are only downloaded once. You can reuse the runner and other libraries on all your bottles, and install alternatives through the preferences menu.

Finally everything is ready and you can start using Bottles!
Everything is ready and you can now create your first bottle!

![Everything is ready!](<../.gitbook/assets/getting_started/first_run/Ready.png>)

Below is a video showing the process of first boot, first bottle creation and running a Windows program.
Below is a video showing the process of first boot, first bottle creation and running a Windows app.

{% embed url="https://www.youtube.com/watch?feature=youtu.be&v=JQyOGtPQ644" %}

## Offline? You do not have time?
## Offline? No time for setup?

Are you offline or don't want to download it now? No problem.

If you are Offline, Bottles will notice and ask you to go online to proceed. All features that require a connection are blocked and will be active again as soon as you come back online!
If you are offline, Bottles will detect it and ask you to go online to continue. You will temporarily be unable to access features that need the internet. These features will reactivate as soon as you go back online.

You can go to the Bottles Preferences at any time and install a runner. Alternatively, when you create a bottle, you will be automatically taken to the installation page.
You can go to the preferences menu anytime to install a runner. You will also be automatically taken to the installation page when you create a bottle.

![Bottles - Preferences - Runners](<../.gitbook/assets/components/runners/Main.png>)

### Your first Bottle
### Your first bottle

When everything is ready, you will be faced with a screen like the following, telling you that there is no bottles yet.
After setup, you will see the following screen, indicating that there are no bottles yet.

![Empty bottles view](<../.gitbook/assets/getting_started/first_run/NoBottles.png>)

To create your first bottle, you will need to press the plus button on the top left and proceed following the on-screen instructions.
To create your first bottle, press the + button on the top left and follow the on-screen instructions.

![Bottle creation](<../.gitbook/assets/getting_started/first_run/NewBottle.png>)

You can read more about the different types of bottles in the next section.
You can learn more about different types of bottles in the next section.
9 changes: 5 additions & 4 deletions getting-started/installation.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
description: We currently only offer Bottles as a flatpak package
description: Bottles is available from Flathub!
---

# Installation

The Flatpak package is the only fully sandboxed version. It bundles all the needed dependencies and tools and works on most distributions [supported by Flatpak](https://flatpak.org/setup/).
The Flatpak package works on most Linux distributions [supported by Flatpak](https://flatpak.org/setup/). It is fully sandboxed and comes with the necessary tools and dependencies.

{% hint style="info" %}
This is the most supported and tested release of Bottles.
This is the most supported and tested way of installing Bottles.
{% endhint %}

{% tabs %}
Expand Down Expand Up @@ -49,9 +49,10 @@ unzip bottles-source.zip
cd Bottles-main
```

Build can be performed using `flatpak-builder` (installable using your distribution package manager like apt, dnf, ..):
Build can be performed using `flatpak-builder` (which you can get on your distribution's package manager, or the `org.flatpak.Builder` package from Flathub):

```bash
# replace `flatpak-builder` with `flatpak run org.flatpak.Builder` if flatpak-builder is installed from Flathub
flatpak-builder --repo=bottles --force-clean --user build-dir com.usebottles.bottles.yml
flatpak remote-add --user bottles bottles --no-gpg-verify
flatpak install --user bottles com.usebottles.bottles
Expand Down