кажущаяся низкая глубина цвета на загрузке EFI

Я использую Ubuntu 13.04 и Mint 14 на Mac Mini 6,2 (конец 2012 г.) - Intel HD4000. Когда я загружаюсь с устаревшего BIOS, я вижу хороший цвет, как он должен выглядеть. Однако, когда я загружаюсь с раздела EFI, я вижу низкую глубину цвета.

Это не настройка цвета X-сервера, так как я вижу разницу между 16-битным и 24-битным, но ни один не является идеально воспроизводимым цветом.

Color banded image :-(

Как исправить экран при загрузке с помощью 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
0
задан 1 May 2013 в 01:13

3 ответа

$ sudo intel_reg_write 0x70008 0xC4002000
Value before: 0xC1000000
Value after: 0xC0002000

Выполнение вышеуказанной команды исправляет цвета. Благодаря ссылкам, указанным Майком С. Я думаю, я включу их в свои сценарии инициализации. К сожалению, я до сих пор не знаю, какие регистры я изменяю.

0
ответ дан 1 May 2013 в 01:13

Вот что я сделал, чтобы позаботиться об этом (поэтому мне не нужно делать это вручную): убедитесь, что вы делаете это с правами 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.

0
ответ дан 1 May 2013 в 01:13

Я использовал: sudo intel_reg_write 0x70008 0xC4000050

При использовании 0xC4002000 все еще были некоторые проблемы с прозрачностью. Например, полупрозрачное окно терминала имело еще 16-битные цвета.

0
ответ дан 1 May 2013 в 01:13

Другие вопросы по тегам:

Похожие вопросы: