I had a devil of a time getting CrunchBang to work properly on my old Compaq Evo N110 laptop. Of course, I discovered the problem using the live CD but installed to my hard disk thinking I could fix it easily. I managed it, but it took many hours so I thought I'd share so others won't have to go through my learning curve.
I'm pretty much self-taught when it comes to linux, especially in relation to the desktop distros. Perhaps what I did would be easy for others to manage, in which case I've wasted my time but what the heck!
Firstly, I'm using CrunchBang 10 with Xfce4. I did try the openbox version but I'm more used to Xfce being a Puppy user.
When I tried the live CD I found I got a blank screen at the point that X Window tried to load. I got around this by editing the grub menu by pressing E at the menu and appending the parameter:
to the line that ends “quiet splash”.
The vga=792 tells grub to use 1024×768/24. This lets X load but the viewable screen was in 800×600 mode whereas the laptop supported 1024×768.
The vga= parameter is deprecated now but still works. I did end up permanently changing grub's config but I don't think it was necessary to get X to work properly.
I tried out lots of vga= permutations. Here's some of my testing notes:
vga=791 1024×768/16 blank vga=792 1024×768/24 works but screen shrunk vga=795 1280×1024/24 works but screen shrunk vga=789 800×600/24 works but screen shrunk vga=773 1024×768/8 works but screen shrunk vga=790 1024×768/15 blank vga=787 800×600/15 blank vga=793 1280×1024/15 works but screen shrunk vga=771 800×600/8 blank screen vga=788 800×600/16 blank screen
I realised from using Puppy 5.2 that what I needed to do was edit /etc/X11/xorg.conf. One problem. The file doesn't exist in this version of X. Instead, it tries to automatically detect.
After some research - OK, lots of research - I discovered that if an xorg.conf file exists it is used. I then used my Puppy xorg.conf as a basis. However, I still didn't manage to get 1024×768.
So, I did some more research and to cut a long story short, here's what I would do on a new machine:
1. Boot without adding the vga= switch. 2. Turn off the machine at the blank screen and reboot with the vga= switch. 3. Check /var/log/Xorg.0.log.old. This is the previous (blank screen) log file. Should give clues as to what's gone wrong, especially when compared against the Xorg.0.log file. 4. Pay particular attention to entries where the required resolution fails to be set with “vrefresh out of range” and “hsync out of range” errors. 5. Also pay attention to the video driver being detected. 6. Reboot in safe mode and don't load X. Run the command: Xorg -configure This will create the file xorg.conf.new in the current directory. This file can be used as the basis of an /etc/X11/xorg.conf file. 7. Presuming it's just the screen resolution that's the problem, you can cut down xorg.conf to its bare essentials: a. define a monitor b. specify a suitable driver c. define the resolution 8. My old laptop uses a Trident card and here's what my xorg.conf file looks like:
Identifier "Monitor0" Horizsync 30.0-60.0 VertRefresh 50.0-70.0 VendorName "Monitor Vendor" ModelName "Monitor Model"
Identifier "Card0" Driver "trident" VendorName "Trident Microsystems" BoardName "CyberBlade i1" BusID "PCI:1:0:0"
Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" "800x600" EndSubSection
This is about as sparse as I could get it because you can see that the end section, “Screen”, references Card0 and Monitor0 so these need defining.
Note that I've specified two Modes with 800×600 being a fallback.
The absolute key two lines are:
Horizsync 30.0-60.0 VertRefresh 50.0-70.0
This resolved a lot of the “vrefresh out of range” and “hsync out of range” errors that were in my Xorg.0.log file.
Hopefully when you reboot using the new xorg.conf and cross your fingers, your old laptop will show a 1024×768 desktop.
Hope someone finds this helpful.