You are not logged in.

#1 2022-04-09 15:44:01

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Gallium i915G driver missing from Testing

The 21.x driver only provides legacy i915 driver support with OpenGL 1.4.

I prioritized the testing repos to try to get Mesa 22.0 -- and it seems that i915g is missing yet again.

Crocus is great for the Intel 965 and above iGPUs, but the new Gallium i915G driver brings OpenGL 2.1 support to the 915GM platforms along with improved performance. (Crocus does not work with the "smaller number" GPUs)

-----

For reference, 22.0 and the i915G driver worked find with the Debian repos, so I'm thinking its just not included with the meson_options.txt for whomever is compiling the driver here.

Offline

#2 2022-04-10 09:18:50

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 1,031
Website

Re: Gallium i915G driver missing from Testing

Some time I ago I had to disable some software rendering due to AVX (https://bugs.archlinux32.org/index.php? … task_id=39),
but actually I kept the gallium drivers (at least for pentium4). Maybe this broke also something else..
mesa 22.0 is extremely unstable for me also on 64-bit Arch (I get constant freezes and segfaults).. (Intel Corporation Mobile GM965/GL960)
I'm not thrilled at all at the moment and downgraded mesa to 21.0 on my daily driver machine.

Offline

#3 2022-04-12 10:25:13

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Re: Gallium i915G driver missing from Testing

abaumann wrote:

Some time I ago I had to disable some software rendering due to AVX (https://bugs.archlinux32.org/index.php? … task_id=39),
but actually I kept the gallium drivers (at least for pentium4). Maybe this broke also something else..
mesa 22.0 is extremely unstable for me also on 64-bit Arch (I get constant freezes and segfaults).. (Intel Corporation Mobile GM965/GL960)
I'm not thrilled at all at the moment and downgraded mesa to 21.0 on my daily driver machine.

This is understanable. I also have Arch 64 and Manjaro (64) along with Mint LMDE (64) on a Dell D630 with the same GPU as you (GM965).

I noticed that using llvm-14 on Manjaro results in a much more stable system for some reason with Crocus.

This is anecdotal of course. But if there is anything you'd like me to build and test and submit results to you, please let me know. Gladly willing to test!

Offline

#4 2022-04-24 14:19:40

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 1,031
Website

Re: Gallium i915G driver missing from Testing

I had all gallium drivers disabled in mesa, I reworked it now, but the the reason for not supporting i915 go deeper
(see https://bugs.freedesktop.org/show_bug.cgi?id=93089)

Offline

#5 2023-04-29 22:19:38

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Re: Gallium i915G driver missing from Testing

Hi there! poking back in! That bug no longer exists. Do you think i915 Gallium can be enabled? At one point I had it working with the 22.x branch of mesa. Userbenchmarking Link

So at least for the iGPU of the Dell Latitude D410 - the 910GM w/224MB shared RAM - OpenGL 2.1, GLES 2.0 things seem to work great.

(I tried compiling both mesa and mesa-git and then get a black blinking cursor with mesa-git) Tried nomodeset, removing xf86-*-intel, and then I guess I'm not sure what else to try... but it really should work, because it has, and is performant)

When trying to compile mesa on Arch32 or Arch systems I receive:

mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build:30:15: ERROR: Unknown variable "libintel_common".

A full log can be found at /home/eirikr/Playground/mesa-i915g/src/build/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
    Aborting...

So if we look at mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build we can then find the offending line, which here has been corrected from libintel_common

libi915drm = static_library(
  'i915drm',
  files(
    'i915_drm_batchbuffer.c', 'i915_drm_buffer.c', 'i915_drm_fence.c',
    'i915_drm_winsys.c'
  ),
  include_directories : [
    inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers
  ],
    link_with : [libintel_common],
  dependencies : [dep_libdrm, dep_libdrm_intel],
)

So here is where was stuck on both 32-bit and 64-bit systems for a bit during 23.0.x beta and then my attention shifted. Back to this project. (On the 64-bit machine side have many OTA DVRs for people that I support in exchange for a coffee)

So then alright. for the specific meson.build in that folder I just did

cp meson.build meson.build.patched

and then made the change in .patched to replace libintel_common with libi915drm]

Now:

diff -u mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build.patched > fix-libintel_common.patch

And here are the contents of fix-libintel_common.patch:

-- src/mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build     2023-04-20 16:06:54.000000000 -0700
+++ src/mesa-23.0.3/src/gallium/winsys/i915/drm/meson.build.patched     2023-04-29 15:50:41.423603504 -0700
@@ -27,6 +27,6 @@
   include_directories : [
     inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers
   ],
-  link_with : [libintel_common],
+  link_with : [libi915drm],
   dependencies : [dep_libdrm, dep_libdrm_intel],
 )

And then Added this to to PKGBUILD after build() {:

   cd "$srcdir/$pkgname-$pkgver"
    patch -p1 -i ../fix-libintel_common.patch
    #Remaining Build Items

And now my attention must shift. I hope someone is able to find something useful from this!

Last edited by Eirikr1848 (2023-04-30 09:08:55)

Offline

#6 2023-04-30 06:28:08

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 1,031
Website

Re: Gallium i915G driver missing from Testing

Thanks a lot for investigating this one. :-)

I'll see whether I can integrate that into the build..

Offline

#7 2023-04-30 15:03:11

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Re: Gallium i915G driver missing from Testing

abaumann wrote:

Thanks a lot for investigating this one. :-)

