-
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
Alternative for determining "ConnectedMonitor" for xorg.conf.nvidia #21
Comments
Internal LCD = LVDS. I will wheck what I get too, but what we need is the result from a DFP computer in order to compare. Is someone having one in the team ? |
We're lucky, Thulimna has an Asus K93SV which shows no CRT/DFP for nvidia-xconfig and requires the setting to be set to I've opened a question on nvnews.net, hopefully a nvidia developer can tell us more about it http://www.nvnews.net/vbulletin/showthread.php?p=2516472 |
Nice, I know for sure that at there is at least one dev at nvidia that follow the Linux community carefully and even read us sometimes (that's why so many bugs we've found were corrected). |
My machine shows output for nvidia-xconfig and it seems that the |
I'm not able to verify it right now, but I know for sure that it does work without the option, does work with DFP because it does detect the CRT and connect to it, and I've found in an old post on the other issue tracker that my output of your command is :
|
Thulinmas output is basically the same, it just misses the last two lines and has a 0 for I'm dumping random javascript for the _DOD call on Thulimnas laptop: var o="\n";[0x80010100, 0x80010400, 0x80010300, 0x80010301, 0x80010302, 0x80010303, 0x80010304, 0x80010008].forEach(function(e){return o+=(
e.toString(2).split("").reverse().join("").replace(/(.{4})(.{4})/g, "$1 $2 ").split("").reverse().join("")
)+"\n"});o; Yields:
|
For me on an Asus N53SV with ArchLinux: uname -a output:
nvidia-xconfig output:
And /etc/bumblebee/xorg.conf.nvidia
Bumblebee works fine with and without comment |
this is a way old issue. Should this be part of the software itself? or a packager issue? We didn't saw any possible way arround this yet, but maybe we shouldn't put this as a blocker for v3.0. Can I remove the milestone of this issue? |
It's certainly not a packager issue. I'll move it to 3.1 as it does not affect everyone and a debugging it is easy as well. |
Especially since f57f68d - this issue is pretty moot. Even idiots will know what setting to change to what in what file, since optirun now outputs a message like: "[ERROR]Cannot access secondary GPU - error: You need to change the ConnectedMonitor setting in /etc/bumblebee/xorg.conf.nvidia to DFP-0" Maybe even close this issue? Or do we still want to talk about automatically setting/detecting this value somehow? |
Let's keep it open in case there are better options available (read: automatically detect the right values). If 3.1 is about to released, this can be closed if no good solution shows up. |
The thing is, at least in my case. The nvidia blob doesn't recognize the connected monitor on the card via nvidia-xconfig. Never tested after that. |
Same here, Samsagax. But the method I use to detect the correct setting that is now returned by optirun, seems to work in all cases - at least all cases so far... |
@Thulinma Are we setting it to CRT or DFP by default ? DFP is a better option IMO. By the way, I would keep it open, if we find a solution, that would still be a great thing. But make it a very low priority, and don't assign it to a milestone. |
@ArchangeGabriel The default is DFP. I set mine to CRT (which is wrong) so I could produce the error message you saw. |
Since we catch the message, can we even set the correct parameter ourselves ? |
Let's leave that option for Bumblebee UI, the daemon should not modify it. |
Yeah, we can easily change this setting automatically, but I agree with @Lekensteyn that modifying config files automatically is a big no-no. Idea: have optirun popup a message asking if the user wants bumblebeed to change the setting for them? A simple Yes/No dialog should suffice. This would be part of 3.1 or higher, since we obviously need the better protocol finished to support something like this... |
Idea if we want to make it automated: If:
|
Why copy to a temp location? It would be trivial to undo the changes in this case, and there is no chance of it being a wrong setting here... Or: |
If for some reason the setting is wrongly reported, an infinite loop could occur. |
Just forget this idea, preventing the user is better in fact, that's good for them to learn a little ! But a good auto-detection is better. |
It has to be done only once, so it's probably not that bad. |
Well, what I suggested would not continue after the .alt version fails. So it would loop at most once before failing, even if detected wrongly. |
I solved the problem just backup the file "xorg.conf.nvidia" and delete it.Then restart the bumblebee and it works very well. |
Maybe related to newer kernel module/driver not being that stupid as before? |
@summer1988 Can you http://pastebin.com/ your |
@Lekensteyn Here is the link http://pastebin.com/Y9866KEx about my "Xorg.8.log". |
@summer1988 Please pastebin the log using the default xorg.conf.nvidia file. |
http://pastebin.com/WimnheHz I restart my computer using the default xorg.conf.nvidia file.I found the words "Invalid ConnectedMonitor request; request was for '', but the |
Edit /etc/bumblebee/xorg.conf.nvidia and change |
@Lekensteyn I'll try,Thanks. |
Maybe could we get ride of that thanks to #199 ? |
I could not test that option, if it really works as advertised, yes. |
I tested it myself, and some people concerned by these problem too, and it appears to work like a charm. So as soon as we can ensure that people are using a driver 304.22 or higher (in fact, I think this mean wait for stable version to hit ubuntu-x-swat), we may be able to make a lot of changes from nvidia-current to nvidia, and also we may change ConnectedMonitor by UseDisplayDevice. We should have to set 304.22 as a minimum dependency for bumblebee-nvidia. |
Ok, the work here is replaced by #199 now. |
The nvidia blob is that stupid that it cannot always detect the correct monitor setting. Therefore something like the below must be used for determining the monitor setting:
The above output came from a Clevo B7130 which has an external VGA and HDMI connector and of course an internal connector to the LCD display.
At first I thought of some hardcoded table in the nvidia driver, but then it occured to me that it seeks access to /dev/nvidiactl which is a kernel interface. Searching for "DFP" in the ACPI Spec v4 pointed me at sect.
B.4.2 _DOD (Enumerate All Devices Attached to the Display Adapter)
.For the above output (Clevo B7130), the
\_SB.PCI0.GFX0._DOD
method returns a package containing three values:1000 0000 0000 0001 0000 0001 0000 0000
)1000 0000 0000 0001 0000 0011 0000 0000
)1000 0000 0000 0001 0000 0100 0001 0000
)An explanation of all bits can be found in table B-2 on page 699 of the ACPI Spec v4. Explanation of the above values (bits are counted from right and zero-based):
0001
(1): "VGA, CRT or VESA compatible analog monitor" (external VGA?)0011
(3): "External Digital Monitor (see note 1)" (external HDMI?)0100
(4): "Internal/Integrated Digital Flat Panel (see note 2)" (internal LCD?)Notes (taken from the ACPI Spec v4, page 701:
Now, how could this be useful? I'll check it later this day.
The text was updated successfully, but these errors were encountered: