Posts by Germano

InfoMessage
21) Message boards : BOINC client : Please keep Github BOINC releases page up to date
Message 75614
Posted 2 Feb 2017 by Germano
Hi, I am one of the BOINC maintainers on Fedora / RHEL / CentOS/ Scientific Linux.
The place where usually package maintainers take the source codes of softwares they maintain is
https://github.com/foo/releases

Concerning BOINC, the page
https://github.com/BOINC/boinc/releases
looks like it is not maintained, indeed many new releases (testing included) are not available there, complicating the maintaining work of BOINC packages on Linux distrubutions...

Best regards
22) Message boards : GPUs : [Linux] Trick to use AMDGPU-Pro OpenCL capabilities without installing the whole propertary driver stack
Message 75459
Posted 23 Jan 2017 by Germano
Does it work if you let boinc access X:

xhost +si:localuser:boinc


If it works you'll need to run the command and restart the client every time you restart X or put the commands in your display manager's startup script.

It does not work: I have tried first with
Environment=LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64

then with
Environment=/opt/amdgpu-pro/lib64


How can I revert
xhost +si:localuser:boinc

?
23) Message boards : GPUs : [Linux] Trick to use AMDGPU-Pro OpenCL capabilities without installing the whole propertary driver stack
Message 75440
Posted 22 Jan 2017 by Germano
Ok. I meant, does GPU detection work at all without LD_LIBRARY_PATH, did things change worse or is there no change?

There is no change using
Environment=/opt/amdgpu-pro/lib64

in systemd unit file

I don't know if it still is but adding user 'boinc' to group 'video' used to be necessary.

My user is not in video group, and running boinc_client manually I managed to let it detect the GPU. So there should be no reason to add boinc user to video group
24) Message boards : GPUs : [Linux] Trick to use AMDGPU-Pro OpenCL capabilities without installing the whole propertary driver stack
Message 75438
Posted 22 Jan 2017 by Germano
So this host has only one graphics card or two?

One
25) Message boards : GPUs : [Linux] Trick to use AMDGPU-Pro OpenCL capabilities without installing the whole propertary driver stack
Message 75390
Posted 19 Jan 2017 by Germano
Looking at the log you seem to be using Mesa OpenCL for Polaris card and AMDGPU for Ellesmere. I would have thought you'd want them the other way around?

I am not very expert about OpenCL libraries, indeed this is the first time I hear about Ellesmere

With LD_LIBRARY_PATH in unit file did GPU detection break or continue to not work?

I get these messages
gio 19 gen 2017 12:06:41 CET |  | cc_config.xml not found - using defaults
gio 19 gen 2017 12:06:41 CET |  | Starting BOINC client version 7.6.22 for x86_64-pc-linux-gnu
gio 19 gen 2017 12:06:41 CET |  | log flags: file_xfer, sched_ops, task
gio 19 gen 2017 12:06:41 CET |  | Libraries: libcurl/7.51.0 NSS/3.27 zlib/1.2.8 libidn2/0.11 libpsl/0.14.0 (+libidn2/0.10) libssh2/1.8.0 nghttp2/1.13.0
gio 19 gen 2017 12:06:41 CET |  | Running as a daemon
gio 19 gen 2017 12:06:41 CET |  | Data directory: /var/lib/boinc
gio 19 gen 2017 12:06:41 CET |  | OpenCL CPU: pthread-AMD Phenom(tm) II X4 965 Processor (OpenCL driver vendor: The pocl project, driver version 0.13, device version OpenCL 2.0 pocl)
gio 19 gen 2017 12:06:41 CET |  | No usable GPUs found
gio 19 gen 2017 12:06:41 CET |  | Processor: 4 AuthenticAMD AMD Phenom(tm) II X4 965 Processor [Family 16 Model 4 Stepping 3]
gio 19 gen 2017 12:06:41 CET |  | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid eagerfpu pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
gio 19 gen 2017 12:06:41 CET |  | OS: Linux: 4.9.3-200.fc25.x86_64
gio 19 gen 2017 12:06:41 CET |  | Memory: 15.67 GB physical, 1.95 GB virtual
gio 19 gen 2017 12:06:41 CET |  | Disk: 456.47 GB total, 28.55 GB free
gio 19 gen 2017 12:06:41 CET |  | Local time is UTC +1 hours
[cut]
gio 19 gen 2017 12:06:41 CET |  | Reading preferences override file
gio 19 gen 2017 12:06:41 CET |  | Preferences:
gio 19 gen 2017 12:06:41 CET |  | max memory usage when active: 8022.21MB
gio 19 gen 2017 12:06:41 CET |  | max memory usage when idle: 14439.97MB
gio 19 gen 2017 12:06:41 CET |  | max disk usage: 28.57GB
gio 19 gen 2017 12:06:41 CET |  | don't use GPU while active
gio 19 gen 2017 12:06:41 CET |  | (to change preferences, visit a project web site or select Preferences in the Manager)
gio 19 gen 2017 12:06:41 CET |  | gui_rpc_auth.cfg is empty - no GUI RPC password protection
gio 19 gen 2017 12:06:41 CET |  | Suspending computation - initial delay



