-
Notifications
You must be signed in to change notification settings - Fork 142
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
Add nouveau switching method #820
Conversation
Have you tried that it actually works? Personally I don't use NVIDIA graphics at all. |
Yes, it works -- |
(Oh, but |
Won't this break (fail to unload nouveau) once X is started? Consider this order:
|
It would fail, if X has xf86-video-nouveau driver installed and is allowed to load it. This can be mitigated by either (1) removing the driver (which I've chosen) or (2) explicitly listing allowed drivers in |
The same problem will exist with the modesetting driver btw. It will be less optimal than bbswitch because it will wait for five seconds before runtime suspending. Ideally bbswitch gets fixed such that this should not be needed |
Yeah, the delay is a certain disadvantage, as is need for configuration (or removal of modules). Maybe make this a low-priority (so, opt-in) method? |
If this is going to be merged, it should not be enabled unless explicitly requested via Also note that you need newer kernels to make nouveau support recent cards. bbswitch does not care about the card and does not have this limitation. |
Okay, I'll make necessary changes. To clarify, I don't see this as a good solution, it's just that it works for me now while bbswitch is being fixed -- this can be a workaround method for people with similar hardware. |
There are several problems:
short: many things can go south. You might want to add some flags while loading nouveau: runpm=1, noaccel=1, nofbaccel=1, modeset=2?, config=NvForcePost=1 references: |
Thanks for making this nice list! Let's go over it point by point: 1/2: I can only hope that this would be okay -- we can't guarantee anything. Running more serious tests than Overall the new source of problems that wasn't there before is something retaining a reference on the card while it's in nouveau mode, so it can't be "switched on". For X.org we can use a dummy driver, not sure what to do about systemd/others. Your list of flags is a very good help! I'll look through them and add those that seem useful (but I'm unsure how -- install file to |
Second version of this patch -- I did a trick to force other possible users of nouveau to back out. Namely, i now open I also use |
1791de3
to
81e1200
Compare
I've tested it on several games (Mount and Blade: Warband, 0 A.D., Quake 3) and it works okay for me. Also (I've forgot to mention this earlier) I've made this strictly opt-in as requested by @Lekensteyn. Also, I have the system running with xf86-video-nouveau installed for some time, with external monitor and X restarts -- no problem so far. |
I appreciate your effort, but I am still not sure if it should be merged or not due to other magic that is possible with nouveau and the possibly bad interactions with other components. Some feedback on the patch:
And more general:
|
I understand your concerns, and if this ends up not merged I can just continue using it by myself. About your concerns:
|
Ok, thanks for your replies. Hopefully you do not mind if I leave it open for now, maybe I (or others) can look at it again later. |
No sweat! Meanwhile I'll take another look at bbswitch when I have more time. |
Credit to this idea goes to @dionorgua in Bumblebee-Project/bbswitch#78 (comment) -- we can use nouveau for power management and unload it to use proprietary nvidia drivers. The code is fairly simple and it seems to work out of the box. I'm not sure about priority of this method (do we want it by default? if we don't see bbswitch?).