Problems with Xorg — nomodeset — changing the Linux boot flags

I have a quite old computer that I mostly use as a FreeDOS machine, on which I run FreeDOS on bare metal. It works well, and has an IDE header on the motherboard for a floppy drive, which is handy. The machine is a HP Compaq dc7700p (from 2011). It has a spinning disk and I am using the integrated Ethernet and VGA — no cards.

With a bit of help from some utilities available on the interwebs, I have DOS networking running pretty reliably:

lh lsl.com
lh e1000odi.com
lh odipkt.com 0 96

And on the whole it works well. I dual boot it using Linux, and Linux runs well enough as long a I don’t try to use any big software — by big I mean, say, Firefox or a full desktop, which demands too much RAM (I find PekWM works well, and leaves enough RAM to allow Firefox to operate adequately). I dual boot it just because sometimes I need more capability than FreeDOS allows. Like a version of SSH with modern security features, for example.

But for a while I was having issues. It would boot into Linux, and X windows (Xorg) would go funny. It would freeze, or be very slow, or I would log in and then find myself back at the login screen, only with weird pixelation or regions on the screen blank or whatever.

The solution was to add the nomodeset option to the Linux boot command.

Older machines can have flaky VGA/video implementations, I am led to understand, which can cause all kinds of weird and unexpected issues if not handled well. For example, you might be able to work for a while — minutes, maybe longer — and then it will reboot, or log you out, or do something else that on the surface may not seem to relate to the video; yet nomodeset will be worth a try.

So, on a Debian or Debian-like system, you do something like this:

sudo vim /etc/default/grub

find the line that begins ‘GRUB_CMDLINE_LINUX_DEFAULT’ and add nomodeset — in fact, that is all I have on that line:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

save the file and update the bootloader:

sudo update-grub2

and then reboot and see if it helps.

If it makes things worse, you can type ‘e’ on the GRUB boot screen, edit out the change, boot like you used to and then undo the change and rerun update-grub2.

Note that this assumes the faulty computer is running well enough to at least let you make this change! I found that if I used Ctrl+Alt+F1 to switch to TTY1 as soon as the login screen appeared, I could log in as root and make the changes successfully in the text terminal. I avoided asking X windows to ‘do’ anything, like log me in or provide me a desktop.

Computer specs:

RAM: 1 GB
CPU: Intel Core2 6300
VGA: Intel 82Q963/Q965 Integrated Graphics Controller (rev 02) — used the i915 Linux kernel module
Net: Intel Corporation 82566DM Gigabit Network Connection (rev 02)

This may not be the ideal solution — maybe I need to fart around with kernel modules or something — but it works and I hardly use the machine, so I am running with it.

 

Author: Darren

I'm a scientist by training, currently working as a writer, trainer and editor.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.