Ask Your Question
1

Fedora 29 optimus nvidia seems to run but doesn't

asked 2018-12-07 06:21:20 -0600

phalkon gravatar image

updated 2018-12-09 05:11:44 -0600

Hi, I'm new to fedora but not linux. I've used various linux distros and know my hardware and how it usually works with linux drivers.

I have laptop with optimus. At first fedora was freezing at boot so i disabled nvidia card in bios and installed fedora. Then i removed and blacklisted noveau driver and installed nvidia driver. I also installed bumblebee according to wiki: https://docs.fedoraproject.org/en-US/... Afterwards I enabled nvidia card again.

Now when i try to run something with nvidia card, everything seems ok. Bbswitch is showing that the card is on, i can see the nvidia driver used on the card in lspci, also glxgears is showing that the nvidia card is used when run with the primusrun command... except it isn't.

When i run my games it behaves exactly the same as if i try to run them without nvidia card. I can even see the exact same error that the integrated card had on other distros (like not being able to display certain objects).

I really have no idea what's going on... everythings seems to working just fine, i'm getting no errors, but somehow, the nvidia card is not being used. Do you have any ideas what might be causing this? Or even how to investigate further?

EDIT: Right now everything seems to be working with optirun.

$ optirun -vv glxspheres
[103865.186871] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[103865.194613] [DEBUG]optirun version 3.2.1 starting...
[103865.194643] [DEBUG]Active configuration:
[103865.194651] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[103865.194660] [DEBUG] X display: :8
[103865.194668] [DEBUG] LD_LIBRARY_PATH: /usr/lib64:/usr/lib
[103865.194676] [DEBUG] Socket path: /var/run/bumblebee.socket
[103865.194684] [DEBUG] Accel/display bridge: auto
[103865.194696] [DEBUG] VGL Compression: proxy
[103865.194725] [DEBUG] VGLrun extra options: 
[103865.194734] [DEBUG] Primus LD Path: /usr/lib64/primus:/usr/lib/primus
[103865.194972] [DEBUG]Using auto-detected bridge virtualgl
[103866.303162] [INFO]Response: Yes. X is active.

[103866.303177] [INFO]Running application using virtualgl.
[103866.303258] [DEBUG]Process vglrun started, PID 32233.
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
177.909662 frames/sec - 198.547183 Mpixels/sec
[103868.583190] [DEBUG]SIGCHILD received, but wait failed with No child processes
[103868.583276] [DEBUG]Socket closed.
[103868.583296] [DEBUG]Killing all remaining processes.

when i try to use primus bridge rendering falls back to intel

$ optirun -b primus -vv glxspheres
[104068.088406] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[104068.095351] [DEBUG]optirun version 3.2.1 starting...
[104068.095379] [DEBUG]Active configuration:
[104068.095408] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[104068.095427] [DEBUG] X display: :8
[104068.095445] [DEBUG] LD_LIBRARY_PATH: /usr/lib64:/usr/lib
[104068.095459] [DEBUG] Socket path: /var/run/bumblebee.socket
[104068.095474] [DEBUG] Accel/display bridge: primus
[104068.095493] [DEBUG] VGL Compression: proxy
[104068.095502] [DEBUG] VGLrun extra options: 
[104068 ...
(more)
edit retag flag offensive close merge delete

Comments

How are you running "your games"? You must run them via primusrun or optirun and this isn't the case when you launch them from a .desktop file (from a menu, a launcher, clicking on the game icon). Copy your game .desktop file from /usr/share/applications/ to $HOME/.local/share/applications/ and edit it by putting primusrun in front of the executable name, just after the Exec= field. Then run update-desktop-database for rebuilding the cache.

fcomida gravatar imagefcomida ( 2018-12-07 09:07:06 -0600 )edit

I'm running them from terminal, so that i have the output as well. And I use primusrun. Tried optirun and optirun -b primus, but nothing worked. Right now i'm thinking if maybe 32bit support is the issue. Most games are 32bit. According to arch wiki https://wiki.archlinux.org/index.php/... i should have installed virtualgl 32bit and nvidia-utils 32bit. I did manage to install virtualgl 32, but still looking for nvidia-utils... no idea what that is on fedora.

But even if i'm right and i'm missing the 32bit support, shouldn't i be getting some errors? This is strange. :]

phalkon gravatar imagephalkon ( 2018-12-07 11:11:13 -0600 )edit

You need 32 bit support for Xorg too (xorg-x11-drivers-nvidia), everything is in the bumblebee nonfree repo.

fcomida gravatar imagefcomida ( 2018-12-07 12:03:34 -0600 )edit

As for the errors, by default bumblebee falls back to use the integrated GPU and most Intel iGPUs are now at OpenGL 4.5. Obviously you aren't going to get the same FPS in this case.

fcomida gravatar imagefcomida ( 2018-12-07 12:08:40 -0600 )edit

I managed to get optirun working on both 32bit and 64 apps.... but primusrun or optirun -b primus still fallback to intel on both 64 and 32 bit.... any ideas what i'm missing?

phalkon gravatar imagephalkon ( 2018-12-07 13:15:17 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-12-09 06:23:38 -0600

fcomida gravatar image

Edit /etc/bumblebee/bumblebee.conf (it should be a symlink to /etc/bumblebee/bumblebee-nvidia.conf). Check for LibraryPath field, it must look like this:

LibraryPath=/usr/lib64/nvidia-bumblebee:/usr/lib/nvidia-bumblebee:/usr/lib64:/usr/lib
edit flag offensive delete link more

Comments

There was no file /etc/bumblebee/bumblebee-nvidia.conf so i created it as a symlink to /etc/bumblebee/bumblebee.conf. Also /usr/lib64/nvidia-bumblebee and /usr/lib/nvidia-bumblebee do not exist as a file nor folder. I did change the LibraryPath as instructed, but even after reboot, it did not make any difference.

phalkon gravatar imagephalkon ( 2018-12-12 19:35:31 -0600 )edit

Those files/directories are part of bumblebee-nvidia package. It will install NVIDIA binary blob without breaking LibGL for the Intel driver. If you have installed NVIDIA binary blob outside of bumblebee please remove it now and install it via the package mentioned above.

fcomida gravatar imagefcomida ( 2018-12-12 19:53:28 -0600 )edit

I cannot find that package, this is all i have with bumblebee and nvidia mentioned.

$ dnf search bumblebee nvidia
================== Name & Summary Matched: bumblebee, nvidia ===================
bumblebee.x86_64 : Daemon to support NVIDIA Optimus via VirtualGL
bumblebee.src : Daemon to support NVIDIA Optimus via VirtualGL
bumblebee.x86_64 : Daemon to support NVIDIA Optimus via VirtualGL

I did follow this guide: https://docs.fedoraproject.org/en-US/... And it says nothing about nvidia-bumblebee.

phalkon gravatar imagephalkon ( 2018-12-13 05:04:28 -0600 )edit

It's in bumblebee-nonfree repo.

fcomida gravatar imagefcomida ( 2018-12-13 06:32:15 -0600 )edit

I'm kind of struggling with finding and adding the bumblebee-nonfree repo. I did find this: install.linux.ncsu.edu/pub/yum/itecs/... but it's fedora 28, if you change it for fedora29 it won't work. Also when i find the correct link, do i use those two commands?

dnf config-manager --add-repo repository_url
dnf config-manager --set-enabled repositor_url
phalkon gravatar imagephalkon ( 2018-12-14 15:58:38 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2018-12-07 06:21:20 -0600

Seen: 1,245 times

Last updated: Dec 09 '18