How can I have Skia/Vulcan engage the Nvidia GPU on my notebook?

Hi.
I’m trying to work faster in Draw (Libreoffice 7.1.6.2 x64)
So I have been trying to engage the dedicated GPU, but sofar unsuccesfully.
I would be thankful for advice on how to do it properly.

Some info on my configuration and attempts:

I’m using a 2018 Huawei Matebook X Pro with i7-8550U CPU, 16GB RAM and Nvidia GeForce MX 150 GPU.

In Windows settings / Display / Graphics settings / Graphics performance preference I have both LibreOffice and LibreOffice Draw set to “High performance”.

On the Nvidia Control Panel, under “Manage 3d settings” / “Program Settings”, “PCMarc 10 (soffice.exe)” (which I think is LibreOffice) doesn’t have any other option than “Integrated graphics”. Isn’t that weird? In case of many other applications I can select the Nvidia GPU.

In LibreOffice under Tools / Options / LibreOffice / View / Graphics Output:

case 1.
When Skia is enabled, the option “Use hardware acceleration” is grayed out, and Windows Task Manager shows the process “LibreOffice” as NOT using the Nvidia GPU.

case 2.
If I disable Skia and select “Use hardware acceleration”, then Windows Task Manager shows the process “LibreOffice” as using the GPU and the Notebook generates a bit less heat, but the performance and speed in Draw is even worse than in case 1.

I read that this version of LibreOffice uses Skia and Vulcano, which make use of the dedicated GPU.

I also confirmed Vulcano compatibility of the GeForce MX 150 on the unofficial vulkan gpu database https://vulkan.gpuinfo.org.

I update Windows and LibreOffice regularly, and I also regularly run the native application of my Notebook PC to update all drivers.

What am I missing or doing wrong?

Tahnk you very much for reading .

1 Like

In Nvidia panel, have you tried to add the Draw exe (C:\Program Files\LibreOffice\program\sdraw.exe) instead of using the LibreOffice one (with Skia disabled)?

Thank you very much, but this didn’t solve the issue. I followed your suggestion and added sdraw.exe in the n-vidia Control Panel. I set it to use the Nvidia GPU. When I now use Draw, Windows’ Task Manager keeps showing that LibreOffice peaks at power usage -but without engaging the dedicated GPU (and work in Draw is as slow as before).

This is just an observation: To add LibreOffice to a list of allowed applications in anti-virus settings you add soffice.bin, not soffice.exe. I have no idea if that would be the case for hardware acceleration.

@A-Nicoladie : Thank you very much, but this didn’t solve the issue. I followed your suggestion and added sdraw.exe in the n-vidia Control Panel. I set it to use the Nvidia GPU. When I now use Draw, Windows’ Task Manager keeps showing that LibreOffice peaks at power usage -but without engaging the dedicated GPU (and work in Draw is as slow as before).

@EarnestAI : Thank you very much for your observation, but when I try to add soffice.bin in the Nvidia Control Panel, it is not possible because the NvidiaControl Panel application does not allow to select .bin files. Only .exe files can be selected.

Can you navigate to the folder and start typing soffice.bin? You might have to select All Files under file type. Or paste the full path and file name (in File Explorer, hold down Shift+Right-click on soffice.bin and select Copy as Path in the context menu). It isn’t immediately straightforward in anti virus either.

@EarnestAI : Thank you very much for the detailed instructions. Unfortunately, tha did not work.
Under file type, it is not possible to select anything but “.exe” files. To me, it looks like a feature forced by Nvidia.
Nevertheless, I followed your instructions and I was able to type in “soffice.bin” and I entered this value. But when I then check the list of applications… nothing has been added. It looks like the Nvidia Control Panel just ignores the entry of a “:bin” file.

Hi, people. The lack of answers puzzles me.
Am I the only one who has been struggling (in vain) to have LibreOffice Draw use the dedicated graphics processor in a Notebook PC?

I would really like to know, guys:

Is it that LibreOffice Draw doesn’t show any problems using the dedicated graphics processor in your Notebook PCs?

Or is it that LibreOffice Draw can NOT use dedicated graphics processors in Notebook PCs, but nobody cares about it?

My Acer laptop has same chip specs as yours (the integrated chip is Intel UHD Graphics 620) except only 8GB RAM. I don’t see any slowness in Draw so I am not tempted to change anything; that is, if it isn’t broken then don’t fix it.

I assume that I have default settings as I haven’t changed anything, PhysX is set to autoselect.

I suspect the only improvement by using MX150 would be in 3D

If Draw is running slowly then possibly the answer lies elsewhere. What does Task Manager say is using resources?

The other day I thought my installation of LibreOffice might be corrupted so i uninstalled the whole suite and then re-installed it. Unfortunately, it didn’t help.

I woud be very happy to find a solution to the problem I am having with LO Draw’s performance, and I’d be thankful for suggestions.

If someone would like to take a look on a Draw file that exemplifies the problems I describe here, please feel free to use this link: https://dl.dropboxusercontent.com/s/eer1k67kqghp54s/module_zero.odg?dl=0

@EarnestAl : It blows my mind to learn that the performance of a program like LibreOffice Draw (which I perceive to be a “graphics” Program) can not benefit from using a dedicated GPU.

I have been using LibreOffice Draw to create PDF lesson handouts (which are one or two-pages-long) for the foreign language classes I teach.
Each page contains several text boxes and some shapes and Bezier lines which show connections between text boxes and single words. I use different colors to convey meaning (not just for decoration).

In my case, Draw has always been (and remains being) very fast and responsive… as long as the file I’m editing is small and fairly simple.

But as I add more layers and objects to a page, I notice how Draw performs proportionally sluggisher.

I keep checking Task Manager on a second screen, and Draw peaks in “power usage” and “cpu” whenever I perform operations which I believe to be “graphics-intensive” like zooming and editing Bezier nodes.

The issue reaches a point where each single edit step takes from ten seconds to over a minute, with LibreOffice “not responding” or crashing regularly. Preemptively saving the file, closing and restarting LibreOffice, or restarting Windows are all things which seem to help a bit, but only short-term. In the end, editing becomes impossible.

I don’t experience anything like this with any other piece of software on my note PC.

Task Manager doesn’t show any other suspicious resource usage beside LibreOffice’s. And even during its “episodes”, LibreOffice somehow does not access more than approx. 40% of my CPU. So I can even launch other programs while LibreOffice Draw is busy gasping and choking, and the other programs perform normally.

The symptoms led me to think that engaging a dedicated graphics processor could help Draw work at an acceptable speed and without crashes. I don’t know exactly what is (and what is not) “3D”, but from your comment I now understand that a dedicated GPU would NOT cause any improvement in LibreOffice Draw’s performance (right?). This, admittedly, I find very weird, but, not being savvy in the matter, all I can do is accept it as a fact and move on.

By the way, as I havent found any solution to this LO Draw problem (yet), currently I spend my nights learning how to use Inkscape instead. The learning curve is steep, but first results look promising. Of course, only time will tell.

I had play with your odg. Looking at CPU it did briefly spike to 70% around the time I selected many objects and rotated them but I couldn’t repeat that, the rest of the time it hovered under 30%. Memory rose from 5.1GB and then stayed the same at 6.1/7.9GB throughout, but I did have Firefox and Thunderbird open too.

Looking at GPU 3D I was wrong, it does use 3D processing so maybe a better performance might be had using MX150, nevertheless that too was under 30% until I selected a couple of grouped objects and did Shape > Convert > To 3D Rotation when GPU spiked briefly to 50%, That did take maybe 5 seconds to perform however.

On a similar complex object I did Shape > Convert > To 3D which is a simpler operation that took about a second and spiked GPU to about 25%

Other than converting to 3D everything I did happened immediately. I didn’t have any problems editing bezier curves

I should point out that I disabled Windows Indexing on this PC when I got it so it might be responding quicker (a lot quicker?) than one out of the box. I have noticed that when it was running, you had to wait ages to do anything. That’s the reason I disable it.

I occasionally use an extra layer or 2 in Draw, mainly to fix objects to the canvas. They seem not to be layers as other drawing programs define them, but rather a way of grouping objects to: change visibility, set printing status, and to lock objects. I tend to group objects and name them so they are accessible in Navigator, they keep the name but add a number on duplication.

@EarnestAl : Thank you VERY much for having taken the time.
Your results are very interesting.
.
I never use ‘convert to 3D’, so that part is irrelevant for me.
.
I do lots of edits of Bezier nodes and handles, with lots of zoom-in and zoom-out inbetween, as I have to create lots of colored arrows which should precisely point at selected words without overlapping.
.
These operations are performed so suggish that work is not possible (20s to over a minute for every single step -like for example moving 1cm to the side. or grabbing a Bezier handle, or each single zoom step, when I need about ten zoom-in and out steps to briefly check a curve while I’m editing a Bezier node), and lots of crashes inbetween.
.
Are these the kind of operations that would ‘happen immediately’ when performed on module_zero.odt in your machine?
If so, then I really must find a way to make the same thing happen here.
.
I understand that in your machine LO Draw shows in Task Manager as using GPU 3d during operations, right? I don’t understand why this never happens on my machine. Maybe this is what makes the difference?
.
By the way, I use lots of groups and Draw’s “layers” too, but maybe not always in the smartest way. Got to learn quite a bit there.
.
What you say about Windows indexing sounds interesting (although I feel that my computer is very fast and responsive for everything except complex LbreOffice files. )
.
Long before I started using Draw files (which I always convert to PDF for classroom use) , I already had quite a history of performance issues with Calc and Writer files. For example, If I want to share Writer files to my students on the screen as I do edits in real time (with some formatting like highlighting and fonts in different colors and sizes, and including some tables), these Writer files cannot exceed 6 or 7 pages. Else, performance degrades, everything takes ages, and real time text editing during class on a projected or shared screen is not possible.
.
That was the very reason why I bought a Notebook with dedicated GPU. And I am very surprised to see that LO is not performing any better on this machine than on my former machines (well specced i5 and i7, 8GB, Windows 7 and Windows 10 machines which only lacked a dedicated GPU).
.
I am now trying to find slices of time to build a file as complex as module_zero.odt in Inkscape, to see if performance is better. Sofar (on simple files) Inkscape is performing very fast… although, curiously, it also doesnt seem to be using the Nvidia GPU (according to Task Manager). Browsers and many other programs show dedicated GPU activity on task Manager, but LibreOffice and Inkscape NEVER do (in spite of me having edited all settings for them to use the Nvidia GPU).
.
AS a next step, I think I’ll google that Windows Indexing disabling thing, and I’ll try to give it a go, to see what happens.

In Tools > Options > LibreOffice > View I have Enable Skia for all rendering ticked. This is the default for LibreOffice but some users have to disable it because it causes problems on their computers. Probably a hardware or driver issue so make sure your drivers are up-to-date.
I turned Skia off on 7.2.2.2 and opened your file, there was no appreciable slowness in editing bezier curves which happens immendiately. Incidentally I noticed your lines don’t include the arrow heads which are separate. Maybe they got disconnected somehow?

I tried your file on an old computer running Windows 7, Celeron CPU B815 @ 1.60 GHz although with 6GB RAM, just says Intel HD Graphics so definitely not fast, Windows experience rating of 4.4 which sounds unpromising. Anyway, no problems editing.

The slowness happens on your current and on your previous computers? What software is common to them?

Your anti-virus might be a strong contender for interference. Can you add soffice.bin (probably C:\LibreOffice_Server\LibreOffice 7.1.7.2\program\soffice.bin) to a list of allowed programs? I now rely on an abundance of caution, a good email program and Windows Defender.

Is the file you are editing local, or on a network location? A slow or poor network connection might affect things. (I was editing on the i7 from network location without problem)

@EarnestAl : Again, thank you very much.

Skia, drivers:

Skia doesn´t seem to cause problems on my computer, and all drivers seem to be updated.
I quote from my first message:

" In LibreOffice under Tools / Options / LibreOffice / View / Graphics Output:

case 1.
When Skia is enabled, the option “Use hardware acceleration” is grayed out, and Windows Task Manager shows the process “LibreOffice” as NOT using the Nvidia GPU.

case 2.
If I disable Skia and select “Use hardware acceleration”, then Windows Task Manager shows the process “LibreOffice” as using the GPU and the Notebook generates a bit less heat, but the performance and speed in Draw is even worse than in case 1.

I read that this version of LibreOffice uses Skia and Vulcano, which make use of the dedicated GPU.

I also confirmed Vulcano compatibility of the GeForce MX 150 on the unofficial vulkan gpu database https://vulkan.gpuinfo.org.

I update Windows and LibreOffice regularly, and I also regularly run the native application of my Notebook PC to update all drivers."

(end of quote)

Arrow heads:

Thank you very much for the observation. I had difficulties tweaking the line’s own arrowheads, so use separate ones, which I can more easily tweak to my liking (size, shape, angle of pointing). I group lines and arrowheads, and oly ungroup for editing. As I gave up editing because of slowness, some heads remained detached.

Other computers, software, Network:

Long ago I decided to ban the use of almost all closed source programs on my machines because sometimes they used lots of resources and called home. Ever since, my computers run very smoothly.
My older computers could not handle well running too many applications at once, but the one I use currently performs very well. I can teach remotely through the browser, have a web cam overlay, have several applications open, jumping between them and editing on the fly on a shared screen (Sumatra PDF viewer, Xournal++, s, Libreoffice Writer and Calc, some windows of a second browser showing Youtube Videos…) and OBS recording the session in the background… all at once, runs fine. (Just, Writer and Calc open files cannot be too large or complex, else they start to choke.)

I am also a big fan of caution.
Email: Gmail on the browser.
Antivirus: Windows own Antivirus only (dont recall the name… Defender?)
I have no network at all.
A fast internet connection from a reliable provider.

(I only used Writer, Calc and Impress on my old computers. I’m relatively new to Draw).
I have yet to make time to test Draw on my two older computers, and then I will report again.

I have never added programs to a list of allowed programs in Windows defender, but I can google how to do that. Do you think I should try that with soffice.bin?

Have wonderful day.

It might be worth trying to edit your Draw document in LibreOffice Safe Mode (Help > Restart in Safe mode). If it is significantly faster, then it could be worthwhile resetting your LibreOffice user profile

Re Windows Defender, if you can save LO files to your Documents folder then you probably don’t need to add LO to the allowed list. If you do need to:

  1. Open the Windows Security by selecting the shield icon in the task bar or searching the start menu for Defender.

  2. Select the Virus & threat protection tile (or the shield icon on the left menu bar) and then select Manage Ransomware protection.

  3. Under the Controlled folder access section, select Allow an app through Controlled folder access

  4. Select Add an allowed app and follow the prompts to add apps. You need to allow access to soffice.bin, (probably in C:\Program Files\LibreOffice\program\soffice.bin). Ignore the path I gave earlier, that was for a different installation.