EFI Boot 上颜色深度明显较低

EFI Boot 上颜色深度明显较低

我在 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 指出的链接。我想我应该将它们放入我的初始化脚本中。不幸的是,我仍然不知道我正在更改哪些寄存器。

相关内容