I'll see whether I can integrate that into the build..

Thanks, sorry for the delay. Let me know if you run into any issues with it. Hopefully I can be more responsive than a one-year delay. smile

Offline

#8 2023-05-12 17:45:28

sneakernets
Member
Registered: 2023-05-12
Posts: 2

Re: Gallium i915G driver missing from Testing

Eirikr1848 wrote:
abaumann wrote:

Thanks a lot for investigating this one. :-)

I'll see whether I can integrate that into the build..

Thanks, sorry for the delay. Let me know if you run into any issues with it. Hopefully I can be more responsive than a one-year delay. smile

Thanks for figuring this out! I own one of those Asus netbooks that require this driver. Having 2.1 support would make things so much easier!

Offline

#9 2023-08-06 08:30:51

sl1pkn07
Member
Registered: 2023-08-06
Posts: 18

Re: Gallium i915G driver missing from Testing

Hello.

any update about this? i have an Asus R2H, and this can makes this machine live another century (exagerated) more!

greetings

Offline

#10 2023-08-25 23:56:38

sl1pkn07
Member
Registered: 2023-08-06
Posts: 18

Re: Gallium i915G driver missing from Testing

hi in my test, i just found something interesting

if build only gallium drivers=i915, fails build with the error posted by @Eirikr1848, but if add also crocus and iris, the error is gone and the build continues without problem

mesa-23.1.6/src/gallium/winsys/i915/drm/meson.build:30:15: ERROR: Unknown variable "libintel_common".

A full log can be found at /home/sl1pkn07/aplicaciones/mesa/src/build/meson-logs/meson-log.txt

with i915,iris and crocus

mesa 23.1.6

  Directories
    prefix              : /usr
    libdir              : lib
    includedir          : include

  Common C and C++ arguments
    c_cpp_args          : -mtls-dialect=gnu2
                          -msse2
                          -mfpmath=sse
                          -mstackrealign

  OpenGL
    OpenGL              : YES
    ES1                 : NO
    ES2                 : YES
    Shared glapi        : YES

  DRI
    Platform            : drm
    Driver dir          : /usr/lib/dri

  GLX
    Enabled             : YES
    Provider            : dri

  EGL
    Enabled             : YES
    Drivers             : builtin:egl_dri2 builtin:egl_dri3
    Platforms           : x11 wayland surfaceless drm xcb

  GBM
    Enabled             : YES
    Backends path       : /usr/lib/gbm

  Vulkan
    Drivers             : NO

  LLVM
    Enabled             : YES
    Version             : 15.0.7

  Gallium
    Enabled             : YES
    Drivers             : i915 iris crocus
    Platforms           : x11 wayland surfaceless drm xcb
    Frontends           : mesa xa clover rusticl
    Off-screen rendering: NO
    HUD lm-sensors      : YES

  Perfetto
    Enabled             : NO

  User defined options
    auto_features       : enabled
    buildtype           : plain
    libexecdir          : lib
    prefix              : /usr
    sbindir             : bin
    wrap_mode           : nodownload
    b_lto               : true
    b_ndebug            : true
    b_pie               : true
    rust_std            : 2021
    android-libbacktrace: disabled
    dri3                : enabled
    egl                 : enabled
    gallium-drivers     : i915,iris,crocus
    gallium-extra-hud   : true
    gallium-nine        : false
    gallium-omx         : disabled
    gallium-opencl      : icd
    gallium-rusticl     : true
    gallium-va          : disabled
    gallium-vdpau       : disabled
    gallium-xa          : enabled
    gbm                 : enabled
    gles1               : disabled
    gles2               : enabled
    glvnd               : true
    glx                 : dri
    intel-clc           : enabled
    libunwind           : enabled
    llvm                : enabled
    lmsensors           : enabled
    microsoft-clc       : disabled
    osmesa              : false
    platforms           : x11,wayland
    shared-glapi        : enabled
    valgrind            : enabled
    video-codecs        : vc1dec,h264dec,h264enc,h265dec,h265enc
    vulkan-drivers      : 
    vulkan-layers       : 

