# Ubuntu 22.04 LTS

### 1. Check if NVIDIA Drivers Are Installed

```sh
nvidia-smi
```

If you see information similar to the following, it means that the NVIDIA drivers are already installed, and you can skip Step 2.

Notice:`CUDA Version` should be >= 12.1, If the displayed version number is less than 12.1, please upgrade the driver.

```plaintext
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 537.34                 Driver Version: 537.34       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3060 Ti   WDDM  | 00000000:01:00.0  On |                  N/A |
|  0%   51C    P8              12W / 200W |   1489MiB /  8192MiB |      5%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
```

### 2. Install the Driver

If no driver is installed, use the following command:

```sh
sudo apt-get update
sudo apt-get install nvidia-driver-545
```

Install the proprietary driver and restart your computer after installation.

```sh
reboot
```

### 3. Install Anaconda

If Anaconda is already installed, skip this step.

```sh
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
bash Anaconda3-2024.06-1-Linux-x86_64.sh
```

In the final step, enter `yes`, close the terminal, and reopen it.

### 4. Create an Environment Using Conda

Specify Python version 3.10.

```sh
conda create -n MinerU python=3.10
conda activate MinerU
```

### 5. Install Applications

```sh
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com
```

❗ After installation, make sure to check the version of `magic-pdf` using the following command:

```sh
magic-pdf --version
```

If the version number is less than 0.7.0, please report the issue.

### 6. Download Models

Refer to detailed instructions on [how to download model files](how_to_download_models_en.md).

## 7. Understand the Location of the Configuration File

After completing the [6. Download Models](#6-download-models) step, the script will automatically generate a `magic-pdf.json` file in the user directory and configure the default model path.
You can find the `magic-pdf.json` file in your user directory.

> The user directory for Linux is "/home/username".

### 8. First Run

Download a sample file from the repository and test it.

```sh
wget https://github.com/opendatalab/MinerU/raw/master/demo/small_ocr.pdf
magic-pdf -p small_ocr.pdf
```

### 9. Test CUDA Acceleration

If your graphics card has at least **8GB** of VRAM, follow these steps to test CUDA acceleration:

> ❗ Due to the extremely limited nature of 8GB VRAM for running this application, you need to close all other programs using VRAM to ensure that 8GB of VRAM is available when running this application.

1. Modify the value of `"device-mode"` in the `magic-pdf.json` configuration file located in your home directory.
   ```json
   {
     "device-mode": "cuda"
   }
   ```
2. Test CUDA acceleration with the following command:
   ```sh
   magic-pdf -p small_ocr.pdf
   ```

### 10. Enable CUDA Acceleration for OCR

1. Download `paddlepaddle-gpu`. Installation will automatically enable OCR acceleration.
   ```sh
   python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
   ```
2. Test OCR acceleration with the following command:
   ```sh
   magic-pdf -p small_ocr.pdf
   ```
