-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPM Packages for Bumblebee #153
Comments
If I run bumblebeed by hand with the --debug flag, I get this output: Notice the part that starts with: I wonder if I need to use on this platform only? If the red hat "spec file" is useful to help debug this issue I have pasted it to: Let me know if you need any other info? I don't actually plan on using a 32 bit OS on this box at all but I figured some people might install a 32 bit CentOS 6 for some weird reason. |
Can you compile with `CFLAGS="-g -O0" and paste a new log? Thanks. |
Sure. Thanks a lot for looking at this. I pasted the output at: Looks like its still ending with the same message. *** stack smashing detected ***: /usr/sbin/bumblebeed terminated |
Hello. Sorry. I played around with the bumblebee spec file some more. I changed: make %{?_smp_mflags} This seems to have fixed the issue actually. bublebeed no longer seems to be crashing on i686. So do you think these flags safe to use on all platforms or should this only be changed for centOS 6 i686 systems? Or maybe there is still some issue that "-g -O0" is hiding? Any ideas appreciated. |
I can't find something that may have caused it, perhaps the compiler is buggy. -O0 disables any optimizations, what about using |
Greetings. I tried: make %{?_smp_mflags} which produces a bumblebeed that crashes after one use on i686 centos 6. make CFLAGS="-g -O2" %{?_smp_mflags} which works perfectly on i686 centos 6. Quite odd! The Macro %{?_smp_mflags} should default to -j1 I think. It is being built inside a KVM virtual machine with one virtual CPU. Just "make" by itself also crashes after one use. I believe %{?_smp_mflags} expands to -j[number of CPU's in the system] I built all of these inside KVM vms because I do not own enough physical hardware to keep around all these systems. The OS I am building this for is a little bit older because its an "Enterprise OS" so they backport bug fixes and security updates for all the software including gcc. the gcc is version 4.4.6 while in newish fedoras it is newer. Also the kernel is a bit older: gsgatlin@localhost specs]$ uname -a gcc versions in fedora... In the fedoras I never saw any problems on 32 bit. Just this one OS and arch. Do you think I should add a make CFLAGS="-g -O2" %{?_smp_mflags} and then fedora 15 and newer should use: make %{?_smp_mflags} Any ideas greatly appreciated. |
Yh, I've looked it up and _smp_flags seems to add a -j flag. I wonder if it's the optimization flag ( |
Hello, Just to follow up, further tests indicate that it doesn't matter which switches are added. Its very strange. make CFLAGS="-g -O2" %{?_smp_mflags} #works I guess maybe I should add a conditional for this distro and maybe use -O3 ? |
Oops. The comments on those last two were a typo. :) They were: make %{?_smp_mflags} #fails cheers |
I think there is some global CFLAGS var that is being overwritten. Please check the output of configure while compiling using the spec file. |
Aha! that makes sense. Well... Quite the line. CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' Let me see if I can narrow down what is actually causing the issue. I'll try one by one to figure it out. |
It seems "-fstack-protector" has some effect on this. make CFLAGS="-fstack-protector" #fails So perhaps any conditional would need to exclude "-fstack-protector" from the default CFLAGS. But only on |
Just for a reference it looks like this spec file: builds with the correct CFLAGS on 32 bit and 64 bit VMs. It takes a few days to properly test however because I cheers, |
Probably this bug. I know that there is a place where we use a char array of size 100: https://github.com/Bumblebee-Project/Bumblebee/blob/master/src/switch/sw_bbswitch.c#L40 |
Thank you for your help with this problem. I still need to do more tests. But I think I am mostly finished. Here are some URLs to some spec files I made in case I get hit by a car or something before I can write docs and go on IRC and if someone want to pick up where I left off: bumblebee: http://pastebin.com/wqeZyJ9S I will try to write up some docs and then I'll be in touch on #bumblebee-dev on Freenode. The bumblebee package at: http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/ and the nvidia drivers at: http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/ Have been updated. I will work on writing some docs next. I was able to build a pair of VirtualGL rpms on fedora but it was kind of ugly so I need some fedora experts to look at it to see how it could be built with a modern libjpeg-turbo in fedora to make this more acceptable to the community as a submission. (These problems are not there on RHEL 6/ centos 6) Thanks again. |
Stack smashing looks like a real bug in bumblebee sources fixed now by commit 034f2ec |
Updated package at review request here with patch to fix stack smashing: https://bugzilla.redhat.com/show_bug.cgi?id=827167 Also, documentation has been updated on my docs site with some recent changes: http://techies.ncsu.edu/wiki/bumblebee Basically, things are stalled with getting bumblebee into fedora / EPEL due to problems with VirtualGL building in "rawhide" ("rawhide" is what will become fedora 18 when its ready) See https://bugzilla.redhat.com/show_bug.cgi?id=839060 Assuming I were to have luck with bumblebee and VirtualGL in fedora / EPEL, I will look at doing a bbswitch and acpi-handle-hack in a third party repository such as "rpmfusion" and "elrepo." I have not been hanging out in your developer IRC channel since everything is stalled and there is no certainty about getting these packages into fedora. If both packages were to be accepted into fedora and build for all branches at some point then I will start hanging out in there. Cheers, |
It looks like your package is based on version 3.0.0, but 3.0.1 has been released, which includes some fixes, most importantly a fix for a critical bug affecting users with new Kepler-based laptops. The stack smashing fix is also |
Cool. I'll update that to 3.0.1 then. Thanks for the info. |
Ok. Updated to version 3.0.1 at the fedora review request and also at my test repository. I tested it briefly with minecraft and it seems to be working well. Thanks again for the info on the new version. |
Hello, I used these rpm packages + the bumblebee-nvidia one and I am facing some problems as we speak. |
What are you trying to achieve by running video players via optirun? Can you use Intel hardware decoding via libva? Bumblebee does not perform video decoding offloading, only OpenGL offloading. Wine is a 32-bit program, if you're running it on a 64-bit OS via optirun, you'll need 32-bit VirtualGL. |
I was trying to test this, but it didn't work. Also, optirun bit.trip.runner, supertuxkart, whatever doesn't work either. I get no video either way, even if they are native games. |
Hello. I am the author of these RPM packages. In the process of getting VirtualGL into fedora and EPEL, I think we/I broke multilib support. So if you have a 64 bit system I think running 32 bit apps is currently broken, both in the package in my repo, and the package in fedora "testing" for f16, f17, and f18. I will see what I can do to fix that. I have used optirun with the 64 bit version of bit.trip.runner so I know it works on at least my laptop... (With Nvidia driver, in bumblebee-nvidia package. I eat my own dog food, but I don't run wine which may be why I missed this.) I'll reply back to this thread once I have some more info on this. The version on the VirtualGL site may not suffer from this bug, but it does not meet fedora packaging guidelines either. You may want to check that out if you can't wait? The version currently at my repo will hit fedora in about 3 more days I think... Cheers, |
I didn't remember that correctly. After looking again I get Fatal error When launching bit.trip.runner via optirun. But that particular game seems to perform fine on the intel card. I have used optirun on some other humble bundle games however. (Cogs was one that improved the most) So I'm pretty sure at least many 64 bit openGL apps work on fedora. May wish to try: optirun glxgears just to test the most basic functionality of your bumblebee setup. |
You might be interested in https://github.com/amonakov/primus as well. |
Ok, If you are using my fedora/rhel bumblebee repo, do a yum update and that should fix multilib support. The version in fedora will be fixed soon. If you are having trouble running optirun glxgears you may wish to run /usr/bin/bumblebee-bugreport to help figure out what is going on with your laptop. Special thanks to Andy Kwong for the multilib patch. |
So, testing this against Fedora 18 beta now. |
Yeah. I could not get it to work on fedora 18 either. I suspect it is a SELinux issue. I actually use CentOS 6 as my main desktop, not fedora 18 beta. So its working ok for my system. I do have a spare Y470 laptop with f18 beta on it. I will try to look at it tomorrow to see if it might be possible to figure out how to make it work. See also #298 which is preventing me from testing bumblebee with the nouveau driver on my particular laptop make and model. I know it worked on f17 the last time I tested it. Sorry about that. You might want to try building it by hand with: /usr/sbin/bumblebee-nvidia --debug to see if that works better. That was going to be the first thing I try with f18. |
Hi, running...
exiting...
but if I run a 3D application like maya running...
exiting...
I have to run following commands to properly turn off the card.
Another problem is when I close the laptop lid(sleep) while I'm runnig System info:
Thanks |
@atomicvoxel Does it only do that with maya? or is it any 3d apps? I will try to reproduce this on a test system I have. I am not sure but I think optirun/primusrun may not be able to work when suspended. Does this work in other distros? Does anyone know? |
@gsgatlin I've tried other apps, but maya is the only one triggering nviidia_uvm. Do you know any other that might help testing this? |
Hmnn. I don't think it is possible with the suspend stuff. I tested "glxgears" with primusrun on fedora 26, centos 7, and ubuntu 16.04 LTS. (using bumblebee from https://launchpad.net/~bumblebee/+archive/ubuntu/testing ppa with nvidia-375 drivers) In all cases, glxgears will crash into a white screen when suspending a laptop and then resuming. I think you will need to quit out of any applications running on the nvidia card before closing laptop lid. It is regrettable but I see the same behavior across multiple linux distros so its a bumblebee thing not a CentOS or fedora issue with the rpm. How did you install maya? I get [root@t540p ~]# dnf install maya on fedora 26 and [root@localhost ~]# yum install maya
on centos 7. Is there a yum repo for that? Thanks. |
lollll He's probably running this in Wine or something. BTW nvidia_uvm is triggered when you load a CUDA kernel. I wouldn't expect most graphics apps to do that. However, back when I was playing with CUDA a bunch I put something like this
in That will only work if you manually |
@mhirsch OIC. Thanks. Yeah. not gonna try to reproduce if its not easily available or not a Linux native app. |
Hello, bbswitch has a problem in new Fedora 4.14.15 kernel. It compiles, but system says: UPDATE: seems to be compiler version mismatch (gcc 7.3 was uses to build kernel, but system has only 7.2.1) |
I see user slartibart70 made a bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=1539165 So maybe kernel-4.14.15-301.fc27.x86_64 will work? |
Hi, vulkan json file nvidia_icd is missing in the current 390.25 installation. |
@thesourcehim Do you know if it was in the last version of the driver? Perhaps it could be added in manually in my package. |
No, didn't check, sorry. However it is present in xorg-x11-drv-nvidia-libs package, so I assume nvidia installer has it. |
Not sure if anyone is still using my packages but the yum repos have been moved to https://linux.itecs.ncsu.edu/redhat/public/ and my documentation at https://www.linux.ncsu.edu/bumblebee/ has been updated to reflect the new urls. The various *-release rpms have been updated in the old repo so users should get pointed to the new repos automatically after a yum/dnf update. The new repos were required because install.linux.ncsu.edu is bit rotting away and the new yum repos use https protocol instead of http. |
Awesome, thank you! Https is great. |
@sudhirkhanger Ok. I will try to look into this tomorrow or tuesday when I have time. Thanks. |
Today I updated bumblebee package to 430.14 (fedora 30 x86_64) and started to get this error when trying to launch any application under optirun: From Xorg.8.log: |
Sorry. I thought I tested this and I did not it seems. I suggest you downgrade and I will try to remove it. |
@thesourcehim Removed broken package from yum repo. I am working on a new one that will use epoch to install the older driver. I opened a topic here: https://devtalk.nvidia.com/default/topic/1052453/linux/xorg-segfalt-started-with-430-14-optimus/ so hopefully a new version will either fix it or someone might have a patch or something. |
I downgraded using dnf distrosync command, everything works fine now, thank you. |
Ahh, and guess what, 418.56 is not compatible with kernel 5.1. Of course. |
Yeah. Looks like maybe bumblebee is done. I'm sure this will affect all the distros soon. It is most regrettable nvidia has decided to do this. It might be possible to do:
But it will soon not be possible at all it looks like. I have not tried that yet in a copy of the shell script. |
Can primus be built with glvnd instead of legacy gl, or it's not compatible? |
From what I can tell USE="-compat" is a gentoo thing. So I'm at a loss as to what to do. I'm very sorry. Does anyone know what that does? I asked on the nvidia forums. Then again what do I know about any of this stuff really. I don't know if VirtualGL or primus projects have any interest in glvnd support. I would ask but I don't know if its supported any longer. Maybe if Aaron Plattner from NVIDIA Linux Graphics asked he might get an answer? Maybe he will open an issue on primus github site? I had a opened pull request but he never replied. I'm sorry if I did something wrong in my pull request or otherwise bothered him. Sincerely. The guy who makes VirtualGL does not like the rules about how stuff is compiled on fedora so I am unsure about asking him anything also. I am trying to upgrade that package to a newer version however for a non bumblee user. I'm not sure if that breaks that use case. I guess I'm gonna find out though with the rpmfusion drivers on a desktop PC over ethernet. Then I can go ask on the mailing list if its broken. I honestly just have no clue why nvidia haven't come up with something official after 7 freaking years like dri prime or something. Something that work like it does on windows so you don't have to log out/log in. I'm super bummed out about this and very stressed out. Thinking about switching to centos and keeping my fingers crossed for how long it works. If you comment on any of the issues on the nvidia dev forums I'd advise being super nice because getting all pissed off probably won't help sway their minds. All we can do now is probably watch the discussions to see if anyone replys. I asked if there is a patch for NVIDIA-Linux-x86_64-418.56.run and kernel 5.1 so we'll see. perhaps a patch can be developed from http://rglinuxtech.com/?p=2530 I will try later when I have more energy. |
Here is a patch for legacy driver 390.116 to work on kernel 5.1: https://paste.fedoraproject.org/paste/qXeYjMoRTlp7uvRiFSmgOQ Here is a patch for out of date driver 418.56 to work on on kernel 5.1: https://paste.fedoraproject.org/paste/AMguWBz1U1Q3dSHj-Jp41A I will add the second one to the bumblebee-nvidia package when I have more energy since it works with 5.0 kernel also. I am uncertain whether these could be patched to work with a future 5.2 kernel. Or if anyone who knows how to make these patches will even care since nvidia 4.30.XX is out now.... All these were tested with kernel-5.1.5-300.fc30.x86_64. |
So it looks like bumblebee can work with 430.14 but my shell script needs to be altered to not use --no-libglx-indirect --no-install-libglvnd --no-glvnd-glx-client --no-glvnd-egl-client So I will work on getting that out once I have tested it a bit more with some applications. |
It's working now! Additionally applications linked with libglvnd instead of legacy gl now work with bumblebee too (they did not before). |
Cool. I'm glad its working. Hopefully it will continue working after they go to something higher then 430. |
@gsgatlin I think I have the same problem, and it seems that you manage to find a workaround, but I do not understand it. You mention a script, but I don't understand which one. Could you please summarize how to implement your workaround? Thanks! |
Hello. So I made some bumblebee packages for RHEL and fedora. The nvidia driver is installed in a package called bumblebee-nvidia which contains a script called bumblebee-nvidia which is also in a separate git repo. Here is a link to the commit where I made the change: gsgatlin/bumblebee-nvidia@ed0d809 Hope that helps. |
Hello.
I am creating packages for Red Hat type systems. I have a problem on CentOS 6 i686 only. The same package works fine
on i686 and x86_64 fedora 15, 16, and 17 and x86_64 CentOS 6... Its quite odd. My laptop has 8 GB of RAM. It is a lenovo ideapad Y470. The rpms are stored at a yum repository at:
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/
and
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/
bumblebeed will not stay running. If you reboot and start it by hand it will work for one use. Like:
optirun glxgears
but once you close the glxgears window bumblebeed crashes. It does not do this on a 64 bit OS on the same system.
(E.G. CentOS 6.2 x86_64) On 64 bit everything is working great. I've generated a bumblebee-bugreport-20120512_225151.tar.gz file which I will email.
I have more info which I will add in another section because its very long....
The text was updated successfully, but these errors were encountered: