-
Notifications
You must be signed in to change notification settings - Fork 20
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
Missing/corrupted image with Mesa-10.1 #138
Comments
First run of test shows garbage, subsequent runs show a black window. |
Thanks. So the issue is not limited to Haswell. I'll try to grab binary libraries from Ubuntu and see if I can reproduce the problem with those. In the meantime, more test reports are welcome (if the test works fine for you on Mesa-10.1, leave a report as well). |
I have the same result as @floe |
I’ve got a strange error when entering the last of the three lines: http://pastebin.com/xt4G3E2N |
You have |
Hum, that’s because in Arch, /bin and /sbin are symlink to /usr/bin. Going to fix that and report (with UXA and SNA). |
Using UXA: everything work as expected, time return around 16.6s without vblank and 1s with. Output looks like this: X.org log: https://gist.github.com/ArchangeGabriel/9956653 SNA incoming. |
SNA, same results. X.org log: https://gist.github.com/ArchangeGabriel/9956890 Kernel command line might have implications? In my log you can see that I have:
Also, I might try on my old laptop (but need to go home for this), which is currently running Ubuntu 14.04-devel+xorg-edgers, but on which I can setup anything you want and try to bisect mesa if you guide me a little. He is running a Arrandale chip, and was affected by segfault without PRIMUS_UPLOAD=1, but didn’t used it since, so don’t know what it the status of Primus on this machine. |
for reference: this is my i915 kernel stuff (it works for me) intel HD 4600 (i7-4700MQ) |
Tested here, I don't see anything in the 1024x512 window. My Intel GPU is: Intel 810 and later: Intel Corporation|3rd Gen Core processor Graphics Controller |
Could not reproduce it with Ubuntu 14.04 Mesa/dri/drm libraries. Please mention what window manager and compositor (if any) you're running (also, whether disabling it has any effect). I've tested on xfwm4 with and without compton/glx. Try changing the hardcoded number of frames to a small value, say 1000 to 3 and collecting a log with INTEL_DEBUG=all. |
it may be weird but I noticed, that everybody with the splash kernel argument gets garbage/black window and everybody without it does not. I don't think this is actually the cause, but it is a strange coincidence :p |
I'm sure I've missed something trivial, but this test doesn't run for me
|
@jmmL: You need to install mesa-common-dev |
@amonakov Thanks. I now get another error when trying to run the last line
Do I need to symlink /usr/lib/i386-linux-gnu/mesa/libGL.so.1 somewhere else? |
No, just additionally install libgl1-mesa-dev |
Okay, it compiles properly now. The test does not work for me, producing just a blank black window.
I don't think I'd have the knowledge or time to do any git-bisecting, but happy to help in other, simpler ways if possible. |
I dont know if it is at all usefull but forcing UXA on my system by specifying in /etc/X11/xorg.conf: Section "Device" results in glxgears and some (but not all) games showing output. Also the drawpixtest case now shows output. |
I tried it but got corrupted output. Here is my xorg log: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller]) MESA: 10.1.0-4ubuntu |
The same bug with: Yesterday I did upgrade, I didn't check any workarounds yet. |
I've tried both workarounds (not at the same time) and they both worked. I'm currently telling the Intel driver to use "uxa" and now we are back to normal, but it would be nice to not have to do this. :) |
It would be great if someone could do a mesa git bisect and figure out what caused the problem: https://bugs.freedesktop.org/show_bug.cgi?id=75295 I am trying to do it myself but I get the feeling I am not proficient enough! |
@psi29a what is the second workaround? Only one I know is to force accelmethod to UXA. |
Second with PRIMUS_UPLOAD=1 environment variable. |
Just for the record, both workarounds work for me, too. Using UXA, the test is actually a bit faster at 1.3s with vblank_mode=0. However, when I run glxspheres as an ad-hoc benchmark, optirun/VirtualGL is still significantly faster than primusrun/Primus (175 MPixels/s vs 63 MPixels/s). I assume the speed bonus from Primus will only happen on SNA? |
If you're affected by the problem, please grab an updated test:
You can verify it still fails with
and gist/pastebin the resulting intel-debug.txt file. Please also check if booting without |
@floe, no, SNA vs UXA should not matter for PBO glDrawPixels. Regarding low performance, did you |
I'm affected by the problem. Here's the intel-debug.txt. Booting without |
@amonakov Here's my intel-debug.txt (with up-to-date 14.04). I will try without |
Ah, sorry, a last-minute edit was a bit wrong. Please do:
(note the ampersand (haven't you noticed that some output was spewed on the console?) |
Ok, here is the complete log: http://dpaste.com/hold/1777421/ |
Here's my complete log: http://pastebin.com/y502YcZP edited to include the same test without the |
My log looks the same; perhaps the issue is entirely on SNA side. I've filed a bug against the Intel driver: https://bugs.freedesktop.org/show_bug.cgi?id=77368 Please follow that bug report (add yourself to CC list there). |
@amonakov Today I noticed that with 'primusrun glxgears' the window is black for maybe half a second, but not with 'optirun glxgears'. Do you think this might be related or is it something totally different? |
Unless you export non-zero I wonder if glxgears is blocked when it's black. Try:
and see if it spews while the window is black. Note that swapbuffers from primus' upload method check will also be there, so try with non-zero PRIMUS_UPLOAD as well. |
I see. Also there are no messages on the console while in the breakpoint, the window is just black. |
Oh, my instructions were incomplete; gdb should resume the program after dumping backtrace on breakpoint:
(note added |
@amonakov I tried your instructions above. The glxgears window was black in both cases. |
@amonakov with your corrected commands there are only backtraces printed and the picture stops until I hit enter (---Type to continue, or q to quit---) |
OK, the problem was investigated. Black screen is due to glDrawPixels not working with MSAA, and MSAA is enabled where it shouldn't be due to a Xorg bug. Next Xorg releases should correct the issue. |
@karolherbst, sorry, I forgot about that; try
|
xserver-xorg-core (and associated packages) have just been pushed to trusty-proposed, which contains the "glx: Clear new FBConfig attributes to 0 by default" fix. This issue is now resolved for me. |
Can confirm that this is now fixed on the current Ubuntu 14.04 beta. Thanks everyone! |
Sadly, this is not limited to Intel Haswell. |
It appears that some people get blank or garbage window unless
PRIMUS_UPLOAD=1
is in effect. The issue seems limited to Intel Haswell and mesa-10.1 (dedicated fast path for PBO glDrawPixels appeared only in 10.1).I've been unable to reproduce the issue so far, but it looks like a bug in Mesa with window buffers being mishandled somewhere. Please try to run a standalone test mimicking primus' behavior: https://gist.github.com/amonakov/8192522b71e3350857e4
You should see a 1024x512 window with a texture moving to the left. It's hardcoded to render 1000 frames;
time vblank_mode=0 /tmp/r
should finish in about a second.Please report if the test works for you, your Intel GPU model, Mesa version, and provide /var/log/Xorg.0.log via a pastebin or a Github gist. Please let me know if you're up to git-bisecting Mesa.
The text was updated successfully, but these errors were encountered: