mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 09:56:46 +00:00
0ba2fa8cbd
Support the kernel's nomodeset parameter for all PCI-based fbdev drivers that use aperture helpers to remove other, hardware-agnostic graphics drivers. The parameter is a simple way of using the firmware-provided scanout buffer if the hardware's native driver is broken. The same effect could be achieved with per-driver options, but the importance of the graphics output for many users makes a single, unified approach worthwhile. With nomodeset specified, the fbdev driver module will not load. This unifies behavior with similar DRM drivers. In DRM helpers, modules first check the nomodeset parameter before registering the PCI driver. As fbdev has no such module helpers, we have to modify each driver individually. The name 'nomodeset' is slightly misleading, but has been chosen for historical reasons. Several drivers implemented it before it became a general option for DRM. So keeping the existing name was preferred over introducing a new one. v2: * print a warning if a driver does not init (Helge) * wrap video_firmware_drivers_only() in helper Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20221111133024.9897-3-tzimmermann@suse.de
Introduction: SM750 of Silicon MOtion is pci express display controller device. The SM750 embedded graphics features include: - dual display - 2D acceleration - 16MB integrated video memory About the kernel module parameter of driver: Use 1280,8bpp index color and 60 hz mode: insmod ./sm750fb.ko g_option="1280x1024-8@60" Disable MTRR,Disable 2d acceleration,Disable hardware cursor, and use a 800x600 mode : insmod ./sm750fb.ko g_option="noaccel:nomtrr:nohwc:800x600" dual frame buffer for driver with "dual" parameter insmod ./sm750fb.ko g_option="dual,800x600:1024x768" it will create fb0 and fb1 (or fb1,fb2 if fb0 already exist) under /dev and user can use con2fb to link fbX and ttyX Notes: 1) if you build the driver with built-in method, the parameter you edited in the grub config file will be also the same format as above modular method,but additionally add "video=sm750fb:" ahead of parameters,so,it looks like: video=sm750fb:noaccel,1280x1024@60,otherparam,etc... it equal to modular method with below command: insmod ./sm750fb.ko g_option="noaccel:1280x1024@60:otherparm:etc..." 2) if you put 800x600 into the parameter without bpp and refresh rate, kernel driver will defaulty use 16bpp and 60hz Important: if you have vesafb enabled in your config then /dev/fb0 will be created by vesafb and this driver will use fb1, fb2. In that case, you need to configure your X-server to use fb1. Another simple althernative is to disable vesafb from your config.