doc: update readme to specify the opengl dependency

This commit is contained in:
2026-04-17 17:43:12 -04:00
parent 77b1271add
commit cbb56d0561
+50 -1
View File
@@ -15,6 +15,27 @@ A local-first paper library engine with a CLI for managing academic papers.
## Installation ## Installation
### System Dependencies
For PDF conversion functionality, paperlib requires OpenGL support through MinerU. If you are inside a graphical everionment, you are likely fine. On headless systems, install:
```bash
# Debian based
sudo apt-get install libglvnd0
# Fedora
sudo dnf install libglvnd-glx
# Arch Linux
sudo pacman -S libglvnd
# Gentoo
sudo emerge -av media-libs/libglvnd
# or just add media-libs/libglvnd to your @world or some set
```
### Python Package
```bash ```bash
# Install with uv (recommended) # Install with uv (recommended)
uv add paperlib uv add paperlib
@@ -127,10 +148,36 @@ pip install mineru[core]
# Convert all pending papers # Convert all pending papers
paperlib convert paperlib convert
# Retry failed conversions (useful after fixing system dependencies)
paperlib convert --retry-failed
# Force reconvert all papers
paperlib convert --force
# Convert specific paper # Convert specific paper
paperlib convert --paper-id <paper-id> paperlib convert --paper-id <paper-id>
``` ```
### Troubleshooting PDF Conversion
If conversion fails with OpenGL/display errors on headless systems:
```bash
# Check if MinerU is properly installed
uv run mineru --version
# If you get "libxcb.so.1" or similar errors, install OpenGL support:
sudo apt-get install libglvnd0 # Ubuntu/Debian
sudo pacman -S libglvnd # Arch Linux
sudo dnf install libglvnd-glx # Fedora
# Test conversion manually
mineru -p example.pdf -o /tmp/test_output -b pipeline
# Check paperlib conversion logs
cat path/to/library/papers/.../logs/mineru.log
```
## Machine-Readable Output ## Machine-Readable Output
Most commands support `--json` output for automation: Most commands support `--json` output for automation:
@@ -185,7 +232,7 @@ paperlib follows clean architecture principles:
## Roadmap ## Roadmap
- [x] Core paper import (local PDF, arXiv) - [x] Core paper import (local PDF, arXiv)
- [x] PDF to Markdown conversion (MinerU integration) - [x] PDF to Markdown conversion (MinerU integration)*
- [x] Metadata management and search indexing - [x] Metadata management and search indexing
- [x] CLI with all basic commands - [x] CLI with all basic commands
- [x] Comprehensive test suite - [x] Comprehensive test suite
@@ -195,6 +242,8 @@ paperlib follows clean architecture principles:
- [ ] Configuration file support - [ ] Configuration file support
- [ ] Advanced arXiv workflows - [ ] Advanced arXiv workflows
**Note**: PDF conversion requires `libglvnd` system dependency for OpenGL support on headless systems.
## Non-Goals ## Non-Goals
paperlib is intentionally focused and does NOT include: paperlib is intentionally focused and does NOT include: