Tom Li 7b20360f56 Add a comment for a magic number. | 10 سال پیش | |
---|---|---|
.gitignore | 10 سال پیش | |
LICENSE | 10 سال پیش | |
Makefile | 10 سال پیش | |
README.md | 10 سال پیش | |
intel.h | 10 سال پیش | |
nvidia.h | 10 سال پیش | |
nvresolution.c | 10 سال پیش |
NVResolution: NVIDIA Video BIOS Hack
Nowadays, many people use their computers with wide-screen monitors. But, these resolutions aren't the VESA standards, the video drivers/framebuffers deal with them by themselves.
Unfortunately, NVIDIA's proprietary drivers for Linux don't provide framebuffer drivers. We have to use VESA compatible framebuffer and standard VESA resolution only. Therefore, we get poor resolutions when we using NVIDIA's proprietary drivers. Or, we could use Nouveau and get great resolutions with nouveaufb, but the performance is poor.
No, you can't use both of them. So, Nvidia users on GNU/Linux Platform are painful.
But, nvresolution changed the situation. nvresolution is a tool to hotpatch the video BIOS of the NVIDIA GPU. It modifies the video BIOS, replaces a resolution mode into your specificed resolution, in order to use the native resolutions of your monitors.
git clone git://git.savannah.gnu.org/grub.git
cd grub
git clone git://github.com/biergaizi/nvresolution.git
cd nvresolution
git checkout grub
cd ../
mkdir grub-extras
cp nvresolution grub-extras/ -R
export GRUB_CONTRIB="$(pwd)/grub-extras/"
./autogen.sh
./configure
make
sudo make install
# grub-install to install GRUB to MBR and /boot
Usage: ./nvresolution [width] [height]
root is required.
hwinfo
hwinfo --framebuffer
, get a list of available resolution../nvresolution [width] [height]
hwinfo --frambuffer
to see whether the new resolution appears in the list.
nvresolution 1440 900
to grub.cfg)uvesafb
kernel module
video=uvesafb:1440x900-32,mtrr:3,ywrap
, don't forget to replace 1440x900 to your resolution.echo "options uvesafb mode_option=1440x900-32 scroll=ywrap" > /etc/modprobe.d/uvesafb.conf
If you can't rebuild GRUB:
make static
, you got a static version of nvresolutionIt should work on GTX 400 and newer GPUs. But only tested with my GTX 460.
It must unlock PAM registers to modify the VBIOS memory. The method to unlocking PAM registers is depends on CPUs.
It should works on Intel Core i-series processors Gen1/Gen2/LGA2011. But only tested with my Core i7 2600K (belongs to Gen2).
Core i-series processors Gen3 and newer processors are not supported. AMD processors are not supported, because I don't have manuals or hardwares.
Pull Requests are welcomed.
It modifies the video BIOS?! Yes, but it is a hotpatch. The video BIOS area it modifies which is mapped into the RAM. It means the modifications of the BIOS are transient. The modification will lose after shutting down. There is no risk of permanent modification of the BIOS. It also means that nvresolution must be run every time the computer boots.
In the worst case, if it breaks your graphics, just reboot your computer.
But, please keep in mind:
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.