Eu não tenho exatamente o mesmo problema, mas eu encontrei alguns problemas com o xorg quando alterno o usuário entre sessões abertas:
PROBLEMA: tenho sessão com 1600x1050 e mudo para a sessão de outro usuário que foi previamente definida com a mesma resolução de 1600x1050. Mas quando eu mudo para esta sessão, a tela recebe 1280x1024 e por alguma razão o tamanho da sessão está muito errado (é maior que a resolução da tela e não consigo mover ou clicar na maioria das coisas, então tenho que reiniciar todo o Xorg).
SOLUÇÃO ALTERNATIVA: Felizmente, encontrei uma maneira de resolvê-lo de uma maneira complicada: Altere o nome do arquivo de resolução com o seu arquivo de resolução.
-
Instalar o comando get-edid:
sudo apt-get install read-edid
-
Crie um arquivo bin com informações edid:
sudo get-edid > 1600x1050.bin
-
Crie uma pasta para armazenar este arquivo:
sudo mkdir /lib/firmware/edid
-
Copie o arquivo:
sudo cp 1600x1050.bin /lib/firmware/edid
-
Edite o grub para editar o comando linux para carregar este arquivo em kms:
sudoedit /etc/default/grub
Editar linha:
GRUB_CMDLINE_LINUX_DEFAULT="drm_kms_helper.edid_firmware=edid/1600x1050.bin quiet"
Altere seu arquivo name.bin e execute
sudo update-grub
- Reinicie e teste.
Por alguma razão, funcionou muito bem para mim.
Eu tenho este cartão e motorista:
fglrxinfo
visor:: 0 visor: 0
Cadeia de fornecedores do OpenGL: Advanced Micro Devices, Inc.
String de renderizador OpenGL: AMD Radeon HD 6450
Sequência de versão do OpenGL: 4.2.12002 Contexto do perfil de compatibilidade 9.012
As minhas informações de edid abaixo, mostradas depois de executar o comando # parse-edid < 1600x1050.bin
:
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fc
Identifier "22T41-H-AN"
VendorName "KTC"
ModelName "22T41-H-AN"
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 15-68
VertRefresh 49-61
# Max dot clock (video bandwidth) 150 MHz
# DPMS capabilities: Active off:no Suspend:no Standby:no
Mode "1280x720" # vfreq 60.000Hz, hfreq 45.000kHz
DotClock 74.250000
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
Mode "1680x1050" # vfreq 59.883Hz, hfreq 64.674kHz
DotClock 119.000000
HTimings 1680 1728 1760 1840
VTimings 1050 1053 1059 1080
Flags "-HSync" "+VSync"
EndMode
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
EndSection
kernel.log:
2139 Oct 2 21:45:06 dans679-computer kernel: [ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.8.0-30-generic root=UUID=939b3111-4906-46ae-9ad7-7faa783d490d ro drm_kms_helper.edid_firmware=edid/1600x1050.bin quiet
Eu estava procurando outros relatórios de bugs semelhantes no launchpad, mas ainda procurando o correto. Eu acho que esse problema afeta muitas coisas no KMS (switch de modo Kernel), não apenas alternando entre as sessões do usuário, também jogos em tela cheia com resolução diferente e outras coisas.
É muito difícil encontrar a maneira correta de reportar este problema, eu gostaria de ter alguma ajuda com alguma equipe Xorg / Kernel.
Acho que isso poderia ser corrigido em algum nível baixo, mas também poderia ser corrigido com esse tipo de solução de maneira mais fácil para os usuários: por exemplo, adicionando algum script para testar se EDID foi detectado ou não e perguntando ao usuário se eles querem deixar o script obter as informações edid e passá-las para o comando kernel, então perguntar se elas estão funcionando bem e se o usuário quer manter essas configurações.
Eu encontrei a maioria dessas informações em A página de configuração do modo de kernel do wiki do Arch
Estou postando em:
link