Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#37737 - [Bumblebee] forces mesa-libgl on dual-nvidia laptops (macbookpro 5,1)

Attached to Project: Community Packages
Opened by Nathan Todd (niarbeht) - Tuesday, 12 November 2013, 10:49 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Friday, 15 November 2013, 19:09 GMT
Task Type Support Request
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Dual-nvidia Macbook Pros have two nvidia graphics chips. In the case of the Macbook Pro 5,1, that's an nvidia 9600GT (dedicated) and a 9400M (integrated). Bumblebee pulled in patches a while ago to support this setup: https://github.com/Bumblebee-Project/Bumblebee/pull/260
This works, but unfortunately the bumblebee package, in it's current state in Arch Linux, forces the user to install mesa-libgl, resulting in the nvidia driver not finding nvidia-libgl when X starts, causing X to fall back to the llvmpipe for rendering. As such, the user is left with optirun being hardware-accelerated, while their main X display is not. This is not an optimal configuration.

Since my grub install is currently broken, my system boots from refind at the moment, meaning I cannot control which graphics chip gets the video output. As such, my config files currently reflect that my integrated 9400 is being utilized as the "dedicated" card by bumblebee, and my 9600 is being used as the "integrated" card, but the principle is the same (and I'll probably have grub fixed before the end of the night, anyway, or so I hope).

Additional info:
Packages
bumblebee 3.2.1-3
primus 20131027-1

/etc/bumlebee/bumblebee.conf
http://pastebin.com/Sqz5ym0d

/etc/bumblebee/xorg.conf.nvidia
http://pastebin.com/CRftNiyf
(BusID should be "PCI:02:00:0", but see above for note about broken grub)

/etc/X11/xorg.conf.d/20-nvidia.conf
http://pastebin.com/HtFwX7Ec
(BusID here should be "PCI:03:00:0", but again, grub's being mean, so they're swapped for now)

/var/log/Xorg.0.log
http://pastebin.com/ifnTWdj6

Steps to reproduce:
1) Have a dual-nvidia laptop
1.a) Set up Grub2 to tell the gmux chip to attach the video to the 9400
https://help.ubuntu.com/community/UEFIBooting#Selecting_the_graphic_card
2) Install Arch, bumblebee, your favorite X environment, nvidia, configure it all
3) systemctl start bumblebeed
4) systemctl start gdm
(or however you want to get into X)
5) glxinfo | grep renderer
6) optirun glxinfo | grep renderer

5 will show llvmpipe, 6 will show GeForce 9600 or similar. Optimally, both would be GeForce 9x00/blah/SSE2/etc.

If more information is required, let me know.
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Friday, 15 November 2013, 19:09 GMT
Reason for closing:  Won't fix
Comment by Nathan Todd (niarbeht) - Tuesday, 12 November 2013, 12:14 GMT
I broke the title and I can't fix it. It should read: [bumblebee] 3.2.1-3 forces mesa-libgl on dual-nvidia laptops (macbookpro 5,1)
Comment by Nathan Todd (niarbeht) - Tuesday, 12 November 2013, 12:18 GMT
Also also, lspci info might be useful. Silly me for forgetting it.

lspci | grep VGA
02:00.0 VGA compatible controller: NVIDIA Corporation G96M [GeForce 9600M GT] (rev a1)
03:00.0 VGA compatible controller: NVIDIA Corporation C79 [GeForce 9400M] (rev b1)
Comment by Nathan Todd (niarbeht) - Tuesday, 12 November 2013, 12:27 GMT
By installing bumblebee-git 3.2.12.g8244297-1 (via yaourt, of course) and editing the pkgbuild, I got this to work. Well, that and I got Grub working again, so now my discrete card isn't driving my main X display, but that's a different story.

I replaced mesa-libgl in the depends with nvidia-libgl. I should learn more about how pkgbuild works to see if I can figure out a way to make it a user-choice between the two, with the default being mesa-libgl. I also removed 'nvidia-libgl' from the "conflicts" and "provides" sections. So, it works now.

Given that changes to Arch's actual pkgbuild used to generate the actual bumblebee package would probably be annoying and confusing for users, and would probably add support for only a tiny subset of users, I'm guessing I should learn how to add stuff to the AUR, and just mirror the official Arch pkgbuild for bumblebee and make my necessary changes.
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 15 November 2013, 19:08 GMT
It would seem to me that this is an extremely uncommon configuration. As you pointed out, it's probably not worth supporting if it makes maintenance of the package harder. As such, I'm closing this bug and would indeed ask you to use the AUR for your special case.

Loading...