JackHack96 / dell-xps-9570-ubuntu-respin

Collection of scripts and tweaks to adapt Ubuntu running smooth on Dell XPS 15 9570.
996 stars 113 forks source link

Install and enable bumblebee / primusrun #24

Closed adrfantini closed 5 years ago

adrfantini commented 6 years ago

It would be nice to provide bumblebee/primus support in this spin, by e.g. following this: https://float-middle.com/ubuntu-18-04-steam-and-nvidia-390/ so that you can run software using primusrun or optirun.

JackHack96 commented 6 years ago

I've tried some time ago, following another tutorial, but I've failed. Maybe with this one it should work, whenever I'll have some time I'll try it

adrfantini commented 6 years ago

I did more digging, there appears to be some bug with Ubuntu packaging at the moment: https://github.com/Bumblebee-Project/Bumblebee/issues/951 https://bugs.launchpad.net/ubuntu/+source/bumblebee/+bug/1758243

jozuenoon commented 6 years ago

This PR could be also related https://github.com/Bumblebee-Project/Bumblebee/pull/983

maxiix3 commented 6 years ago

As you can read on the bumblebee PR there is a problem with the new gtx serie and bumblebee because they can go to D3 sleep state, and bbswitch break the wakeup fuction somehow . Some of you should test out Yawors fork It works very well on archlinux with 9570. Take also a look at archforum for a lot of discussion around this problem and some other solutions.

adrfantini commented 6 years ago

In short, so you do not have to dig into the bug reports and forum threads, the current best method to use the discrete graphics card with bumblebee (via primusrun/optirun) is to NOT use bbswitch and instead instruct the kernel to activate power management on the card. When the nvidia driver gets unloaded, the kernel will shut the card down. However, Bumblebee currently does NOT unload the driver on exit, which is why you must use the fork @maxiix3 mentioned, which basically enables an option to automatically unload the driver when the application shuts down. Works very well, it's as seamless as it can be.

JackHack96 commented 6 years ago

Thank you for the precious information, I'll try the Yawors fork when I'll have some time and if it works well I'll integrate in the respin

IDerr commented 5 years ago

Don't know if it still in progress. But there's some infos there :D https://wiki.archlinux.org/index.php/Dell_XPS_15_9570#NVIDIA_Optimus

JackHack96 commented 5 years ago

Yes, I know that but I didn't manage to get it working :(

IDerr commented 5 years ago

I have followed this : https://github.com/delta-one/dell-xps-15-9570-debian-linux and https://wiki.archlinux.org/index.php/Dell_XPS_15_9570#NVIDIA_Optimus

It seems to work but I can't use the GPU :(

The card seems available

Allowing to load NVIDIA modules...Changing power control...

Mon Apr 29 10:32:25 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.56       Driver Version: 418.56       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   42C    P0    N/A /  N/A |      0MiB /  4042MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

NVIDIA CARD IS NOW ENABLED.

But when running a application with optirun, I have an error :(

optirun glxinfo | grep "OpenGL renderer"
[   91.642473] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "nvidia" (module does not exist, 0)

[   91.642499] [ERROR]Aborting because fallback start is disabled.

If someone has solved this problem, please post your solution :)

IDerr commented 5 years ago

Second part of my story installing this I have found why bumblebee couldn't load nvidia driver. There's a wrong path on bumblebee config as mentionned here : https://bugs.launchpad.net/ubuntu/+source/bumblebee/+bug/1758243 by Juan Montero (jjmonrod) But even, with those changes, I have an error:

optirun glxinfo | grep "OpenGL renderer"
primus: fatal: failed to load any of the libraries: /usr/lib/x86_64-linux-gnu/nvidia-418/xorg/libGL.so.1:/usr/lib32/nvidia-current/libGL.so.1
/usr/lib/x86_64-linux-gnu/nvidia-418/xorg/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib32/nvidia-current/libGL.so.1: cannot open shared object file: No such file or directory

I'll keep looking on why these files are missing.

IDerr commented 5 years ago

Final step of my journey, You just have to replace your current primus-run with this one: https://github.com/Bumblebee-Project/Bumblebee/issues/951#issuecomment-412314114

After that, after enabling your gpu, you can use primus-run to launch applications with your gpu.

I don't know if you want to integrate this method on your repo @JackHack96 but if you need help, don't hesitate.

floturcocantsee commented 5 years ago

This commit ( #112 ) should help here. It allows use of GLX Offloading without a need for Bumblebee or Primus. It even works with Vulkan natively.

IDerr commented 5 years ago

Hi, this is perfect, but it does work only with Vulkan apps right?

Le 9 sept. 2019 à 06:52, Frank LoTurco notifications@github.com a écrit :

This commit ( #112 ) should help here. It allows use of GLX Offloading without a need for Bumblebee or Primus. It even works with Vulkan natively.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

floturcocantsee commented 5 years ago

It works with both vulkan and opengl. http://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/primerenderoffload.html