Difference between revisions of "Trident"

From ArchWiki
Jump to: navigation, search
(Configuration)
m
(10 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
{{Article summary wiki|Xorg}}
 
{{Article summary wiki|Xorg}}
 
{{Article summary end}}
 
{{Article summary end}}
 +
 +
The Trident driver supports the accelerated video chipsets made by the now-defunct Trident.  It supports chips from the (Cyber)Blade, Image, ProVidia and TGUI series.  It also supports some ISA and VLB Trident cards.
  
 
==Xorg driver==
 
==Xorg driver==
Line 11: Line 13:
 
===Installation===
 
===Installation===
  
If you already have installed [[Xorg]] you only need to install the package xf86-video-trident, for example by:
+
If you already have installed [[Xorg]] you only need to install {{pkg|xf86-video-trident}} from the [[Official Repositories]].
 
+
sudo pacman -Sy xf86-video-trident
+
  
 
===Configuration===
 
===Configuration===
Line 21: Line 21:
 
Create a configuration file in /etc/X11/xorg.conf.d/ named 99-trident.conf (or a name you prefer):
 
Create a configuration file in /etc/X11/xorg.conf.d/ named 99-trident.conf (or a name you prefer):
  
  sudo nano /etc/X11/xorg.conf.d/99-trident.conf
+
  # nano /etc/X11/xorg.conf.d/99-trident.conf
  
 
Paste following text and save the file:
 
Paste following text and save the file:
Line 29: Line 29:
 
         Driver "trident"
 
         Driver "trident"
 
  # Options under this line may (or may not) improve performace
 
  # Options under this line may (or may not) improve performace
 +
# If you experience segmentation faults on attempting to log out of X, uncomment the
 +
# following option.  If you do, comment or remove the "AccelMethod" option.
 
  #      Option "NoAccel" "True"
 
  #      Option "NoAccel" "True"
 
  #      Option "ShadowFB" "Enable"
 
  #      Option "ShadowFB" "Enable"
Line 36: Line 38:
 
  # the following two lines (by removing the "#" before the line):
 
  # the following two lines (by removing the "#" before the line):
 
  #      Option "NoDDC"
 
  #      Option "NoDDC"
#      Option "UseTiming1024"
 
 
  # The 1024 in UseTiming is for a Notebook with a native resolution of 1024x768 pixel.
 
  # The 1024 in UseTiming is for a Notebook with a native resolution of 1024x768 pixel.
  # If you have a native resolution of 800x600 pixel you should use "UnseTiming800" instead.
+
  # If you have a native resolution of 800x600 pixel you should use "UseTiming800" instead.
 +
#      Option "UseTiming1024"
 +
# If Xorg still crashes at startup and the error 'Failed to load module "xaa"' is found
 +
# in /var/log/Xorg.0.log, remove the "#" in the following line to use EXA acceleration:
 +
#      Option        "AccelMethod" "EXA"
 
  EndSection
 
  EndSection
 
  Section "Screen"
 
  Section "Screen"
Line 53: Line 58:
 
As trident cards a quite slow, using only 16 bit as color depth (see DefaultDepth in the Screen Section) is a good idea to speed things up. By only using 8 bit you can speed up things even more, but in my expirence a lot of programs have problems with color conversion an picture in my browser looked bit like Andy Warhol pictures. So you may want to keep 16.
 
As trident cards a quite slow, using only 16 bit as color depth (see DefaultDepth in the Screen Section) is a good idea to speed things up. By only using 8 bit you can speed up things even more, but in my expirence a lot of programs have problems with color conversion an picture in my browser looked bit like Andy Warhol pictures. So you may want to keep 16.
  
On my Notebook Xorg does not properly detect the native screen resolution, which causes Xorg to crash. In the past adding "NoDDC" solved this problem for, but as of 02.11.2012 I have also to pass "UseTiming1024". Make sure the number matches you the native x-resolution of your display. For example I have a display with a resolution of 1024x768, so I'm using "UseTiming1024". If you have for example a resolution of 800x600, you would use "UseTiming800" instead.
+
On my Notebook Xorg does not properly detect the native screen resolution, which causes Xorg to crash. In the past adding "NoDDC" to the driver section solved this problem, but as of 02.11.2012 I also have to add "UseTiming1024". Make sure the number matches the native x resolution of your display. For example I have a display with a resolution of 1024x768, so I'm using "UseTiming1024". If you have for example a resolution of 800x600, you would use "UseTiming800" instead.
  
 
I also added a few options which can improve speed, but commented it out. You may want to try them out be removing the "#" at the begin of the corresponding line.
 
I also added a few options which can improve speed, but commented it out. You may want to try them out be removing the "#" at the begin of the corresponding line.
Line 61: Line 66:
 
===Installation===
 
===Installation===
  
A framebuffer driver called tridentfb is included in the kernel source, but not include in the default Arch Linux kernel package. You could recompile the kernel with tridentfb enabled, but much easier is installing the tridentfb package in the AUR. If you have yaourt you only have to type:
+
A framebuffer driver called tridentfb is included in the kernel source, but not include in the default Arch Linux kernel package. You could recompile the kernel with tridentfb enabled, but much easier is installing the {{AUR|tridentfb}} package from the [[AUR]].
 
+
yaourt -S tridentfb
+
 
+
The package will be compiled against you currently running kernel and will only work with your current kernel. Because of this tridentfb will prevent the kernel package from updates. If you want to update your kernel, you have to remove tridentfb first. After the update, you can should recompile and reinstall the package by:
+
 
+
yourt -S tridentfb
+
  
 
===Configuration===
 
===Configuration===
Line 73: Line 72:
 
To configure the resolution to meet the native resolution of your screen you need to create a configuration file in /etc/modprobe.d/. You can do this for example by:
 
To configure the resolution to meet the native resolution of your screen you need to create a configuration file in /etc/modprobe.d/. You can do this for example by:
  
  sudo nano /etc/modprobe.d/tridentfb.conf
+
  # nano /etc/modprobe.d/tridentfb.conf
  
 
If you have a native resolution of 1024x768, you want to have a color depth of 8 bit and a refresh rate of 60Hz you should use this as configuration.
 
If you have a native resolution of 1024x768, you want to have a color depth of 8 bit and a refresh rate of 60Hz you should use this as configuration.
Line 81: Line 80:
 
The format is: mode_option=XRESxYRES-DEPTH@REFRESHRATE
 
The format is: mode_option=XRESxYRES-DEPTH@REFRESHRATE
  
It's also a good idea to include the module and the configuration file in the initrd. To do this, you have to edit /etc/mkinitcpio.conf. Simply add tridentfb to the MODULES="..." array and also "/etc/modprobe.d/tridentfb.conf" to the FILES="..." array to also make you configuration available in the initrd. Now run
+
It's also a good idea to include the module and the configuration file in the initrd. To do this, you have to edit /etc/mkinitcpio.conf. Simply add tridentfb to the MODULES="..." array and also "/etc/modprobe.d/tridentfb.conf" to the FILES="..." array to also make your configuration available in the initrd. Now run
  
  sudo mkinitcpio -p linux
+
  # mkinitcpio -p linux
  
 
to update your initrd. After every update of tridentfb you have to run mkinitcpio, if you have tridentfb included in your initrd.
 
to update your initrd. After every update of tridentfb you have to run mkinitcpio, if you have tridentfb included in your initrd.
  
===FAQ===
+
==FAQ==
  
====tridentfb does no longer work after a minor kernel update====
+
===tridentfb does no longer work after a minor kernel update===
  
If you have updateded you kernel from version 3.x.y to 3.x.(y+1) and experience problems, just rebuild and reinstall the package (for example by using yaourt -S tridentfb). Also the package has to be rebuild and reinstall after major kernel updates.
+
If you have updateded you kernel from version 3.x.y to 3.x.(y+1) and experience problems, just rebuild and reinstall the package. Also the package has to be rebuild and reinstalled after major kernel updates.
  
====The AUR package is not up to date - tridentfb cannot be build with the current kernel====
+
===The AUR package is not up to date - tridentfb cannot be build with the current kernel===
  
You have updated the kernel but the PKGBUILD has not been updated yet to work with your current kernel? No problem! Only two numbers have to be changed in the PKGBUILD to work with your kernel version: Change pkgver=X.X to meet your kernel major version, for example to "pkgver=3.6" for kernel 3.6.4 and also change the last entry of the depends array to make tridentfb conflict with the linux kernel one version higher then you current kernel. If you are using kernel 3.6.4 the new entry should look like: 'linux<3.7'
+
You have updated the kernel but the PKGBUILD has not been updated yet to work with your current kernel? No problem! Only two numbers have to be changed in the PKGBUILD to work with your kernel version: Change pkgver=X.X to meet your kernel major version, for example to "pkgver=3.6" for kernel 3.6.4 and also change the last entry of the depends array to make tridentfb conflict with the linux kernel one version higher then your current kernel. If you are using kernel 3.6.4 the new entry should look like: 'linux<3.7'

Revision as of 01:44, 25 November 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

The Trident driver supports the accelerated video chipsets made by the now-defunct Trident. It supports chips from the (Cyber)Blade, Image, ProVidia and TGUI series. It also supports some ISA and VLB Trident cards.

Xorg driver

Installation

If you already have installed Xorg you only need to install xf86-video-trident from the Official Repositories.

Configuration

For some notebooks with trident cards installation instructions including known-to-work xorg configurations are provided, so you may want to search this wiki for your device first. If your device is not listed, keep following this general guide.

Create a configuration file in /etc/X11/xorg.conf.d/ named 99-trident.conf (or a name you prefer):

# nano /etc/X11/xorg.conf.d/99-trident.conf

Paste following text and save the file:

Section "Device"
        Identifier	"gfxcard"
        Driver		"trident"
# Options under this line may (or may not) improve performace
# If you experience segmentation faults on attempting to log out of X, uncomment the
# following option.  If you do, comment or remove the "AccelMethod" option.
#       Option		"NoAccel" "True"
#       Option		"ShadowFB" "Enable"
#       Option		"NoPciBurst" "Enable"
#       Option		"FramebufferWC"
# If Xorg crashes on startup (hangs with black screen) you may try out
# the following two lines (by removing the "#" before the line):
#       Option		"NoDDC"
# The 1024 in UseTiming is for a Notebook with a native resolution of 1024x768 pixel.
# If you have a native resolution of 800x600 pixel you should use "UseTiming800" instead.
#       Option		"UseTiming1024"
# If Xorg still crashes at startup and the error 'Failed to load module "xaa"' is found
# in /var/log/Xorg.0.log, remove the "#" in the following line to use EXA acceleration:
#       Option         "AccelMethod" "EXA"
EndSection
Section "Screen"
        Identifier	"Screen 0"
        Device		"gfxcard"
        Monitor		"Monitor 0"
        DefaultDepth	16
EndSection
Section "Monitor"
        Identifier	"Monitor 0"
        Option		"DPMS" "Disable"
EndSection

As trident cards a quite slow, using only 16 bit as color depth (see DefaultDepth in the Screen Section) is a good idea to speed things up. By only using 8 bit you can speed up things even more, but in my expirence a lot of programs have problems with color conversion an picture in my browser looked bit like Andy Warhol pictures. So you may want to keep 16.

On my Notebook Xorg does not properly detect the native screen resolution, which causes Xorg to crash. In the past adding "NoDDC" to the driver section solved this problem, but as of 02.11.2012 I also have to add "UseTiming1024". Make sure the number matches the native x resolution of your display. For example I have a display with a resolution of 1024x768, so I'm using "UseTiming1024". If you have for example a resolution of 800x600, you would use "UseTiming800" instead.

I also added a few options which can improve speed, but commented it out. You may want to try them out be removing the "#" at the begin of the corresponding line.

Framebuffer driver

Installation

A framebuffer driver called tridentfb is included in the kernel source, but not include in the default Arch Linux kernel package. You could recompile the kernel with tridentfb enabled, but much easier is installing the tridentfbAUR package from the AUR.

Configuration

To configure the resolution to meet the native resolution of your screen you need to create a configuration file in /etc/modprobe.d/. You can do this for example by:

# nano /etc/modprobe.d/tridentfb.conf

If you have a native resolution of 1024x768, you want to have a color depth of 8 bit and a refresh rate of 60Hz you should use this as configuration.

options tridentfb mode_option=1024x768-8@60

The format is: mode_option=XRESxYRES-DEPTH@REFRESHRATE

It's also a good idea to include the module and the configuration file in the initrd. To do this, you have to edit /etc/mkinitcpio.conf. Simply add tridentfb to the MODULES="..." array and also "/etc/modprobe.d/tridentfb.conf" to the FILES="..." array to also make your configuration available in the initrd. Now run

# mkinitcpio -p linux

to update your initrd. After every update of tridentfb you have to run mkinitcpio, if you have tridentfb included in your initrd.

FAQ

tridentfb does no longer work after a minor kernel update

If you have updateded you kernel from version 3.x.y to 3.x.(y+1) and experience problems, just rebuild and reinstall the package. Also the package has to be rebuild and reinstalled after major kernel updates.

The AUR package is not up to date - tridentfb cannot be build with the current kernel

You have updated the kernel but the PKGBUILD has not been updated yet to work with your current kernel? No problem! Only two numbers have to be changed in the PKGBUILD to work with your kernel version: Change pkgver=X.X to meet your kernel major version, for example to "pkgver=3.6" for kernel 3.6.4 and also change the last entry of the depends array to make tridentfb conflict with the linux kernel one version higher then your current kernel. If you are using kernel 3.6.4 the new entry should look like: 'linux<3.7'