我在 Mac Mini 6,2(2012 年末) - Intel HD4000 上运行 Ubuntu 13.04 和 Mint 14。当我从旧版 BIOS 启动时,我看到了应该出现的良好颜色。但是,当我从 EFI 分区启动时,我看到颜色深度较低。
这不是 X 服务器颜色设置,因为我可以看到 16 位和 24 位之间的差异,但都不是完美再现的颜色。
当我使用 EFI 启动时,如何修复显示问题?
按/boot
文件夹如下,并且/boot/efi
是一个单独的分区。
.
├── abi-3.5.0-17-generic
├── abi-3.5.0-25-generic
├── config-3.5.0-17-generic
├── config-3.5.0-25-generic
├── efi
│ └── EFI
│ ├── Boot
│ │ ├── bootx64.efi
│ │ └── bootx64.efi.grb
│ ├── linuxmint
│ │ └── grubx64.efi
│ └── Microsoft
│ └── Boot
│ ├── bootmgfw.efi
│ ├── bootmgfw.efi.grb
│ ├── bootx64.efi
│ └── bootx64.efi.grb
├── grub
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grub.efi
│ ├── grubenv
│ ├── locale
│ │ ├── en_AU.mo
│ │ ├── en_CA.mo
│ │ └── en_GB.mo
│ └── x86_64-efi
│ ├── acpi.mod
│ ├── adler32.mod
│ ├── affs.mod
│ ├── afs.mod
│ ├── ahci.mod
│ ├── all_video.mod
│ ├── aout.mod
│ ├── appleldr.mod
│ ├── ata.mod
│ ├── at_keyboard.mod
│ ├── backtrace.mod
│ ├── bfs.mod
│ ├── bitmap.mod
│ ├── bitmap_scale.mod
│ ├── blocklist.mod
│ ├── boot.mod
│ ├── bsd.mod
│ ├── btrfs.mod
│ ├── bufio.mod
│ ├── cat.mod
│ ├── chain.mod
│ ├── cmp.mod
│ ├── command.lst
│ ├── configfile.mod
│ ├── core.efi
│ ├── cpio_be.mod
│ ├── cpio.mod
│ ├── cpuid.mod
│ ├── crc64.mod
│ ├── cryptodisk.mod
│ ├── crypto.lst
│ ├── crypto.mod
│ ├── cs5536.mod
│ ├── datehook.mod
│ ├── date.mod
│ ├── datetime.mod
│ ├── diskfilter.mod
│ ├── dm_nv.mod
│ ├── echo.mod
│ ├── efifwsetup.mod
│ ├── efi_gop.mod
│ ├── efinet.mod
│ ├── efi_uga.mod
│ ├── ehci.mod
│ ├── elf.mod
│ ├── exfat.mod
│ ├── exfctest.mod
│ ├── ext2.mod
│ ├── extcmd.mod
│ ├── fat.mod
│ ├── fixvideo.mod
│ ├── font.mod
│ ├── fshelp.mod
│ ├── fs.lst
│ ├── functional_test.mod
│ ├── gcry_arcfour.mod
│ ├── gcry_blowfish.mod
│ ├── gcry_camellia.mod
│ ├── gcry_cast5.mod
│ ├── gcry_crc.mod
│ ├── gcry_des.mod
│ ├── gcry_md4.mod
│ ├── gcry_md5.mod
│ ├── gcry_rfc2268.mod
│ ├── gcry_rijndael.mod
│ ├── gcry_rmd160.mod
│ ├── gcry_seed.mod
│ ├── gcry_serpent.mod
│ ├── gcry_sha1.mod
│ ├── gcry_sha256.mod
│ ├── gcry_sha512.mod
│ ├── gcry_tiger.mod
│ ├── gcry_twofish.mod
│ ├── gcry_whirlpool.mod
│ ├── geli.mod
│ ├── gettext.mod
│ ├── gfxmenu.mod
│ ├── gfxterm.mod
│ ├── gptsync.mod
│ ├── grub.efi
│ ├── gzio.mod
│ ├── halt.mod
│ ├── hashsum.mod
│ ├── hdparm.mod
│ ├── hello.mod
│ ├── help.mod
│ ├── hexdump.mod
│ ├── hfs.mod
│ ├── hfsplus.mod
│ ├── http.mod
│ ├── iorw.mod
│ ├── iso9660.mod
│ ├── jfs.mod
│ ├── jpeg.mod
│ ├── keylayouts.mod
│ ├── keystatus.mod
│ ├── ldm.mod
│ ├── linuxefi.mod
│ ├── linux.mod
│ ├── loadbios.mod
│ ├── loadenv.mod
│ ├── loopback.mod
│ ├── lsacpi.mod
│ ├── lsefimmap.mod
│ ├── lsefisystab.mod
│ ├── lsmmap.mod
│ ├── ls.mod
│ ├── lspci.mod
│ ├── lssal.mod
│ ├── luks.mod
│ ├── lvm.mod
│ ├── lzopio.mod
│ ├── mdraid09_be.mod
│ ├── mdraid09.mod
│ ├── mdraid1x.mod
│ ├── memdisk.mod
│ ├── memrw.mod
│ ├── minicmd.mod
│ ├── minix2_be.mod
│ ├── minix2.mod
│ ├── minix3_be.mod
│ ├── minix3.mod
│ ├── minix_be.mod
│ ├── minix.mod
│ ├── mmap.mod
│ ├── moddep.lst
│ ├── msdospart.mod
│ ├── multiboot2.mod
│ ├── multiboot.mod
│ ├── net.mod
│ ├── newc.mod
│ ├── nilfs2.mod
│ ├── normal.mod
│ ├── ntfscomp.mod
│ ├── ntfs.mod
│ ├── odc.mod
│ ├── ohci.mod
│ ├── part_acorn.mod
│ ├── part_amiga.mod
│ ├── part_apple.mod
│ ├── part_bsd.mod
│ ├── part_dvh.mod
│ ├── part_gpt.mod
│ ├── partmap.lst
│ ├── part_msdos.mod
│ ├── part_plan.mod
│ ├── part_sun.mod
│ ├── part_sunpc.mod
│ ├── parttool.lst
│ ├── parttool.mod
│ ├── password.mod
│ ├── password_pbkdf2.mod
│ ├── pata.mod
│ ├── pbkdf2.mod
│ ├── play.mod
│ ├── png.mod
│ ├── priority_queue.mod
│ ├── probe.mod
│ ├── raid5rec.mod
│ ├── raid6rec.mod
│ ├── read.mod
│ ├── reboot.mod
│ ├── regexp.mod
│ ├── reiserfs.mod
│ ├── relocator.mod
│ ├── romfs.mod
│ ├── scsi.mod
│ ├── search_fs_file.mod
│ ├── search_fs_uuid.mod
│ ├── search_label.mod
│ ├── search.mod
│ ├── serial.mod
│ ├── setjmp.mod
│ ├── setpci.mod
│ ├── sfs.mod
│ ├── sleep.mod
│ ├── squash4.mod
│ ├── tar.mod
│ ├── terminal.lst
│ ├── terminal.mod
│ ├── terminfo.mod
│ ├── test_blockarg.mod
│ ├── testload.mod
│ ├── test.mod
│ ├── tftp.mod
│ ├── tga.mod
│ ├── time.mod
│ ├── trig.mod
│ ├── true.mod
│ ├── udf.mod
│ ├── ufs1.mod
│ ├── ufs2.mod
│ ├── uhci.mod
│ ├── usb_keyboard.mod
│ ├── usb.mod
│ ├── usbms.mod
│ ├── usbserial_common.mod
│ ├── usbserial_ftdi.mod
│ ├── usbserial_pl2303.mod
│ ├── usbtest.mod
│ ├── video_bochs.mod
│ ├── video_cirrus.mod
│ ├── video_fb.mod
│ ├── videoinfo.mod
│ ├── video.lst
│ ├── video.mod
│ ├── videotest.mod
│ ├── xfs.mod
│ ├── xnu.mod
│ ├── xnu_uuid.mod
│ ├── xzio.mod
│ ├── zfscrypt.mod
│ ├── zfsinfo.mod
│ └── zfs.mod
├── initrd.img-3.5.0-17-generic
├── initrd.img-3.5.0-25-generic
├── memtest86+.bin
├── memtest86+_multiboot.bin
├── System.map-3.5.0-17-generic
├── System.map-3.5.0-25-generic
├── vmlinuz-3.5.0-17-generic
└── vmlinuz-3.5.0-25-generic
输出cat /var/log/Xorg.0.log | grep -i depth
:
"Default Screen Section" for depth/fbbpp 24/32
[ 20.983] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[ 21.919] (==) Depth 24 pixmap format is 32 bpp
答案1
这是我为解决这个问题所做的事情(所以我不必手动执行此操作):确保您使用 root 权限执行此操作。
echo "#!/bin/sh
# reset the screen.
# http://ubuntuforums.org/showthread.php?t=2118053&p=12523426#post12523426
#
/usr/bin/intel_reg_write 0x70008 0xC4002000
" > /etc/lightdm/reset_screen.sh
chmod 755 /etc/lightdm/reset_screen.sh
并/etc/lightdm/lightdm.conf
在该部分中添加一行SeatDefaults
:
[SeatDefaults]
display-setup-script=/etc/lightdm/reset_screen.sh
现在 - 每次 lightdm 启动时它都会被设置。
答案2
我用了:sudo intel_reg_write 0x70008 0xC4000050
使用 0xC4002000 仍存在一些透明度问题。例如,半透明的终端窗口仍具有 16 位颜色。
答案3
$ sudo intel_reg_write 0x70008 0xC4002000
Value before: 0xC1000000
Value after: 0xC0002000
运行上述命令可修复颜色。感谢 Mike C 指出的链接。我想我应该将它们放入我的初始化脚本中。不幸的是,我仍然不知道我正在更改哪些寄存器。