Linux systemd: delay BOINC startup until after video drivers have loaded
Describe the problem If the BOINC client starts before drivers are ready, GPU detection fails and any GPU is unusable throughout the session.
See, for example, https://boinc.berkeley.edu/forum_thread.php?id=12946
Describe the solution you'd like Re-position BOINC client startup in repository scripts
Hi Richard, what does it mean
Re-position BOINC client startup in repository scripts
? Thank you
I'm not a Linux specialist, so I wasn't using technical Linux terminology.
But I assume any startup script follows a linear time sequence - step, after step, after step.
The BOINC step needs to be positioned after the video driver step, or so it seems.
In systemd language, boinc wants gpu driver.
Except, of course, on a client host running headless and without GPU coprocessors.
In discussion "[systemd-devel] Start service after video drivers have been loaded" Lennart Poettering said
I am not sure what "BOINC" is, but if it needs to wait for hardware it should use libudev or so and wait for it to show up. Everything else is messy. [Continues...]
For more interesting infos, read the whole systemd-devel thread
The is another case of BOINC checking something at startup and assuming it will never change. Does waiting work? What does libudev do when you wait on something that doesn't exist? Shouldn't BOINC repeatedly check and verify the presence and usability of GPUs, rather than just doing it once?
On Tue, May 21, 2019 at 8:50 AM Germano Massullo [email protected] wrote:
In discussion "[systemd-devel] Start service after video drivers have been loaded" https://lists.freedesktop.org/archives/systemd-devel/2019-May/042707.html Lennart Poettering said
I am not sure what "BOINC" is, but if it needs to wait for hardware it should use libudev or so and wait for it to show up. Everything else is messy. [Continues...]
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/BOINC/boinc/issues/3150?email_source=notifications&email_token=ACS5ZMQBGT7NFC5CXYKK3SDPWQK3FA5CNFSM4HNMJIR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV4LENA#issuecomment-494449204, or mute the thread https://github.com/notifications/unsubscribe-auth/ACS5ZMV4466JEPOENBDTDA3PWQK3FANCNFSM4HNMJIRQ .
-- Eric Korpela [email protected] AST:7731^29u18e3
@SETIguy https://en.wikipedia.org/wiki/Udev
I performed a full system update and reboot of my Linux Mint systems this weekend. That updated my BOINC installation to v7.16.6
On restart, my GPUs were not fully detected by BOINC. On one restart, the CUDA driver was missing but the OpenCL driver was detected: on another restart, no usable GPUs were found.
I was able to resume GPU computation by stopping the boinc-client service and restarting it - something available to me as an owner-driver. That resolution would not be available to a corporate user.