Skip to content

Issue during openwebui.sh installation: /dev/dri/renderD128 added by build.func causes “not a device” error #5653

@Zorrochi

Description

@Zorrochi

✅ Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Open WebUI

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openwebui.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

No response

📝 Provide a clear and concise description of the issue.

First of all, thank you very much for the great work on these scripts! I really appreciate the effort and help they provide.

When running the openwebui.sh script on Proxmox, the devices /dev/dri/renderD128 and /dev/dri/card0 are automatically added to the CT by the build.func function. This causes errors when starting the container, such as:

TASK ERROR: /dev/dri/renderD128 is not a device

And also in the SSH Window

LXC Container 112 was successfully created.
  ⠋   Starting LXC Container/dev/dri/renderD128 is not a device
  ⠹   Starting LXC Container
[ERROR] in line 1155: exit code 0: while executing command pct start "$CTID"

and maybe similarly for /dev/dri/card0.

These errors occur because the script mounts these devices without checking whether they actually exist or are usable on the host system.

Suggested Improvement:
It would be helpful if the script asked the user whether to add /dev/dri/renderD128 and /dev/dri/card0 to the CT before mounting them. This user prompt would allow skipping the device mounts when they are not available or needed, avoiding these errors.

For example, adding a function like this:

function mount_render_devices() {
    read -p "Do you want to mount /dev/dri/renderD128 into the CT? (y/n): " choice128
    if [[ "$choice128" == "y" || "$choice128" == "Y" ]]; then
        pct set $CTID -lxc.mount.entry /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
    fi

    read -p "Do you want to mount /dev/dri/card0 into the CT? (y/n): " choicecard
    if [[ "$choicecard" == "y" || "$choicecard" == "Y" ]]; then
        pct set $CTID -lxc.mount.entry /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
    fi
}

and calling it before starting the container would solve the problem.

Relevant part of the script:
The devices are added with these commands inside the build.func function:

pct set $CTID -lxc.mount.entry /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
pct set $CTID -lxc.mount.entry /dev/dri/card0 dev/dri/card0 none bind,optional,create=file

🔄 Steps to reproduce the issue.

My server does not have a graphics card, so this error is probably occurring for me.

It was a default installation.

❌ Paste the full error output (if available).

TASK ERROR: /dev/dri/renderD128 is not a device
[ERROR] in line 1155: exit code 0: while executing command pct start "$CTID"

🖼️ Additional context (optional).

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions