News, tips, advice, support for Windows, Office, PCs & more. Tech help. No bull. We're community supported by donations from our Plus Members, and proud of it
Home icon Home icon Home icon Email icon RSS icon
  • Mesa 20 arrives– good news for Intel graphics users on Linux

    Posted on Ascaris Comment on the AskWoody Lounge

    Home Forums AskWoody support Non-Windows operating systems Linux – all distros Mesa 20 arrives– good news for Intel graphics users on Linux

    Viewing 5 reply threads
    • Author
      Posts
      • #2163834 Reply
        Ascaris
        AskWoody_MVP

        It’s probably nice for AMD graphics users too, but I haven’t seen that, so I know very little about it.  Intel graphics, though, I do have a bit of experience with, as my Swift and my G3 (Dell) both use it.  The G3 also has an nVidia dGPU (discrete GPU), which uses Optimus (Windows) or Prime (Linux) technology to deliver rendered frames across the PCIE bus to be displayed by the Intel iGPU (integrated GPU).  This is the usual configuration for nVidia laptops while using the laptop display.  For devices that are plugged into the laptop’s HDMI or other graphics port, those may be connected directly to the dGPU without going through the Intel iGPU.

        For Intel graphics users, the situation can be confusing.  There is a lot of misinformation out there about the various driver bits.  With a closed-source driver like the ones offered by nVidia, everything is included in the downloadable driver package.  With Intel, there are no closed source drivers… all of the work Intel does to create drivers is open source, and I think that has been true of AMD (graphics) as well for a while too.  It’s nVidia that continues to plow ahead with closed source everything, refusing to cooperate with open-source devs, making the nVidia open drivers pretty close to unusable for many GPUs.  This led to the famous image of Linus Torvalds giving a gesture of an avian variety to nVidia as a whole.

        I’ve tried to learn what the real deal is with the many different Intel driver bits that are around.  A graphics driver such that nVidia releases actually has a bunch of different drivers within it, not just one.  It’s the same with Intel, but the users are more exposed to the inner workings since it’s not a secret.  If you don’t want to tweak anything, you can just use what the distro provides, but you also have the choice to try other things!

        The kernel driver for Intel hardware is called i915.  It’s distributed with the kernel, and is used by all Intel Linux setups.

        Older Linux distros used to come with the “Intel” Xserver driver.  This driver is known as xserver-xorg-video-intel in the Ubuntu repo.  This driver works with the i915 kernel module to enable the X server, which previously handled all of the video output as well as user input in Linux.  It’s still in use on many, probably most, Linux desktops now (mine included), but it’s showing its age, and the goal is for it to be replaced by Wayland, the next generation graphics subsystem.  Some people use it now, but it’s a work in progress.

        The “Intel” X driver uses its own acceleration methods, with the most advanced being SNA, for Sandy Bridge’s New Acceleration (showing how old it is), and forms the graphic stack along with the X server and OpenGL (which is a free software equivalent of Direct3d in Windows).

        Newer Ubuntu-based distros do not come with the “Intel” X driver installed on newer hardware, though it is still available in the repo.  For newer hardware, the preferred X driver is the “modesetting” driver, which is built into the kernel itself.  Like the “Intel” X driver, it uses the i915 kernel module.  It also uses another open-source Intel driver for Mesa, the open-source graphics library that handles things like OpenGL and Vulkan.  That driver has long been the i965 driver that is included as part of Mesa.  What this means is that if you are using the “modesetting” driver for Intel graphics, you are actually using the i915 driver for the kernel end, the modesetting driver (that is part of the kernel) for X or Wayland, and the i965 driver for Mesa, which implements the graphics APIs like OpenGL.

        Some writers for various sites clearly have the idea that i915 is the Intel Xorg driver, but it’s not.  The i915 driver is used with the Intel Xorg driver, as well as its alternative, the modesetting Xorg driver.  If you see someone talking about using either the modesetting or i915 driver, they really mean the modesetting or the Intel X driver.

        On top of that, there’s the VAAPI i965 driver, which allows the Mesa library to do video decoding in hardware.  VAAPI stands for Video Acceleration API, and is the standard Linux way of handling video acceleration– for everyone but nVidia, who instead uses VDPAU (and this split is one of the reasons that browsers have not implemented video decoding in hardware in Linux).

        It’s several different interlocking drivers for the same graphics chip, and you can see where it gets confusing.

        The i965 driver is inefficient in a number of ways, and the Intel developers who work on it began a rewrite named Iris, which is somewhat confusingly also the name of the highest-end graphics hardware available from Intel.  Iris has been in Mesa for a while, but it was turned off by default, as Intel wanted to get it to a good and stable state before making it the default.  I’ve had Iris switched on for the last month or so, and it’s been quite good, performing at least as well as the i965 driver, and sometimes better.  I haven’t seen one particular rendering error I used to get on Thunderbird and Waterfox while using Iris, which is nice.

        Now, Mesa 20.0 has arrived, and Iris is the default Mesa driver for Intel graphics in that version.  If you’re using the modesetting X driver, you’re using Mesa also, and if you’re using Mesa 20, Iris will be the driver for that instead of i965 (and the kernel driver is still i915) by default.  You can still enable the i965 driver instead of Iris if you want to on that version of Mesa.

        Mesa 20 isn’t in any Ubuntu distro yet, but it will be in Ubuntu 20.04, the next LTS version to come out (targeted for April).  You can get it now, though, on Ubuntu and its offspring (including Mint), from the Kisak PPA.  It’s run by one of the Valve devs.

        As with any PPA, if you wish to remove the PPA and return to the standard distro packages, you can use ppa-purge.

        Group "L" (KDE Neon User Edition 5.18.4).

        1 user thanked author for this post.
      • #2167055 Reply
        Paul T
        AskWoody MVP

        For those who don’t know, Mesa is a 3d Graphics Library.
        https://www.mesa3d.org/

        cheers, Paul

        2 users thanked author for this post.
      • #2169290 Reply
        Ascaris
        AskWoody_MVP

        BTW, I think the most correct name for the i915 driver is the direct rendering manager driver, or DRM driver.

        Group "L" (KDE Neon User Edition 5.18.4).

      • #2169323 Reply
        wavy
        AskWoody Plus

        Ascaris
        Well enough acronyms and such to give me a head ache.. I still don’t know why Mesa is a good thing. Maybe many of us could benefit from a Video driver tutorial or FAQ. TIA 😁

        🍻

        Just because you don't know where you are going doesn't mean any road will get you there.
      • #2169364 Reply
        OscarCP
        AskWoody Plus

        For rendering in 3-D the shapes of satellites to calculate certain forces acting on them, I have had someone test “Blender”, that is open source, freeware and available for Windows, macOS and Linux. I wonder if the product discussed here, that I have not heard about until reading the comments here, might not be a better one. https://www.blender.org/

        Windows 7 Professional, SP1, x64 Group W (ex B) & macOS + Linux (Mint)

      • #2169568 Reply
        Ascaris
        AskWoody_MVP

        The whole group of programs that handle the graphics duties is called the graphics stack.  You can think of it as a stack of different drivers and libraries, each doing a part of the job.  With a proprietary driver like nVidia’s, the whole stack is implemented within that driver package, which is really a bunch of different drivers in one package.  In the open-source world, we get to see a lot of the stuff that goes on inside the development process, and the different bits of the graphics stack are handled by different teams.

        Mesa implements the 3d rendering for Linux if you’re using recent AMD or Intel GPUs, or if you are using the open-source Nouveau driver for nVidia (which is not very good, since nVidia does not provide a lot of the things they would need to make Nouveau work well).

        Without Mesa or another 3d graphic library, there would not be any 3d acceleration ability, so it would be like not having Direct3d (the video component of DirectX) in Windows.  If you need an up-to-date, open source 3d library, that’s Mesa!  It’s an important part of the graphics stack, and if you’re using a recent Intel or AMD GPU on Linux, you’re probably already using it.  It’s been around for a while (as you can tell by its version number, which is now 20!), but this new version brings a lot of new improvements, like the new Iris driver for Intel graphics.

        The Mesa library operates as part of the graphics stack, which is itself (mostly) part of the operating system, while applications like Blender operate in userspace.  If you use Blender on Linux, and you have one of the recent AMD or Intel GPUs, you would be using Mesa at the same time.

        For newer Intel GPUs with Mesa 20, the stack would look something like this:

        i915 (direct rendering manager driver, kernel module)
        
            modesetting driver (X or Wayland driver, built into the kernel)
        
                X or Wayland subsystem
        
            Iris (Intel driver for Mesa, built into the Mesa package)
        
                Mesa 20 (the 3d rendering library)
        

        This isn’t anything you would normally need to worry about.  If you install an Ubuntu-based distro, it will install the drivers and packages you need for it to work.  If you install the coming Ubuntu 20.04 on a reasonably newish PC with Intel graphics, you will get the stack above without doing anything.  Mesa 20, Iris, the X subsystem, the modesetting driver, and the i915 DRM driver will all be part of the package, no muss and no fuss.

        On earlier distros, like those based on Ubuntu 18.04 (including Mint 19.x and the distro I use, KDE Neon), it would use instead Mesa 19.2.8, and instead of Iris, you would get the i965 Mesa driver.  It works pretty well too, but Iris is a ground-up rewrite designed to fix the various limitations that are built into i965.  If you wanted to get Mesa 20 early rather than wait for Ubuntu 20.04, you could enable the Kisak PPA and let the updater do its thing, and it would automatically give you Mesa 20 in all its glory.

        Just remember, you don’t have to think about any of this if you don’t want to.  The distros release upgrades in versions of various libraries all the time, and you can just let the distro handle it.  If you do want to tweak and play with things, though, you have that option too!

        Group "L" (KDE Neon User Edition 5.18.4).

        • #2172267 Reply
          anonymous
          Guest

          I’ve got an HP Probook 4540s that’s running an Intel Ivy Bridge core 17 3632QM and a Discrete Mobile AMD Radeon 7650M(Terascale GPU Micro-Architecture) GPU. And I’m hoping that MESA 20 and Linux Mint 19.3/later will work out better under Blender 2.8/later under Linux than it’s working out  under Windows 7 Pro where I can get the Intel CPU’s integrated graphics to mostly work under Blender 3D 2.8’s new edit mode work-spaces except one work-space where Blender 2.8 crashes under Windows 7.

          I’m reading on the Blender developers Blog that Blender 3D 2.8 support for Ivy Bridge Intel CPUs/Integrated graphics is not assured under Windows because of lack of newer OpenGL/driver support under Windows 7/8/8.1 but that Under Linux that support for older hardware is always ongoing whereas it’s been nonexistent under 7/8/8.1 for more than 3 years.

          So I’m going to try Linux Mint 19.3 with the HP probook and dual booting that with Windows 7 and hopefully the Linux OpenGL/Driver support will enable me to at least do Blender 3D editing work on the Integrated Graphics or the discrete mobile 7650M as I’ve always had to use the CPU rendering mode for Cycles rendering on my Intel Ivy Bridge/earlier based Intel core i series CPU based laptops.

          And the Older Sandy Bridge and Arrandale(Mobile Westmere) based Intel core i series based laptops are probably going to be forced to remain using Blender 3D 2.7b as Blender 2.8/later has hardware requirements that make that older hardware obsolete on Blender 2.8/Later, at least as far as Windows is concerned but maybe not Linux if that support from the community continues.

          I have purchased a new AMD based laptop, Ryzen 5 3550H/Vega integrated graphics and Radeon RX 560X Dsicrete Moble GPU. So that works fine for Blender 2.81 with no issues currently and I can also now use Blender Cycles rendering on the GPUs, both the APU’s Vega integrated graphics and the discrete mobile Radeon RX 560X.

          I do have to research OpenCL support on Intel’s CPUs, but If I’m not mistaken, that support for OpenCL did not begin until Intel’s Ivy Bridge core i series generation(1). But I’ve never heard of any Blender GPU Cycles rendering support on Intel’s integrated graphics. On most of my older laptops running Blender 3D 2.7b and earlier I’ve always used Blender Render(CPU) or Blender’s CPU cycles rendering mode that uses the CPU to render if no qualified GPU/Graphics support can be available for Blender’s GPU Cycles rendering mode.

          But as far as Intel’s newer/older generations of core i series processors that some good news from the Mesa developers. and I hope that they continue to look towards that older hardware for newer feature level support being plumbed in as my 3 oldest laptops appear to all be  doing fine dual booting Linux Mint 19.3 and Windows 7. The HP Probook is next in line to get Mint 19.3 installed alongside Windows 7(Pro) and maybe that laptop will be somewhat usable for Blender 2.8/later usage as well.

          (1)

          “Intel Graphics Technology”

          https://en.wikipedia.org/wiki/Intel_Graphics_Technology

    Viewing 5 reply threads

    Please follow the -Lounge Rules- no personal attacks, no swearing, and politics/religion are relegated to the Rants forum.

    Reply To: Mesa 20 arrives– good news for Intel graphics users on Linux

    You can use BBCodes to format your content.
    Your account can't use Advanced BBCodes, they will be stripped before saving.