我有一台东芝 Satellite P745D-SP4161M 笔记本电脑,配有 AMD Radeon HD 6620G 显卡和 AMD A8-3500M APU(带 Radeon(tm) HD Graphics APU)。我安装了 Windows 7 和 Debian Wheezy/Sid 双系统。
我目前遇到了 ATI 专有驱动程序的问题。Catalyst 控制中心 (amdcccle) 和 aticonfig 工作正常,但是 glxgears、glxinfo、fglrxinfo 和 fgl_glxgears 产生以下输出:
root@debian:/home/mirath# fglrxinfo X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 139 (ATIFGLEXTENSION) Minor opcode of failed request: 66 () Serial number of failed request: 13 Current serial number in output stream: 13
此外,Xorg.0.log 中还出现了以下警告和错误:
root@debian:/home/mirath# cat /var/log/Xorg.0.log|grep '([WE][WE])'
[ 444.801] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 444.801] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 444.801] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 444.801] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 444.801] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 444.801] (WW) `fonts.dir' not found (or not valid) in "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType".
[ 444.833] (WW) Falling back to old probe method for fglrx
[ 444.845] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:1:1) found
[ 444.942] (WW) fglrx(0): board is an unknown third party board, chipset is supported
[ 444.942] (WW) fglrx(0): Hasn't establisted DRM connection
[ 444.942] (WW) fglrx(0): No DRM connection for driver fglrx.
[ 445.064] (EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
[ 445.064] (WW) fglrx(0): ***********************************************************
[ 445.064] (WW) fglrx(0): * DRI initialization failed *
[ 445.064] (WW) fglrx(0): * kernel module (fglrx.ko) may be missing or incompatible *
[ 445.064] (WW) fglrx(0): * 2D and 3D acceleration disabled *
[ 445.064] (WW) fglrx(0): ***********************************************************
[ 445.083] (WW) fglrx(0): Textured Video not supported without DRI enabled.
[ 445.084] (EE) fglrx(0): XMM failed to open CMMQS connection.(EE) fglrx(0):
[ 445.084] (EE) fglrx(0): XMM failed to initialize
[ 445.084] (WW) fglrx(0): No XV video playback available
[ 445.084] (WW) fglrx(0): Option "VendorName" is not used
[ 445.084] (WW) fglrx(0): Option "ModelName" is not used
我的 xorg.conf 是这样的:
root@debian:/home/mirath# cat /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "aticonfig Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
EndSection
Section "Module"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
Option "UseFastTLS" "1"
BusID "PCI:0:1:0"
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
我的内核的 grub 条目是这样的:
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root 3c0acf7c-d560-4793-ada2-4e7bb6a444bb
echo 'Loading Linux 2.6.32-5-amd64 ...'
linux /vmlinuz-2.6.32-5-amd64 root=UUID=c617f223-8c25-4e58-a4a2-faf1c0b3f335 ro quiet
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-5-amd64
}
这是我的 uname -a 输出:
root@debian:/home/mirath# uname -a
Linux debian 2.6.32-5-amd64 #1 SMP Thu Nov 3 03:41:26 UTC 2011 x86_64 GNU/Linux
答案1
我修好了!我的电脑是东芝 Satellite P745D-SP4161M,配有 Atheros AR9285 无线网卡和 AMD Radeon HD 6620G 显卡。我从 kernel.org 安装了 3.2-rc1 内核。我使用了所示的安装内核的方法这里。这样做之后,无线就断了,所以我在 3.2 内核中激活了一些内核选项,现在一切都正常了。
这些是我激活的内核选项,它们位于设备驱动程序->网络设备支持->无线局域网->Atheros 无线网卡中:
CONFIG_ATH9K_PCI
CONFIG_ATH9K_AHB
CONFIG_ATH9K_DEBUGFS
CONFIG_ATH9K_RATE_CONTROL
这是编译内核的代码,基于我提供的链接:
$ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2-rc1.tar.bz2
$ tar jxf linux-3.2-rc1.tar.bz2
$ cd linux-3.2-rc1
$ make menuconfig #If you are going to do something to the kernel...
$ make-kpkg -j2 --rootcmd fakeroot --initrd --bzimage kernel_headers kernel_image
$ sudo dpkg -i ../*.deb #make sure you don't have any other .deb in the parent directory.