Found ninja-1.11.1 at /usr/bin/ninja
Core properties:
  Source dir /home/sl1pkn07/aplicaciones/mesa/src/mesa-23.1.6
  Build dir  /home/sl1pkn07/aplicaciones/mesa/src/build



in my first try, with all gallium drivers, except vulkan ones, ineed, i915 driver is here
(took 2days to build it in my celeron 900....)

[sl1pkn07@AsusR2H ~]$ yay -Ql mesa
mesa /usr/
mesa /usr/include/
mesa /usr/include/EGL/
mesa /usr/include/EGL/eglext_angle.h
mesa /usr/include/EGL/eglmesaext.h
mesa /usr/include/GL/
mesa /usr/include/GL/internal/
mesa /usr/include/GL/internal/dri_interface.h
mesa /usr/include/GL/osmesa.h
mesa /usr/include/d3dadapter/
mesa /usr/include/d3dadapter/d3dadapter9.h
mesa /usr/include/d3dadapter/drm.h
mesa /usr/include/d3dadapter/present.h
mesa /usr/include/gbm.h
mesa /usr/include/xa_composite.h
mesa /usr/include/xa_context.h
mesa /usr/include/xa_tracker.h
mesa /usr/lib/
mesa /usr/lib/bellagio/
mesa /usr/lib/bellagio/libomx_mesa.so
mesa /usr/lib/d3d/
mesa /usr/lib/d3d/d3dadapter9.so
mesa /usr/lib/d3d/d3dadapter9.so.1
mesa /usr/lib/d3d/d3dadapter9.so.1.0.0
mesa /usr/lib/dri/
mesa /usr/lib/dri/crocus_dri.so
mesa /usr/lib/dri/d3d12_dri.so
mesa /usr/lib/dri/i915_dri.so
mesa /usr/lib/dri/iris_dri.so
mesa /usr/lib/dri/kms_swrast_dri.so
mesa /usr/lib/dri/nouveau_dri.so
mesa /usr/lib/dri/r300_dri.so
mesa /usr/lib/dri/r600_dri.so
mesa /usr/lib/dri/radeonsi_dri.so
mesa /usr/lib/dri/swrast_dri.so
mesa /usr/lib/dri/virtio_gpu_dri.so
mesa /usr/lib/dri/vmwgfx_dri.so
mesa /usr/lib/dri/zink_dri.so
mesa /usr/lib/libEGL_mesa.so
mesa /usr/lib/libEGL_mesa.so.0
mesa /usr/lib/libEGL_mesa.so.0.0.0
mesa /usr/lib/libGLX_indirect.so.0
mesa /usr/lib/libGLX_mesa.so
mesa /usr/lib/libGLX_mesa.so.0
mesa /usr/lib/libGLX_mesa.so.0.0.0
mesa /usr/lib/libOSMesa.so
mesa /usr/lib/libOSMesa.so.8
mesa /usr/lib/libOSMesa.so.8.0.0
mesa /usr/lib/libgbm.so
mesa /usr/lib/libgbm.so.1
mesa /usr/lib/libgbm.so.1.0.0
mesa /usr/lib/libglapi.so
mesa /usr/lib/libglapi.so.0
mesa /usr/lib/libglapi.so.0.0.0
mesa /usr/lib/libxatracker.so
mesa /usr/lib/libxatracker.so.2
mesa /usr/lib/libxatracker.so.2.5.0
mesa /usr/lib/pkgconfig/
mesa /usr/lib/pkgconfig/d3d.pc
mesa /usr/lib/pkgconfig/dri.pc
mesa /usr/lib/pkgconfig/gbm.pc
mesa /usr/lib/pkgconfig/osmesa.pc
mesa /usr/lib/pkgconfig/xatracker.pc
mesa /usr/share/
mesa /usr/share/drirc.d/
mesa /usr/share/drirc.d/00-mesa-defaults.conf
mesa /usr/share/glvnd/
mesa /usr/share/glvnd/egl_vendor.d/
mesa /usr/share/glvnd/egl_vendor.d/50_mesa.json
mesa /usr/share/licenses/
mesa /usr/share/licenses/mesa/
mesa /usr/share/licenses/mesa/LICENSE
[sl1pkn07@AsusR2H ~]$ yay -Qi mesa
Nombre                    : mesa
Versión                   : 1:23.1.6-2
Descripción               : An open-source implementation of the OpenGL specification
Arquitectura              : pentium4
URL                       : https://www.mesa3d.org/
Licencias                 : custom
Grupos                    : Nada
Provee                    : mesa-libgl  opengl-driver
Depende de                : libdrm  libelf  libglvnd  libunwind  libxdamage  libxshmfence  libxxf86vm  llvm-libs  lm_sensors  vulkan-icd-loader  wayland  zstd  libomxil-bellagio
Dependencias opcionales   : libva-mesa-driver: for accelerated video playback
                            mesa-vdpau: for accelerated video playback
                            opengl-man-pages: for the OpenGL API man pages
