Tuesday, November 21, 2006

FGLRX w/ ACPI and Flicker

Well-- all is going well on the laptop and I guess it would be false advertising if I said that everything is perfect, I have one minor bug. With the fglrx driver I have noticed that my laptop's lcd screen has a very odd flicker to it. This seems to be a common problem but I haven't dedicated any time to a solution as I've been busy and did figure out a work around. For me if the screen is flickering I can press fn+f3 and wait for the screens to shut off. Then by moving the mouse the screens come back and the laptop is no longer flickering. I've messed with the xorg.conf a little bit but havent found anything that seems to fix it. I'm fairly positive that the real issue is being caused by the settings for the acpi on the laptop. I'm going to do some more research and more trial and error tests as to how I can get this puppy purrfect. So if you get the flicker just hit fn+f3 and shake the mouse after they turn black, if this doesnt work try repeating as it always works for me in less than 3 tries usually only two. Check back here and I should have a fix up.

Monday, November 20, 2006

FGLRX single display

It dawned on me, some of you may want fglrx with just the laptop display, so here's the xorg.config for that!

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "aticonfig-Screen[0]" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "Files"
EndSection

Section "Module"
Load "dbe"
Load "v4l"
Load "extmod"
Load "type1"
Load "freetype"
Load "dri"
Load "glx"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Monitor"
Identifier "aticonfig-Monitor[0]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection

Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]"
Device "aticonfig-Device[0]"
Monitor "aticonfig-Monitor[0]"
DefaultDepth 24
SubSection "Display"
Modes "1400x1050" "1280x1024"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "dri"
Mode 0666
EndSection

Section "Extensions"
Option "Composite" "disable"
EndSection

Suspend and Hibernate with FGLRX

Well an easy enough method to get this all working, just open terminal and type
sudo gedit /etc/default/acpi-support

Find this:
SAVE_VBE_STATE=true

And make it this:
SAVE_VBE_STATE=false

Restart your computer and you should have your FGLRX working.

FGLRX "Pair mode" on the T42

As you may or may not know the drivers I was using were god awfully slow. Today i decided to improve my speed with the fglrx drivers by ati. My goal was to keep the same functionality as before with the improved speed. I got it all working, and damn I'm happy! Now my IBM Thinkpad T42 splitscreens between the internal display and the external display and uses the much quicker fglrx driver to do so. Note-- this is different from the crappy BigDesktop mode by ati because it allows you to drag windows across from one to the other. Well this is the xorg.config that I use now it's heavily modded from some other's I found around Google. The suspend/hibrenate don't work but I'm on my way to figuring that one out.





Section "ServerLayout"

Identifier "BigDesktop"

Screen 0 "aticonfig-Screen[0]" 0 0



InputDevice "Generic Keyboard"

InputDevice "Configured Mouse"

InputDevice "Synaptics Touchpad"









EndSection



Section "Files"

EndSection



Section "Module"

Load "dbe"

Load "v4l"

Load "extmod"

Load "type1"

Load "freetype"

Load "dri"

Load "glx"

EndSection



Section "InputDevice"

Identifier "Generic Keyboard"

Driver "kbd"

Option "CoreKeyboard"

Option "XkbRules" "xorg"

Option "XkbModel" "pc104"

Option "XkbLayout" "us"

EndSection



Section "InputDevice"

Identifier "Configured Mouse"

Driver "mouse"

Option "CorePointer"

Option "Device" "/dev/input/mice"

Option "Protocol" "ImPS/2"

Option "Emulate3Buttons" "true"

Option "ZAxisMapping" "4 5"

EndSection

Section "InputDevice"

Identifier "Synaptics Touchpad"

Driver "synaptics"

Option "SendCoreEvents" "true"

Option "Device" "/dev/psaux"

Option "Protocol" "auto-dev"

Option "HorizScrollDelta" "0"

EndSection





Section "Monitor"

Identifier "aticonfig-Monitor[0]"

Option "DPMS" "true"

EndSection



Section "Monitor"

Identifier "aticonfig-Monitor[1]"

Option "DPMS"

HorizSync 30 - 86

VertRefresh 50 - 100

EndSection









Section "Device"

Identifier "aticonfig-Device[0]"

Driver "fglrx"

## Dual Screen

Option "DesktopSetup" "horizontal"



## Direct Rendering

Option "no_accel" "no"

Option "no_dri" "no"



## Overlay Settings

Option "VideoOverlay" "on"

Option "OpenGLOverlay" "off"



## TV-Out Settings

# Option "ForceMonitors" "tmds,auto,notv"

Option "TVFormat" "PAL-B"

Option "TVStandard" "VIDEO"



## Misc Settings

