diff options
Diffstat (limited to 'lib/Xconfig/various.pm')
-rw-r--r-- | lib/Xconfig/various.pm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm index 965af92..c5cae19 100644 --- a/lib/Xconfig/various.pm +++ b/lib/Xconfig/various.pm @@ -151,10 +151,22 @@ sub config { } if (exists $various->{EXA}) { - if ($various->{EXA}) { - $card->{Options}{AccelMethod} = 'EXA'; - } else { - delete $card->{Options}{AccelMethod}; + if ($card->{Driver} eq 'intel') { + # the intel driver is able to automatically pick UXA/EXA + # when xorg.conf has no accel method defined, but XAA + # has to be explicitly selected, that's why the logic + # is reversed compared to the other drivers + if ($various->{EXA}) { + delete $card->{Options}{AccelMethod}; + } else { + $card->{Options}{AccelMethod} = 'XAA'; + } + } else { + if ($various->{EXA}) { + $card->{Options}{AccelMethod} = 'EXA'; + } else { + delete $card->{Options}{AccelMethod}; + } } } |