profundidade de cor baixa aparente na inicialização EFI

0

Estou executando o Ubuntu 13.04 e o Mint 14 em um Mac Mini 6,2 (final de 2012) - Intel HD4000. Quando eu inicializo do BIOS legado, vejo boas cores como deveriam aparecer. No entanto, quando inicializo a partir da partição EFI, vejo pouca profundidade de cor.

Esta não é uma configuração de cores do X Server, pois eu posso ver a diferença entre 16 bits e 24 bits, mas nenhuma é uma cor perfeitamente reproduzida.

ComopossoconsertaraexibiçãoquandoeuinicializousandooEFI?

Apasta/bootécomoabaixoe/boot/efiéumapartiçãoseparada.

.├──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

Saídadecat/var/log/Xorg.0.log|grep-idepth:

"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
    
por Lord Loh. 17.03.2013 / 02:40

3 respostas

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

A execução do comando acima corrige as cores. Graças aos links apontados por Mike C. Acho que vou colocar esses em meus scripts de inicialização. Infelizmente, ainda não sei quais registros estou alterando.

    
por Lord Loh. 20.03.2013 / 06:02
1

aqui está o que eu fiz para cuidar disso (então eu não tenho que fazer isso manualmente): Certifique-se de fazer isso com direitos de 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

e em /etc/lightdm/lightdm.conf - adicione uma linha à seção SeatDefaults :

[SeatDefaults]
display-setup-script=/etc/lightdm/reset_screen.sh

Agora - será definido sempre que o lightdm começar.

    
por Smurphy 30.04.2013 / 13:49
1

Eu usei: sudo intel_reg_write 0x70008 0xC4000050

O uso de 0xC4002000 ainda apresentou alguns problemas de transparência. Por exemplo, a janela do terminal semitransparente ainda tinha cores de 16 bits.

    
por Märt 06.05.2013 / 15:55