No GPU dectected when started from systemd

Message boards : Questions and problems : No GPU dectected when started from systemd
Message board moderation

To post messages, you must log in.

AuthorMessage
GuiltyDoggy
Avatar

Send message
Joined: 8 Nov 22
Posts: 12
Message 110433 - Posted: 13 Nov 2022, 15:58:50 UTC

Fedora 36 Silverblue, AMD Radeon 6900XT, ROCm installed.

When I start the boinc-client.service, I get `No usable GPUs found` and I'm unable to run GPU jobs. However, when I manually run `boinc` as my own user, it sees the GPU and I'm able to run GPU jobs. I don't understand why it can't see the GPU when `boinc` is run from the systemd service (which runs under the `boinc` user). I've compared the groups, and the only group my own user is in is `wheel`. I don't think `boinc` needs to be in `wheel`, but I tried that anyway and it still didn't change anything.

Description=Berkeley Open Infrastructure Network Computing Client
Documentation=man:boinc(1)
Wants=vboxdrv.service
After=vboxdrv.service network-online.target

[Service]
Type=simple
ProtectHome=true
ProtectSystem=strict
ProtectControlGroups=true
ReadWritePaths=-/var/lib/boinc -/etc/boinc-client
Nice=10
User=boinc
WorkingDirectory=/var/lib/boinc
ExecStart=/usr/bin/boinc
ExecStop=/usr/bin/boinccmd --quit
ExecReload=/usr/bin/boinccmd --read_cc_config
ExecStopPost=/bin/rm -f lockfile
IOSchedulingClass=idle
# The following options prevent setuid root as they imply NoNewPrivileges=true
# Since Atlas requires setuid root, they break Atlas
# In order to improve security, if you're not using Atlas,
# Add these options to the [Service] section of an override file using
# sudo systemctl edit boinc-client.service
#NoNewPrivileges=true
#ProtectKernelModules=true
#ProtectKernelTunables=true
#RestrictRealtime=true
#RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
#RestrictNamespaces=true
#PrivateUsers=true
#CapabilityBoundingSet=
#MemoryDenyWriteExecute=true
#PrivateTmp=true  #Block X11 idle detection

[Install]
WantedBy=multi-user.target
[/i]
ID: 110433 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5081
United Kingdom
Message 110434 - Posted: 13 Nov 2022, 16:15:33 UTC

It can sometimes be a timing issue. BOINC detects GPUs by querying the drivers - and if the drivers haven't finished loading properly, they don't give a usable reply.

Try stopping the service before you reboot, and disabling it.

Then, after a reboot, wait until you have a usable desktop again. Then, enable the service, and start it manually. Works for me.
ID: 110434 · Report as offensive
GuiltyDoggy
Avatar

Send message
Joined: 8 Nov 22
Posts: 12
Message 110435 - Posted: 13 Nov 2022, 17:48:13 UTC - in response to Message 110434.  

Thanks for the reply. The service was disabled by default upon installation. I never enabled it to start automatically. All my testing has been done with starting the service manually.

For now, I've resorted to using the Docker version of the client (boinc/client:amd), which is working with the GPU.
ID: 110435 · Report as offensive

Message boards : Questions and problems : No GPU dectected when started from systemd

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.