Bug 917726 - Cannot use mesa llvmpipe on non SSE2 machine
Summary: Cannot use mesa llvmpipe on non SSE2 machine
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 18
Hardware: i386
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-04 16:19 UTC by Alex Villacís Lasso
Modified: 2013-10-09 19:16 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-10-09 19:16:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 27867 0 None None None Never

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>


Note You need to log in before you can comment on or make changes to this bug.