Bug 917726

Summary: Cannot use mesa llvmpipe on non SSE2 machine
Product: [Fedora] Fedora Reporter: Alex Villacís Lasso <alexvillacislasso>
Component: mesaAssignee: Adam Jackson <ajax>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: ajax
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-09 19:16:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alex Villacís Lasso 2013-03-04 16:19:38 UTC
Description of problem:
The affected machine is an AMD Sempron with a VIA UniChrome integrated graphics chipset. This graphics chipset lacks support for the 3D capabilities required for Gnome Shell, so therefore it should be using llvmpipe as the software implementation. The AMD Sempron cpuinfo is as follows:

[root@localhost ~]# cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 6
model		: 8
model name	: AMD Sempron(tm) 2400+
stepping	: 1
cpu MHz		: 1666.026
cache size	: 256 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips	: 3332.05
clflush size	: 32
cache_alignment	: 32
address sizes	: 34 bits physical, 32 bits virtual
power management: ts

Note the lack of SSE2 support.

When running Gnome Shell on this machine, the desktop runs in fallback mode instead of using llvmpipe. When investigating why, I found https://bugs.freedesktop.org/show_bug.cgi?id=27867 which mentions that llvm has a bug that makes it crash when SSE2 is not available. Therefore, a patch was added to mesa llvmpipe in order to disable it when SSE2 is not detected. I think this explains the fallback mode. However, this bug dates from 2010, and the affected llvm is 2.7. Fedora 18 uses llvm 3.1. Is this bug still relevant to the current version of llvm and mesa?

Version-Release number of selected component (if applicable):
mesa-dri-drivers-9.0.1-5.fc18.i686
llvm-libs-3.1-13.1.fc18.i686

How reproducible:
Always (on affected machine)

Steps to Reproduce:
1. Get non-SSE2 machine with old graphics card
2. Install Fedora 18
3. Start Gnome Shell
  
Actual results:
Fallback mode in desktop

Expected results:
Desktop should be running llvmpipe

Additional info:

Comment 1 Alex Villacís Lasso 2013-03-20 16:26:56 UTC
Apparently, with llvm-libs-3.2-2 and mesa-libGL-9.1-1, the patch is still present.

Comment 2 Adam Jackson 2013-10-09 19:16:19 UTC
Fixed in Mesa 9.2:

commit ca70de9bd20bc4a11b2d2d368e0cc1f49527a947
Author: Adam Jackson <ajax>
Date:   Thu Apr 4 17:16:22 2013 -0400

    llvmpipe: Work without sse2 if llvm is new enough
    
    At least on llvm 3.2 this appears to work fine.  Tested on an Athlon XP
    2600+, which has sse and 3dnow but not sse2.
    
    Reviewed-by: Jose Fonseca <jfonseca>
    Signed-off-by: Adam Jackson <ajax>