Does it appear in /proc/pid-of-boinc/environ ?

yes
# cat /proc/4333/environ 
LANG=it_IT.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binHOME=/var/lib/boincLOGNAME=boincUSER=boincSHELL=/sbin/nologinJOURNAL_STREAM=8:178191LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64


LD_LIBRARY_PATH is a bit special, it can be used to create security holes.

Oh I did not know about that, is it so dangerous? What should I use instead?
26) Message boards : GPUs : [Linux] Trick to use AMDGPU-Pro OpenCL capabilities without installing the whole propertary driver stack
Message 75367
Posted 18 Jan 2017 by Germano
Linux only:
There is a trick to use OpenCL capabilities of lastest AMD GPUs supported by AMDGPU FOSS driver even not installing the AMDGPU-Pro closed driver:
Download the AMDGPU-Pro drivers, unpack libdrm, libAMDOpenCL, libkms and put them under
/opt/amdgpu-pro

Don't forget the file amdocl64.icd has to be copied in the path
/etc/OpenCL/vendors/

It seems hard, but once you have unpacked those libraries you will understand everything.

Ok once you have done, simply start the application with the following command
$ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64 application_name

For example I run darktable with command
$ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64 darktable


I tried with BOINC too
$ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64 /usr/bin/boinc_client


and it detects the GPU correctly
18-Jan-2017 16:32:48 [---] OpenCL: AMD/ATI GPU 0 (ignored by config): AMD POLARIS10 (DRM 3.8.0 / 4.9.3-200.fc25.x86_64, LLVM 3.8.0) (driver version 13.0.3, device version OpenCL 1.1 Mesa 13.0.3, 8159MB, 8159MB available, 3709 GFLOPS peak)
18-Jan-2017 16:32:48 [---] OpenCL: AMD/ATI GPU 1: Ellesmere (driver version 2236.5, device version OpenCL 1.2 AMD-APP (2236.5), 7868MB, 7868MB available, 622 GFLOPS peak)
18-Jan-2017 16:32:48 [---] OpenCL CPU: pthread-AMD Phenom(tm) II X4 965 Processor (OpenCL driver vendor: The pocl project, driver version 0.13, device version OpenCL 2.0 pocl)
18-Jan-2017 16:32:48 [---] OpenCL CPU: AMD Phenom(tm) II X4 965 Processor (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 2236.5 (sse2), device version OpenCL 1.2 AMD-APP (2236.5))


Since on Fedora we run BOINC as a systemd service, I edited
/usr/lib/systemd/system/boinc-client.service

[Unit]
Description=Berkeley Open Infrastructure Network Computing Client
Documentation=man:boinc(1)
After=network-online.target

[Service]
Type=forking
Nice=10
User=boinc
WorkingDirectory=/var/lib/boinc
ExecStart=/usr/bin/boinc_client --daemon --start_delay 1
ExecStop=/usr/bin/boinccmd --quit
ExecReload=/usr/bin/boinccmd --read_cc_config
ExecStopPost=/bin/rm -f /var/lib/boinc/lockfile
IOSchedulingClass=idle
Environment=LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64

[Install]
WantedBy=multi-user.target

The problem is that by doing that I obtain error message
No usable GPU found
. I already gave to BOINC all SELinux permissions, and I have also done some tries with file permissions on the mentioned OpenCL libraries.
What do you suggest me to do?
27) Message boards : BOINC client : BOINC requires access to /dev/input/event9
Message 70165
Posted 13 Jun 2016 by Germano
I added a suggestion about how to implement user idle time detection in systemd based Linux distributions
https://github.com/BOINC/boinc/issues/1187#issuecomment-225699768
28) Message boards : BOINC client : Does BOINC need X running to use GPU?
Message 70145
Posted 13 Jun 2016 by Germano
Hi, I need to know if BOINC client needs X running to use GPU for calculus.
Thank you very much
29) Message boards : BOINC client : BOINC requires access to /dev/input/event9
Message 69991
Posted 5 Jun 2016 by Germano
Is the concern that the BOINC Client would act as a keylogger?


Yeah exactly
30) Message boards : BOINC client : BOINC requires access to /dev/input/event9
Message 69948
Posted 3 Jun 2016 by Germano
Hi, I am the Fedora's BOINC co-maintainer.
BOINC > 7.4.x wants to access to /dev/input/event9 that corresponds to user's keyboard
https://bugzilla.redhat.com/show_bug.cgi?id=1337607
I would need to know why it tries to read from that device. To detect user inactivity time?
As BOINC co-maintainers we have been asked (by SELinux maintainers) to decide if SELinux should allow such readings or not.
31) Message boards : BOINC client : BOINC does not write in logs
Message 69947
Posted 3 Jun 2016 by Germano
Thank you, I will start working on it as soon as possible
32) Message boards : BOINC client : BOINC does not write in logs
Message 69777
Posted 28 May 2016 by Germano
I would need to know, in BOINC source code, where is the code that initializes and fills the logs. So that I could write a patch file (for Fedora) that makes BOINC write logs into /var/log/ directory, avoiding the package maintainer to have to mess up with symbolic links, etc.

I have done a quick search with "grep" but I haven't found much useful stuff
33) Message boards : BOINC client : BOINC does not write in logs
Message 69765
Posted 27 May 2016 by Germano
It works on Debian. You can take a look at the systemd service file there: https://anonscm.debian.org/cgit/pkg-boinc/boinc.git/tree/debian/boinc-client.service

I am often in contact with the Debian maintainer and he told me that that configuration was taken from Fedora old script file (BOINC 7.2.x)
The systemd script file I pasted here is an evolution of the older one, that avoids BOINC from running SELinux-unconfined (See https://bugzilla.redhat.com/show_bug.cgi?id=1303070 )

Anyway we are fixing the logs problem, see https://bugzilla.redhat.com/show_bug.cgi?id=1339002
Anyway I am still curious about why BOINC uses its working directory as logs directory[/url]
34) Message boards : BOINC client : BOINC does not write in logs
Message 69686
Posted 21 May 2016 by Germano
# log files
#LOGFILE=/var/log/${BOINCEXE_NAME}.log
#ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log

# Add this option if you want to redirect logging to the files stderrdae.txt
# and stdoutdae.txt in BOINCDIR rather than LOGFILE and ERRORLOG
#BOINCOPTS="--redirectio"

Source.


The situation is the same


/usr/lib/systemd/system/boinc-client.service
[Unit]
Description=Berkeley Open Infrastructure Network Computing Client
Documentation=man:boinc(1)
After=network-online.target

[Service]
Type=forking
Nice=10
User=boinc
Group=boinc
PermissionsStartOnly=yes
WorkingDirectory=/var/lib/boinc
ExecStartPre=/usr/bin/touch /var/log/boinc.log /var/log/boinc_err.log
ExecStartPre=/bin/chown boinc:boinc /var/log/boinc.log /var/log/boinc_err.log
ExecStart=/usr/bin/boinc_client --daemon --start_delay 1
ExecStop=/usr/bin/boinccmd --quit
ExecReload=/usr/bin/boinccmd --read_cc_config
ExecStopPost=/bin/rm -f /var/lib/boinc/lockfile
IOSchedulingClass=idle
Environment="LOGFILE=/var/log/boinc.log"
Environment="ERRORLOG=/var/log/boinc_err.log"

[Install]
WantedBy=multi-user.target


# ls -latr /var/log/boinc*
-rw-r--r--. 1 boinc boinc 0 21 mag 15.58 /var/log/boinc.log
-rw-r--r--. 1 boinc boinc 0 21 mag 15.58 /var/log/boinc_err.log


A entry from top
25657 boinc     39  19   76756  36704   2088 R  64,7  0,2   9:49.40 wcgrid_mcm1_7.3
35) Message boards : BOINC client : BOINC does not write in logs
Message 69681
Posted 21 May 2016 by Germano
Hi, I am the Fedora's BOINC co-maintainer.
We just upgraded BOINC client to 7.6.x from 7.4.x and I am trying to figure out why BOINC does not write logs.
I attach boinc-client.service and logrotate.d/boinc-client

/usr/lib/systemd/system/boinc-client.service
[Unit]
Description=Berkeley Open Infrastructure Network Computing Client
Documentation=man:boinc(1)
After=network-online.target

[Service]
Type=forking
Nice=10
User=boinc
PermissionsStartOnly=yes
WorkingDirectory=/var/lib/boinc
ExecStartPre=/usr/bin/touch /var/log/boinc.log /var/log/boincerr.log
ExecStartPre=/bin/chown boinc:boinc /var/log/boinc.log /var/log/boincerr.log
ExecStart=/usr/bin/boinc_client --daemon --start_delay 1
ExecStop=/usr/bin/boinccmd --quit
ExecReload=/usr/bin/boinccmd --read_cc_config
ExecStopPost=/bin/rm -f /var/lib/boinc/lockfile
IOSchedulingClass=idle

[Install]
WantedBy=multi-user.target


/etc/logrotate.d/boinc-client
/var/log/boinc.log /var/log/boincerr.log {
        missingok
        notifempty
        copytruncate
        compress
        delaycompress
        nomail
}
Previous 20

Copyright © 2025 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.