Linux – VGA and DVI, set default kernel console to one

kernellinuxradeonvideo

this seems like a very basic question, but after searching the web for 2 hours I couldn't find any real help on the subject and it's driving me nuts.

It's brutally simple: I have a radeon 4670 video card (rv770xt), use Arch Linux' repo kernel and have monitors on VGA and DVI. KMS is enabled and doing fine.

The VGA monitor has a smaller resolution than the DVI monitor and by default the screen is mirrored to both with the VGA monitor's resolution.
Now I don't want to use the VGA monitor at all for the kernel framebuffer/console and want the kernel to use the (bigger) DVI monitor.

Note: This is not about X.org dual-head, it's about the kernel framebuffer/console.

Now here's the question: Are there kernel parameters to specify a default output for my framebuffer and if so, which?

The best way to do that I have found so far seems to use con2fb on startup to move all the VTs to the 2nd monitor, but I don't even know if the radeon driver creates 2 fbs and it would only be a workaround anyways.

Edit1: I checked, the driver just creates fb0, so con2fb is a no-go

Best Answer

You could use a udev rule and fbset to force the framebuffer resolution on both displays, which may go some way to achieving what you are after.

The udev rule would be along the lines of /etc/udev/rules.d/81-framebuffer-hack.rules:

KERNEL=="card0-DVI", SUBSYSTEM=="drm", ATTR{dpms}=="On", ATTR{enabled}=="enabled", ATTR{status}=="connected", RUN+="/usr/sbin/fbset -g 1920 1080 1920 1080 32"

You can read up on the specifics on udev rules on the Writing udev rules page.

Related Question