Exigido por               : libglvnd  mpv  qt5-base  xorg-server-devel  xorg-xwayland
Opcional para             : Nada
En conflicto con          : mesa-libgl
Remplaza a                : mesa-libgl
Tamaño de la instalación  : 469,95 MiB
Encargado                 : Gustavo Alvarez <sl1pkn07@gmail.com>
Fecha de creación         : mar 22 ago 2023 20:02:03
Fecha de instalación      : mar 22 ago 2023 20:13:27
Motivo de la instalación  : Instalado explícitamente
Guion de instalación      : No
Validado por              : Nada

i can see the KDE desktop about 10second (in my machine), then got a error in somerwere and block  the session (needs do: loginctlr unlock-session X (number)). i need test better

greetings

Last edited by sl1pkn07 (2023-08-26 00:08:32)

Offline

#11 2023-08-26 14:00:21

sl1pkn07
Member
Registered: 2023-08-06
Posts: 18

Re: Gallium i915G driver missing from Testing

ago 26 14:39:37 AsusR2H kwin_wayland[8211]: OpenGL vendor string:                   Mesa Project
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: OpenGL renderer string:                 i915 (chipset: 915GM)
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: OpenGL version string:                  2.1 Mesa 23.1.6
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: OpenGL shading language version string: 1.20
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Driver:                                 Unknown
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: GPU class:                              Unknown
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: OpenGL version:                         2.1
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: GLSL version:                           1.20
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Mesa version:                           23.1.6
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Linux kernel version:                   5.15.90
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Requires strict binding:                no
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: GLSL shaders:                           yes
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Texture NPOT support:                   yes
ago 26 14:39:37 AsusR2H kwin_wayland[8211]: Virtual Machine:                        no

but:

ago 26 14:39:48 AsusR2H kwin_wayland_wrapper[8295]: Failed to initialize glamor
ago 26 14:39:48 AsusR2H kwin_wayland_wrapper[8295]: Failed to initialize glamor, falling back to sw
ago 26 14:39:56 AsusR2H systemd[398]: Starting KDE Configuration Module Initialization (Phase 1)...
ago 26 14:39:57 AsusR2H ksmserver[8307]: libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio (search paths /usr/lib/dri, suffix _dri)
ago 26 14:39:57 AsusR2H kcminit_startup[8215]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_touchpad.so"
ago 26 14:39:57 AsusR2H kcminit_startup[8215]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_kgamma.so"
ago 26 14:39:57 AsusR2H ksmserver[8307]: libEGL warning: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: no se puede abrir el fichero del objeto compartido: No existe el fichero o el directorio (search paths /usr/lib/dri, suffix _dri)
ago 26 14:39:57 AsusR2H ksmserver[8307]: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled

i try to build mesa again with swrast included...

greetings

Last edited by sl1pkn07 (2023-08-26 14:08:06)

Offline

#12 2023-08-26 16:49:57

sl1pkn07
Member
Registered: 2023-08-06
Posts: 18

Re: Gallium i915G driver missing from Testing

Offline

#13 2023-08-27 07:27:01

andreas_baumann
Administrator
From: Zurich, Switzerland
Registered: 2017-08-10
Posts: 833
Website

Re: Gallium i915G driver missing from Testing

I had the impression swrast is heavily Intel-modern-opcode optimized, but I might have missed something.

Offline

#14 2024-01-29 23:57:14

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Re: Gallium i915G driver missing from Testing

Looks like it was merged into Main here:

https://gitlab.freedesktop.org/mesa/mes … d1e0a3a8b5. However the version of Mesa in the repo here is still 22.x so we need to help abaumann figure out how to better get the most recent version to properly build.

Offline

#15 2024-01-30 01:59:39

Eirikr1848
Member
Registered: 2022-04-09
Posts: 23

Re: Gallium i915G driver missing from Testing

andreas_baumann wrote:

I had the impression swrast is heavily Intel-modern-opcode optimized, but I might have missed something.

Question: if the Vulkan SWRAST and Gallium llvmpipe both use llvm; would they then rely on like llvm's optimizations for each performance/feature level? I'm guessing no-MMX i486 is gonna have a hard time but it could work, MMX only could have some luck, then SSE is where things really start to shine but SSE2 machines will perform much better.

--------

Also.... I mentioned it in the post above this I guess... whoops... but the issue holding back i915 stuff seems to be merged and then resolved. Does this mean Mesa 23.x in the repos sometime!? xD xD Sorry I haven't been on nor have I joined any other chats... ongoing massive health garbage. Anyway here is the link:

https://gitlab.freedesktop.org/mesa/mes … d1e0a3a8b5

Offline

Board footer

Powered by FluxBB