使用modeline强制屏幕分辨率

OS:ubuntu 12.04

生成Modeline

cvt 1440 900 60  #命令格式:横向分辨率  纵向分辨率  刷新率

输出结果可能如下,其中Modeline行即是我们需要的:

# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

查看系统当前的屏幕输出端口

xrandr

我的输出结果如下:

HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1280x800       59.8  
   1280x720       60.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  

添加新的Modeline

sudo xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync #这里的参数是我们第一步中得到的

再次运行xrandr查看这个Modeline是否已经写进去了:

xrandr

输出如下:

HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1280x800       59.8  
   1280x720       60.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  
  1440x900_60.00 (0x298)  106.5MHz
        h: width  1440 start 1528 end 1672 total 1904 skew    0 clock   55.9KHz
        v: height  900 start  903 end  909 total  934           clock   59.9Hz

从上面的结果最后可以看到已经有了1440×900这个分辨率,刷新率是60,有的显示器可能上不去60,会黑屏,那可以适当降低刷新率,以减小带宽。

设置分辨率

sudo xrandr --addmode HDMI-1 1440x900_60.00
sudo xrandr --output HDMI-1 --mode 1440x900_60.00

查看是否设置成功

sudo xrandr

输出结果:

HDMI-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1600x900       60.0  
   1280x1024      75.0     60.0  
   1280x800       59.8  
   1280x720       60.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  
  1440x900_60.00 (0x298)  106.5MHz
        h: width  1440 start 1528 end 1672 total 1904 skew    0 clock   55.9KHz
        v: height  900 start  903 end  909 total  934           clock   59.9Hz

第一行显示当前分辨率为1440×900 。

其它尝试

如果经过上面的步骤还是不成功,那么可以试试加上下面的几个选项:

Section "Device"
    Option         "UseEDID" "False"
    Option         "UseEDIDFreqs" "False"
    Option         "ExactModeTimingsDVI" "True"
    Option         "ModeValidation"  "NoTotalSizeCheck, NoDFPNativeResolutionCheck, NoEdidModes, NoMaxPClkCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoEdidMaxPClkCheck"

EndSection

这些选项的具体含义,请查看 这里

Ubuntu升级nvidia driver

ubuntu升级nvidia显卡驱动分以下几步完成:

  • 删除旧版本驱动: apt-get – -purge remove nvidia-*
  • 删除系统自带的显卡驱动: apt-get – -purge remove xserver-xorg-video-nouveau
  • 停止ubuntu的桌面环境: /etc/init.d/lightdm stop
  • 切换到字符终端台
  • 安装下载的新版nvidia驱动
  • 重启桌面环境: /etc/init.d/lightdm start

bash warning setlocale LC_CTYPE cannot change locale

OS: ubuntu 12.10

问题

bash: warning: setlocale: LC_CTYPE: cannot change locale

解决

在/etc/profile中加入下行:

export  LC_ALL= C

Android源码编译错误

OS : ubuntu10.04 64bit

问题

Android编译过程中报错:

You are attempting to build with the incorrect version
of java.
Your version is: java version "1.6.0_22".
The correct version is: Java SE 1.6.

解决

  • 从java官方地址http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html 下载Java SE Development Kit 6 Update 31文件

  • 移到/opt目录下

    执行

    chmod +x jdk-6u27-linux-i586.bin
    

    使该文件变为可执行文件

  • 开始安装

    sudo ./jdk-6u27-linux-i586.bin
    
  • 打开 /etc/profile

    在文件最后添加:

    #set java environment
    export JAVA_HOME=/opt/jdk1.6.0_27
    export JRE_HOME=/opt/jdk1.6.0_27/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    
  • 执行

    source /etc/profile
    

    使环境变量生效

  • 查看当前java版本

    $ java -version
    

adb shell insufficient permissions for device

问题

adb shell – insufficient permissions for device

解决方法

sudo chown root:root adb
sudo chmod u+s adb
adb kill-server 
adb start-server