Option "UseInternalAGPGART" "no"

Option "EnablePrivateBackZ" "yes"

BusID "PCI:1:0:0"

Screen 0

EndSection



Section "Device"

Identifier "aticonfig-Device[1]"

Driver "fglrx"

BusID "PCI:1:0:0" # vendor=1002, device=3154

Screen 1

EndSection



Section "Screen"

Identifier "aticonfig-Screen[0]"

Device "aticonfig-Device[0]"

Monitor "aticonfig-Monitor[0]"

DefaultDepth 24

#Option "backingstore"



Subsection "Display"

Depth 24

Modes "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"

ViewPort 0 0 # initial origin if mode is smaller than desktop

EndSubsection

EndSection



Section "Screen"

Identifier "aticonfig-Screen[1]"

Device "aticonfig-Device[1]"

Monitor "aticonfig-Monitor[1]"

DefaultDepth 24

#Option "backingstore"



Subsection "Display"

Depth 24

Modes "1280x1024" "1024x768" "800x600" "640x480"

ViewPort 0 0 # initial origin if mode is smaller than desktop

EndSubsection

EndSection



Section "dri"

Mode 0666

EndSection



Section "Extensions"

Option "Composite" "disable"

EndSection



Sunday, November 19, 2006

Automatix2

Woah, all i have to say is apps! What's so good about Ubuntu? How damn easy it is to install apps thanks to it's debian base, it's got apt-get with graphical front ends such as synaptic. One of my favorite apps, and one I suggest you take a gander at is called "Automatix2" it's a really great program that will allow you to install some commonly used applications by just checking some boxes. So the install for automatix2 goes as follows



Edit your sources.list:

Gnome

sudo gedit /etc/apt/sources.list 

KDE

sudo kwrite /etc/apt/sources.list

from terminal

Substitute gedit with the text editor of your choice.

Add the following to your sources.list:

NOTE: Kubuntu/Xubuntu users will need to uncomment (remove the # before the word "deb") all the additional sources as well as add the automatix repository.

deb http://www.getautomatix.com/apt edgy main

Now save the file and close it.

Now from terminal do the following:

wget http://www.getautomatix.com/apt/key.gpg.asc

gpg --import key.gpg.asc

gpg --export --armor 521A9C7C | sudo apt-key add -

To finish off:

sudo apt-get update

sudo apt-get install automatix2





Google automatix2 to find out what it lets you install, I love almost everything inside of it, especially it's network manager application which btw, provides excellent and easy selection of wireless networks. It's actually easier than windows! Another excellent app inside automatix2 is the slab menu, google for a screenshot or just install it-- it's sweet!





















Dualy Display on T42 Ubuntu

Now I love my laptop's display, its just plain beautiful, but I have a nice Samsung 17" lcd also so I decided, why not use both? Here's what I did. First I asked my bestfriend if he knew anyone who's done this. (my best friend being google of course) and right away he said, Jkraemer know's all about that. So i just modified his xorg.conf a bit to get mine to work.





This will result in having two monitors side by side, laptop left and the external to the right

laptop resolution = 1400x1050

external monitor resolution = 1280x1024



ALWAYS MAKE A BACKUP OF YOUR ORIGINAL xorg.conf









1. Open your xorg.conf file ( sudo gedit /etc/X11/xorg.conf ) then replace with the contents of his.



2. Make following changes, or changes you would like.



I switched the keyboard to english, the drivers to ati and the display resolution of the second monitor to 1280x1024 by changing the following lines:

His:

Option "XkbLayout" "de"

Driver "radeon"

Modes "1024x768"



Mine:

Option "XkbLayout" "en"

Driver "ati"

Modes "1280x1024"





The first line change is in the first "Section InputDevice"

The second change is in both "Section Device"

The last is in the last "Section Screen"



Note: this is for my laptop which has the 1400x1050 resolution and an external monitor with 1280x1024 resolution, if you want something different, change it accordingly. Also note that this setup has the laptop screen set to be at the left of the external monitor, change "RightOf" to "LeftOf" in "Section ServerLayout"



3. Press save and close gedit



4. Press Ctrl+Alt+Backspace to restart X and hopefully you have a beautiful dual display like mine.



Installation

My T42 was almost perfect "out of the box" after my edgy install. I just popped in the disc and followed the install guide and bam I was already online. This one's pretty big because a lot of distrobutions do not suppport the wireless without a little bit of work. But Ubuntu supported it perfectly. The first tthing I decided to tackle was getting a dual screen setup so I could use both the laptop display and the external monitor, not cloned but across the two. I used Jkramer's xorg.conf as a guide. See the next post for a more detailed walk through of what I did.