You are not logged in.
Hello,
I'm experiencing persistent graphical issues on my Intel Atom device with the Intel Poulsbo (GMA500) chipset. The issue manifests as black rectangles around context menus and in parts of the main window when using applications like Chrome. Running Arch Linux in VirtualBox on a different device/PC does not result in the black rectangle issue, everything was fine. so I suspect it’s a driver or configuration problem in Arch.
Here's a quick rundown of what I've tried so far:
> Switching to the modesetting driver - I configured Xorg to use the modesetting driver instead of gma500_gfx, but it didn’t resolve the black rectangle issue.
> Reverting to the gma500 driver - I re-enabled the gma500_gfx driver and ensured it's loading correctly, but the issue persists.
> Attempting software rendering - I tried running Chrome with --disable-gpu for software rendering, but unfortunately, the black rectangles remain.
> Creating an Xorg config file for gma500 - Placing a config file in /etc/X11/xorg.conf.d/20-gma500.conf caused LightDM to fail on startup.
> Using a compositor - I tried running a compositor like Picom to see if it would help with the rendering issue, but the black rectangles are still present.
Here's an example of what it looks like in Chrome:
System Information:
Device: Intel Atom with Intel Poulsbo (GMA500) chipset
Kernel module in use: gma500_gfx
Distro: Arch Linux (updated to the latest packages)
Does anyone have experience with similar issues on this hardware, or any suggestions on tweaks, patches, or alternative drivers that might resolve this? Any advice on improving compatibility with the gma500 driver on Arch would be greatly appreciated.
Thanks.
Last edited by Umarkov45 (2024-11-16 11:25:03)
Offline
Did you run picom with the glx or the xrender backend? This should get fixed on the glx backend assuming sufficent capability, what output do you get from
glxinfo -B #mesa-utils
?
Generally speaking that HW has never been good, never had good linux support, there were even consideration of dropping the driver entirely so you might even be somewhat SoL here.
Last edited by V1del (2024-11-14 14:10:35)
Online
Thanks for the reply. I tried to run picom with glx backend, it looks like this:
running picom with xrender:
Output of glxinfo -B #mesa-utils:
$ glxinfo -B #mesa-utils
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: llvmpipe (LLVM 18.1.8, 128 bits) (0xffffffff)
Version: 24.2.6
Accelerated: no
Video memory: 1930MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 4.5
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 22 MB, largest block: 22 MB
VBO free aux. memory - total: 258 MB, largest block: 258 MB
Texture free memory - total: 22 MB, largest block: 22 MB
Texture free aux. memory - total: 258 MB, largest block: 258 MB
Renderbuffer free memory - total: 22 MB, largest block: 22 MB
Renderbuffer free aux. memory - total: 258 MB, largest block: 258 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 4293862863 MB
Total available memory: 4293864793 MB
Currently available dedicated video memory: 22 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 18.1.8, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 24.2.6-arch1.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.5 (Compatibility Profile) Mesa 24.2.6-arch1.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.2.6-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
it is sad to hear that they dropping support for gma500, but thanks for the heads up / information.
Offline
You are already just on a software renderer... on the off chance something with any form of accel might exist, you might have better chances with mesa-amber. Other than that since these artefacts are generated by shadows and somewhat common on GTK based software if no compositor is running, you might get better chances if you find some old style GTK3/4 theme that doesn't use shadows.
Online
Yes. Using mesa-amber solves the issue. Since it use softpipe (not llvmpipe) it will be very slow (like 1 frame per 2 seconds). So what i'm thinking is to downgrade mesa from mesa-1.24.2.6-1 ==> mesa-21.0.3-3. At first i'm facing the new issue when i check it with glxinfo:
Error: couldn't find RGB GLX visual or fbconfig
So what i'm gonna do is:
1. Check for GLX Errors in Xorg Log: First, I examined the Xorg log for errors related to GLX:
$ cat /var/log/Xorg.0.log | grep -i glx
resulting:
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/xorg/modules/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/xorg/modules/dri)
2. Verify Missing Libraries: I used ldd to check the dependencies of swrast_dri.so:
$ ldd /usr/lib/dri/swrast_dri.so
resulting:
libLLVM-11.so => not found.
libffi.so.7 => not found.
3. Find and Install the Missing Library: Since libLLVM-11.so wasn’t available in the current repositories, I searched the Arch Linux Archive for llvm version 11.x.x and downloaded the corresponding .pkg.tar.zst files for llvm, llvm-libs and libffi
4. Install the Downloaded Packages: After downloading the required versions of llvm and llvm-libs, I installed them:
$ sudo pacman -U llvm-11.x.x.pkg.tar.zst llvm-libs-11.x.x.pkg.tar.zst
4.5 Manually install Libffi:
Extract the package:
$ tar -xf libffi-3.3-4-x86_64.pkg.tar.zst
Copy libffi.so.7 and libffi.so.7.1.0 from the extracted usr/lib/ directory to /usr/lib/:
$ sudo cp path_to_extracted/usr/lib/libffi.so.7 /usr/lib/
$ sudo cp path_to_extracted/usr/lib/libffi.so.7.1.0 /usr/lib/
I use a file manager with root privileges, such as executing pkexec thunar, to easily copy the files.
5. Verify Library Installation: I confirmed that the library was installed:
$ ls /usr/lib/libLLVM-11.so
resulting:
/usr/lib/libLLVM-11.so
6. Create a symlink for swrast_dri.so (optional but recommended):
sudo mkdir -p /usr/lib/xorg/modules/dri
sudo ln -s /usr/lib/dri/swrast_dri.so /usr/lib/xorg/modules/dri/swrast_dri.so
7. Verify the symlink:
ls -l /usr/lib/xorg/modules/dri/swrast_dri.so
resulting:
lrwxrwxrwx 1 root root 26 Nov 16 16:57 /usr/lib/xorg/modules/dri/swrast_dri.so -> /usr/lib/dri/swrast_dri.so
8. Test OpenGL:
I run the following command to ensure the system recognizes the changes:
glxinfo -B
resulting:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa/X.org (0xffffffff)
Device: llvmpipe (LLVM 11.1.0, 128 bits) (0xffffffff)
Version: 21.0.3
Accelerated: no
Video memory: 1930MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 3.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.1.0, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 21.0.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 3.1 Mesa 21.0.3
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
9. Reboot
Final Result:
Last edited by Umarkov45 (2024-11-16 12:56:41)
Offline
hmm but if that is the result then the lack of shadows on modern llvmpipe is probably a bug.
Online