I should first point out that this is not a new install. I have been using 12.3 since it was released and it was a fresh install. Everything has worked well until just a few days ago. Apparently an update broke something, but I am out of ideas on where to look.
I’ve been having a serious problem with the X system over the last several days. During boot, I would get as far as having Plymouth finish, then I’d just get a blank screen. I was usually able to open a terminal from there to reboot, but could not start X.
Going over logs, there were errors from fglrx complaining about not being able to find the device at the specified address. I discovered that for whatever reason, “lspci” would often show different addresses for my graphics and sound cards from the last time I booted. The graphics card would show as 05:00.0 or 06:00.0 or 07:00.0 which caused the fglrx driver to usually fail. “lsmod” would show that fglrx was loaded, but not used by anything. Here is the pertinent section of my current “lspci” output:
03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge (rev aa)
04:04.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
05:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Pitcairn [Radeon HD 7800]
05:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
I found that in order to boot, I would have to boot to run level 3, re-install the proprietary driver, modprobe fglrx, and start kdm. After a reboot, X would fail again. I noticed that the PCI address for the graphics card was changed in xorg.conf after each boot. I’m not sure what was editing the file, apparently during shutdown. I would have to delete xorg.config and start over by rebooting into run level 3.
What I have done as a workaround is to delete xorg.conf and then re-create it as a blank text file with no write permissions. So far that has worked. Apparently fglrx no longer needs it, although aticonfig still creates it. The computer boots correctly with fglrx and full graphics with the blank xorg.conf
The root cause seems to be that fact that the PCI addresses are not consistent. I have tried downgrading every hardware detection package that I could think of, including systemd and sysinit, with no joy.
I use a Radeon HD7870 graphics card. The native radeon driver states that it will support cards only up to HD58** so it is of no use. I have tried the “fglrx.xpic” package and it behaves the same as the proprietary driver.