These days I had to install a Gentoo on a Compaq 6820s laptop that comes with a ATI Mobility Radeon X1350 (chipset RV515).
Although I followed all the guidelines from the following resources:
I have encountered an unexpected error while loading the Linux ATI Radeon KMS that was related to the Kernel Mode Setting (when KMS was disabled I've got no error but no KMS too).
First I configured the Linux kernel to embed the radeon driver within the kernel:
and thus the system freeze at boot time, exactly when the kernel tried to initialize the ATI GPU.
A bit later I have changed the kernel configuration so that the "ATI Radeon" has to be built as a kernel module. I have also blacklisted the radeon module to make sure it won't get loaded, so I would load the module manually after the kernel would boot successfully. So I have booted the kernel with the KMS set "off" by default:
grub> kernel /KERNEL root=ROOT radeon.modeset=0
then, after everything loaded successfully I was trying to load the radeon module with the modeset option set "on":
modprobe radeon modeset=1
when the system completely froze (no CPU activity or I/O responsiveness whatsoever).
Later, I un-blacklisted the radeon module in order to get it loaded automatically. The kernel have been loaded successfully and everything was just fine, except the fact that I had no KMS whatsoever (of course, I booted the system with radeon.modeset=0).
What I've done later was really tricky and that fixed my problem. I've unloaded the radeon module from memory and loaded back with modeset=1:
modprobe -r radeon modprobe radeon modeset=1
If you do this while you're on X then I'm pretty sure your screen will turn into black. What I did to avoid that was to logoff from X session, kill the SLIM login manager then to stop the XDM service. After that I unloaded/loaded back the radeon module (as shown above) and then started XDM (which in turn started automatically the login manager) so that I got an wonderful X session with a full support of framebuffer that improved both the screen resolution and the user experience.
Now the thing is: "how to automate this" so that I won't do that every time I boot the system?
You could try to create a simple BASH script that, in principle, would do the trick shown above then would do what your /etc/inittab would normally is doing in the last step (like loading the login/window manager).
In my case I just hack the /etc/X11/startDM.sh script that would normally load the X session (whatever it is: xfce4, gnome, lxde, ...,etc). So just before that script (startDM.sh) executes the default desktop environment I've inserted that "modprobe" thing.
Now, every time I boot the system, just when the xdm service is started, the system switchs automatically to a framebuffer-enabled graphic, resulting in a higher resolution graphic and a better user experience.
Now, if you think that this article was interesting don't forget to rate it. It shows me that you care and thus I will continue write about these things.
Latest posts by Eugen Mihailescu (see all)
- Dual monitor setup in Xfce - January 9, 2019
- Gentoo AMD Ryzen stabilizator - April 29, 2018
- Symfony Compile Error Failed opening required Proxies - January 22, 2018