-
Notifications
You must be signed in to change notification settings - Fork 340
Mesa's i915 not supported from commit ef846 #2506
Comments
Can you grab full debug logs? |
With wlroots+labwc master branches
|
Sorry, I meant full wlroots debug logs, not DRM logs. Also a drm_info dump would be useful. |
wlroots debug logs (using labwc with
Output from drm_info
|
Hm, Mesa is missing |
I'm on Arch Linux and have the following installed
|
Just to clarify, labwc will works under X on the old Acer Aspire, but doesn't work from a tty. |
I mean which mesa driver is in use? You can find out with |
Sorry, didn't realise. It's |
I see. I think we'd need to add Missing this extension is pretty bad, it basically means we can't have proper hardware-accelerated buffer sharing between the compositor and the clients. |
Added a comment to describe what needs doing to continue supporting Mesa's i915 driver: swaywm/sway#6194 (comment) |
The mesa driver being used on my end is: |
I opened the following issue: @emersion I would greatly appreciate your support over there, since I won't be able to respond when it comes to technical details. |
How much work is needed to fix it? |
If you want it fixed, write a patch and send it to Mesa. |
So it means that you don't plan to support i915 anymore? |
It means that i915 is lacking the necessary features to run wlroots 0.13.0, and that patches are welcome to fix this. |
I'm a bit confused: What exactly is it that needs to be added to the i915 driver to solve this issue? There's no stirring here: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4753 and going over the file there is something that looks related in line number 706: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/mesa/drivers/dri/i915/intel_screen.c |
I already explained what needs doing above. No reply doesn't mean that the Mesa folks think it's a bad idea, it's just that they're very unlikely to do the work since it's a very old driver. |
Already intel_screen.c has |
Hmm. But then EGL checks for version 8 for the API, and i915 only has v7: https://gitlab.freedesktop.org/mesa/mesa/-/blob/c8e90a022e70651738f526412e89c5ac2a4305dd/src/egl/drivers/dri2/egl_dri2.c#L991 Maybe check what's new in v8 and implement it? |
The mesa issue has been closed and locked without any comment. |
In the meantime, crocus has been merged. Maybe check if your hw is supported by crocus? |
If I test Sway on older hardware which I don't know the driver for (i915 or i965) how can I try other driver options? Is there a way to try other drivers? Or I have to compile them before? |
You can do this by issuing e.g.: I've tried both |
Make sure the drivers get properly loaded, and Mesa doesn't fall back to llvmpipe. Sway debug logs should tell the GL renderer in use. |
You're right. I guess I'm stuck with I'm only using |
While occasional trials of |
Hm, we're missing this commit in Sway v1.6: swaywm/sway#6355 |
I launched Sway with |
Thanks for the lead @progandy! Whereas before I would see errors like this:
Now Sway starts successfully:
(full log: sway-i915g.log) I did, however, have to set Howto $ makepkg --sync --cleanbuild --install You probably want to build it on a powerful machine, since it's a heavy process. You may use my attached |
Well done @evelineraine! I can confirm that this is working on my little Atom machine. I used Just haven't figured out a way to get the cursor to show up - it's there but not rendered. EDIT: It does not hurt doublechecking - it is spelled out: Now everything is working fine afaict... |
@manfred3000, oops, my bad. I mistyped it in my config even 🤦 |
Hey everyone, thanks for that solution. My trusty netbook will be more usable again. :) |
@tomek-szczesny In our case though, i915c just doesn't expose some of the more modern OpenGL features that wlroots requires since our old hardware doesn't natively supports them, but i915g does by virtue of being based on a unified Gallium architecture. Which is why we don't have a choice here. There was an old discussion about making i915g the default at upstream Mesa, but I couldn't find any updates since: Intel i915 Gallium3D Driver Might Become The Default | Phoronix Perhaps somebody with Mesa insight can give more details on this. |
@evelineraine
I'm new to Arch world and I couldn't get your PKGBUILD to work. I must have been doing something wrong because it was upset about LICENSE file missing and being unable to download it. I'll try again later with stronger theoretical background. |
@tomek-szczesny yeah right, I guess an AUR
No idea about this one. Someone familiar with Mesa internals could know.
Right, it's because $ curl -OLJ https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/mesa/trunk/LICENSE
$ curl --output - https://docs.mesa3d.org/release-maintainers-keys.asc | gpg --import - |
Note, Mesa plans to drop non-Gallium drivers at some point. |
And until then we'll have to deal with this on our own. Or, as my case shows, I'll have to package my own Mesa forever from now on. Okay, my poor lappie has spent about 40 hours in total compiling all this stuff over and over again, but I did finally succeed. It turned out that @evelineraine 's solution did not work for my Pineview N450 netbook, because another Mesa component, OpenSWR, cannot be compiled without AVX extensions. This resulted with 'Illegal instruction' errors upon running anything with GUI. Here's how I achieved that, in case someone loves their old $10 netbook as much as I do:
And there you go, it is done. The change in makepkg.conf ensures that nothing above the capabilities of your computer gets compiled. However, this means you cannot build it on anything else. |
That is probably a daft effort, but I did it anyway - mesa-i915g AUR package. And Sway 1.6.1 works on old Intel Atom machine. Enjoy! |
Thanks again @evelineraine @tomek-szczesny for your dedication to fixing this issue. This is a slightly modified version of Tomek's PKGBUILD and it really only takes a couple minutes on an intel CORE i5 to build (as opposed to half an hour for the whole mesa package) - it may squeeze out a significant amount of extra time when building on a small machine. |
I'll have a closer look at that after work, because at the first glance I can't see any difference from the current AUR version ;) The typical download + build time for me was 12m 40s on a modern quad core Atom machine. distcc doesn't help that much, as the majority is spent on linking of 5 binaries at the very end. |
I just removed 'swrast' from the driver list, enabled |
I wasn't sure about removing swrast, but if you say it works that way, I'll remove it. |
No problem, the dependency entry exists, I just enabled the compression. Also, it (the PKGBUILD) builds 21.2.3. EDIT: You might want to re-add |
Okay, I included all your changes and bumped the version up. It's already up on AUR. Thanks again for your input. :) |
I just tried building it without
Does it build successfully for you with only |
No idea, It didn't occur to me that you literally meant I think I screwed something up. I built it and I get grey background on Sway, and only pointer in Weston. My previous package works well. I'm rebuilding with swrast and see if that's the missing piece. |
Mmh, no issues here on Best you keep using what's working for you in the AUR... |
Yup, just confirmed - for some reason I need swrast to make both working. Okay, I'll push to AUR whatever worked for me. After all, swrast is supposed to be a fallback mechanism of some sort? |
That's all I could gather, as well... This issue may just as well be closed, for it's not really |
Yup, anyone feel free to swing by the AUR package comments section if anything can be improved or whatever. Thanks! |
I'm building labwc with the latest wlroots master branch.
Whilst everything runs fine on my desktop computer, I cannot run on an old Acer Aspire netbook since commit ef846a8
I get the following error message:
I've also tried sway on the same Acer Aspire. It used to work, but I now get
wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2506
The text was updated successfully, but these errors were encountered: