Can OpenCL be used with this old laptop?

I use an old Lenovo Ideapad 110 laptop when away from home, to run Darktable. yes it is slow, but it manages. However I am sure it would be better if I could OpenCL running. I have done some searching around, and it appears to be too old - or at least I have not found drivers etc for it yet. Any suggestions?

System details
image

  • You can always run an OpenCL test by launching C:\Program Files\darktable\bin\darktable-cltest.exe from a command line window, this will give you detailed information on your current OpenCL status.

This is noted on the DT FAQā€¦might see what output you getā€¦ esp if you can enable itā€¦

Itā€™s linux not Windows, but anyway the problem is not whether Darktable can see opencl, the problem is how to install opencl in the first place (or maybe install the required drivers), given the older hardware.

Anyway, for completeness

$ darktable-cltest
[dt_get_sysresource_level] switched to 1 as `defaultā€™
total mem: 6848MB
mipmap cache: 856MB
available mem: 3424MB
singlebuff: 53MB
OpenCL tune mem: OFF
OpenCL pinned: OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: ā€˜defaultā€™
[opencl_init] opencl_library: ā€˜default pathā€™
[opencl_init] opencl_device_priority: ā€˜/!0,//ā€™
[opencl_init] opencl_mandatory_timeout: 200
[opencl_init] opencl library ā€˜libOpenCL.so.1ā€™ found on your system and loaded
[opencl_init] could not get platforms: Unknown OpenCL error
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.

and

$clinfo
Number of platforms 0

Would this method work?? Not a Linux guy so likely you wiil get better adviceā€¦

Install driver for AMD graphics cards via Driver Manager

If you have an AMD graphics card and you did the steps in the first paragraph ā€œCheck current driver for graphics cardsā€ then your graphics card probably has been recognized and gives you the option to install an open source driver or a proprietary AMD driver, indicated with fglrx.

  1. Choose the recommended driver (indicated with highest number and Recommended indicator).
  2. Click on Apply changes.

Install latest AMD driver via PPA

Although your AMD graphics card will probably work fine out of the box in Linux Mint, there could be different reasons to install a more recent driver. It is possible to install AMD proprietary drivers that can be downloaded from the AMD drivers page, but in Linux it is a bit of a tricky process. Much easier is to add the available PPA to your operating system.

To add the PPA do the following:

  1. Open a terminal via Ctrl + Alt + T or by search for terminal in the applications menu search bar.
  2. type the following command in the terminal and hit enter:

sudo add-apt-repository ppa:oibaf/graphics-drivers

You will get the message ā€œPress Enter to continue or Ctrl+C to cancelā€.

  1. Hit enter to continue.
  2. When the command has been finished type in the terminal the following command and hit enter:

sudo apt-get update

When the command has been finished you can set the correct driver.

  1. Open the applications menu.
  2. Choose Driver Manager under the Administration category and enter your password.

Now you will see that there are more driver alternatives available.

  1. Select the newest driver and click Apply Changes.
  2. When changes have been applied click on Restartā€¦

After your computer has been restarted the newest graphics driver should be active.

It was worth a try, however the result is as below. Maybe there are no drivers for my old system.

image

1 Like

Searching around I found AMD drivers but the wonā€™t install due to dependency probems and reading about resolving this I find

" You donā€™t need and shouldnā€™t try to install AMD proprietary drivers. There arenā€™t any AMD proprietary drivers for legacy hardware in Linux and the only drivers that supports such hardware - radeon - is already included iin the kernel."

So, the problem then devolves into getting opencl to see and use the Radeon R3 graphics.

So - progress, having followed some instructions here [Tutorial] [Updated] How to install OpenCL support - Linux Mint Forums I now seem to have opencl working and seeing the GPU

BUT

Darktable is saying it has no ā€œimage supportā€

$ darktable-cltest
[dt_get_sysresource_level] switched to 1 as `defaultā€™
total mem: 6848MB
mipmap cache: 856MB
available mem: 3424MB
singlebuff: 53MB
OpenCL tune mem: OFF
OpenCL pinned: OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: ā€˜defaultā€™
[opencl_init] opencl_library: ā€˜default pathā€™
[opencl_init] opencl_device_priority: ā€˜/!0,//ā€™
[opencl_init] opencl_mandatory_timeout: 200
[opencl_init] opencl library ā€˜libOpenCLā€™ found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device

[dt_opencl_device_init]
DEVICE: 0: ā€˜KABINI (, LLVM 15.0.6, DRM 2.50, 5.15.0-58-generic)ā€™, NEW
CANONICAL NAME: kabinillvm1506drm250515058generic
PLATFORM NAME & VENDOR: Clover, Mesa
DRIVER VERSION: 23.1.0-devel
DEVICE VERSION: OpenCL 1.1 Mesa 23.1.0-devel (git-cb611b2 2023-02-11 jammy-oibaf-ppa)
DEVICE_TYPE: GPU
*** The OpenCL driver doesnā€™t provide image support. See also ā€˜clinfoā€™ output ***
[opencl_init] no suitable devices found.
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.

Iā€™m using ROCm to get openCL on my AMD card, but itā€™s a lot newer than yours and it doesnā€™t look like it supports your chipset.

Older versions do need an alternate method, such as Clover, but that doesnā€™t provide what darktable needs.

Thereā€™s Rusticl which is now in Mesa, which is supposed to work with a much broader set of GPUs and specifically looks to support darktable as well. Itā€™s been merged in, but I donā€™t think thereā€™s any way to use it at the moment without recompiling Mesa.

A few news articles about Rusticl:

Basically, it supports many more GPUs (from various manufacturers) and thereā€™s even a Vulkan backend. Itā€™s been merged, but I donā€™t know how one might try it. Hopefully itā€™ll be picked up by GPUs by default soon. (I also wonder how it would perform versus AMDā€™s ROCm for my video card in darktable too.)


But: This all said, I couldnā€™t find a way to enable it on a desktop to actually try it out yet.

Itā€™s merged into Mesa, but not built by default. Hopefully thereā€™s a way to use it somehow without having to figure out dependencies and compiling Mesa. Even Mesa trees built from git donā€™t have it enabled, like this PPA for Ubuntu, which some Mint users use, stating ā€œMesa 22.3.0 note: Sorry, but rusticl requires new dependencies that are not healthy enough at this time to be used. Until the remaining dependencies can be evaluated, it canā€™t be enabled in the PPA.ā€

The good news is that thereā€™s even talk about removing Clover (as itā€™s basically deprecated) and enabling Rusticl by default ā€œsoonā€. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385

So: Someday, in the not too distant futureā€¦ perhaps even in the timeframe of sometime this year, we all should hopefully have Rusticl. And it will possibly work with your laptop as well (and it might be even more likely if your GPU already does support Vulkan).

But right now, today? Probably not a good chance of it on your laptop. :slightly_frowning_face:

3 Likes

^ +1. Iā€™m also not sure how much of an advantage in performance it will give you.

1 Like

Very much appreciate all this info. I was struggling to understand how it all should or should not work.

1 Like