Intel® HD Graphics 4400安装深度,分辨率一直很低[解决]
Tofloor
poster avatar
Mark24
deepin
2015-06-18 22:28
Author
本帖最后由 Mark24 于 2015-6-18 17:35 编辑

Deepin,Ubuntu 都不支援 HD 4400驱动
解决办法
手动添加分辨率模式,并且写成脚本
并设成开机启动(也可以直接运行,但是再次开机会失效,所以设成开机启动)
如果显示器有auto调整的模式,最好的就是运行完脚本之后,让显示器auto一下,因为分辨率是系统和显示器共同决定。
(并没有直接解决驱动问题,是曲线救国,利用现有的通用驱动,适应人为设置的分辨率)
很想@Deepin的工程师,写一个app,可以让用户手动输入分辨率,然后开机启动,这样子可以临时解决,没有驱动支援的机器,显示不佳的问题

先讲一个原理
然后最后有解决方案,和shell代码

欢迎大家上传自己配置好的shell代码,这样可以解决一阵子问题

解决办法来自互联网,自己又添油加醋了一番,已经注明了参考url
======================
解决方案:xrandr命令。

首先,直接运行xrandr查看下分辨率的情况:


$ xrandr


Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096


LVDS1 connected (normal left inverted right x axis y axis)


    1024x600       60.0 +


    800x600        60.3     56.2


    640x480        59.9


VGA1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm


    1024x768       60.0 *


    800x600        60.3     56.2


    848x480        60.0


    640x480        59.9


标星号的那行就是我正在使用的分辨率。


下面用cvt命令生成一个modeline,为后续添加分辨率作准备:


$ cvt 1440 900


# 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 --newmode来创建一个分辨率模式,使用“Modeline”后的内容(--rmmode删除这个模式):


$ xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync


接着用xrandr --addmode把这个模式添加到显示器上(--delmode把这个模式从该显示器上移除):


$ xrandr --addmode VGA1 "1440x900_60.00"


最后是应用这个模式:


$ xrandr --output VGA1 --mode "1440x900_60.00"


到此,我的屏幕看上去就清爽多了。


用xrandr查看一下:


$ xrandr


Screen 0: minimum 320 x 200, current 1440 x 900, maximum 4096 x 4096


LVDS1 connected (normal left inverted right x axis y axis)


    1024x600       60.0 +


    800x600        60.3     56.2


    640x480        59.9


VGA1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm


    1024x768       60.0


    800x600        60.3     56.2


    848x480        60.0


    640x480        59.9


    1440x900_60.00   59.9*


设置完后我的屏幕向左偏出了约5个像素,直接在显示器(硬件)上调就可以了。(参考:https://wiki.ubuntu.com/X/Config/Resolution)


==================================================================================

关机重新开机后此设置有时候就没有了,又恢复到原来的分辨率了。

现在把设置新分辨率的命令写到一个sh脚本中,如果分辨率恢复到原来的自动执行此shell文件就可以了。

代码如下:


#!/bin/bash
# set screen resolution to 1400 * 900
# Query current resolution
echo "Current resolution:"
xrandr
echo "-------------------------------------"
# New one modeline for 1440 * 900
echo "New one modeline for 1440 * 900:"
cvt 1440 900
echo "-------------------------------------"
# Create resolution using "xrandr --newmode" command
echo "Create resolution 1400 * 900:"
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
echo "-------------------------------------"
# Add the resolution to monitor
echo "Add the resolution to monitor:"
xrandr --addmode VGA1 "1440x900_60.00"
echo "-------------------------------------"
# Apply the resolution
echo "Apply the resolution:"
xrandr --output VGA1 --mode "1440x900_60.00"
echo "-------------------------------------"
# Query current resolution again to determine the settings valid or not
echo "Current resolution after settings:"
xrandr
echo "-------------------------------------"

=============================================================

设置分辨率1680 * 1050的shell脚本如下:


#!/bin/bash
# set screen resolution to 1680×1050
#Query current resolution
echo "Current resolution:"
xrandr
echo "-------------------------------------"
# New one modeline for 1680×1050
echo "New one modeline for 1680×1050:"
cvt 1680 1050
echo "-------------------------------------"
# Create resolution using "xrandr --newmode" command
echo "Create resolution 1680×1050:"
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
echo "-------------------------------------"
# Add the resolution to monitor
echo "Add the resolution to monitor:"
xrandr --addmode VGA1 "1680x1050_60.00"
echo "-------------------------------------"
# Apply the resolution
echo "Apply the resolution:"
xrandr --output VGA1 --mode "1680x1050_60.00"
echo "-------------------------------------"
# Query current resolution again to determine the settings valid or not
echo "Current resolution after settings:"
xrandr
echo "-------------------------------------"
============================================
参考:http://www.jb51.net/os/Ubuntu/85861.html

Reply Favorite View the author
All Replies
cxbii
deepin
2015-06-19 00:29
#1
鼓励一下{:4_129:}
Reply View the author
火龙映天
deepin
2015-06-19 00:34
#2
这都可以?太强了~{:4_127:}
Reply View the author
Mark24
deepin
2015-06-19 01:15
#3

很想@Deepin的工程师,写一个程序,可以让用户手动输入分辨率,然后开机启动,这样子可以临时解决,没有驱动支援的机器,显示不佳的问题
Reply View the author
chenzhiwei
deepin
2015-06-19 03:59
#4
我的台式机也hd4400,难道没法安装deepin了么。。。
Reply View the author
leafonsword
deepin
2015-06-19 05:18
#5

intel HD核显驱动都开源的,应该支持的最好的,是不是deepin内核太旧,导致新显卡设备支持不好?
Reply View the author
victord
deepin
2015-06-19 06:17
#6
本帖最后由 victord 于 2015-6-19 12:32 编辑

很明显这是 Linux Kernel 的问题。只有等咯。目前搭载最新内核的有Arch,Fedora,Debian Sid,用的都是4.0,Ubuntu 15.04也是3.19,可以去尝试一下,还不行就只能等待了,不过不会等很久的。Linux不像Windows,Windows驱动是厂家提供的闭源二进制包,即使是win7那种09年的系统也可以支持最新的显卡,Linux是社区的源码,只有设备出现一段时间后才能整合进内核,与Win7同时期的Ubuntu 9.04,Debian Lenny用Sandy Bridge的二代核显都是根本不可能的。。。

据我所知,第四代核显只要Linux 3.16以上应该就可以了,这样的话Debian 8 Jessie Stable也是可以的。是的,Deepin2014.3的内核比Debian Stable还老。。。
Reply View the author
cxbii
deepin
2015-06-19 17:08
#7
https://bbs.deepin.org/post/30889
intel HD核显驱动都开源的,应该支持的最好的,是不是deepin内核太旧,导致新显卡设备支持不好? ...

我们算比较新的了,一般只有arch这类比较激进的发行版才会实时更新
Reply View the author
Mark24
deepin
2015-06-19 20:07
#8
chenzhiwei 发表于 2015-6-18 19:59
我的台式机也hd4400,难道没法安装deepin了么。。。

可以试试了
Reply View the author
victord
deepin
2015-06-19 20:40
#9
https://bbs.deepin.org/post/30889
我们算比较新的了,一般只有arch这类比较激进的发行版才会实时更新

3.13内核是2014年1月发布的,到现在快一年半了,比Debian Stable还老,这真不能算新吧?Ubuntu 14.04.2也升到3.16了啊,现在也就只有CentOS最新版比Deepin老了。。。还有一个难兄难弟是Linux Mint,但人家支持GUI界面下直接升级内核~~
Reply View the author
ztps
deepin
2015-06-20 03:33
#10
记得之前HD4000就因为内核的问题会花屏
Reply View the author
New Thread

Popular Events

More
国际排名
WHLUG