I upgraded my system to Debian 6.0 (Squeeze), and the X died. every time I boot the machine, the system freezes after starting the gdm(GNOME Display Manager), leaves me a blank screen. I say freeze because I cannot even ssh to it, or if I am fast enough I can establish a ssh connection to the system between the time the system starting up and gdm starting, but as soon as gdm starts, my connected terminal also freezes.
Here is the story how I fixed it.
First Boot using previous working kernel (Which X also fails but fortunately the system does not freeze.)
Figure out my graphic card type
# lspci -v |grep VGA
My output was
ATI Technologies Inc M98L [Mobility Radeon HD 4850] ...
Goggling and found this http://wiki.debian.org/ATIProprietary page, following the Squeeze section's instruction. for memorize I copy them (with some small modifications) here:
- Add a "non-free" component to /etc/apt/sources.list, for example:
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
- Update the list of available packages, then install the relevant linux-headers, fglrx-control and fglrx-driver packages:
This will also install fglrx-glx, fglrx-modules-dkms and other recommended packages. DKMS will build the fglrx module for your system.
# aptitude update # aptitude install linux-headers-2.6-$(uname -r | sed 's,.*-,,') fglrx-control fglrx-driver
- If the X Window System is running, exit your desktop environment or window manager. If a display manager is in operation, switch to a virtual console and stop it. For example:
or
# invoke-rc.d gdm stop
# invoke-rc.d kdm stop
- Unload the radeon and drm modules:
# modprobe -r radeon drm
- Create or amend /etc/X11/xorg.conf to include a Device section and request use of the fglrx driver:
or
# sensible-editor /etc/X11/xorg.conf
A minimal /etc/X11/xorg.conf example is shown below:# vi /etc/X11/xorg.conf
Section "Device" Identifier "ATI" Driver "fglrx" EndSection Section "Screen" Identifier "Default Screen" DefaultDepth 24 EndSection
- Start the X Window System (startx) as a regular user, or start your display manager. For example:
or
# invoke-rc.d gdm start
# invoke-rc.d kdm start