* [devel] fglrx: screen corrupt after switch from console [workaround]
@ 2004-04-07 21:03 Pavel S. Khmelinsky
2004-04-08 3:21 ` Alexey Morozov
0 siblings, 1 reply; 3+ messages in thread
From: Pavel S. Khmelinsky @ 2004-04-07 21:03 UTC (permalink / raw)
To: ALT Devel discussion list
При использовании драйвера fglrx для карточек ATI Radeon на
большинтсве конфигураций наблюдается следующий эффект: если
переключится в консоль а потом обратно в иксы, портятся цвета и
шрифты на экране. Лечится как правило запуском fgl_glxgears.
И что я заметил, если запустить fireglcontrol и во вкладке
Adjustments поставить ползунки в крайнее левое положение
(значение 0.10) то изображение гамму не изменит, зато при
переключение в консоль и обратно оно не будет порится.
Поковырявшись в сорцах fglrx_panel и подсмотрев что происходит
при изменении гаммы я написал простенькую программку.
hmepas@localhost BUILD/fglrx_glx-3.7.6/fglrx_panel $ cat
gamma_corr.cpp
#include <qlabel.h>
#include <qtabdialog.h>
#include <qfile.h>
#include <stdio.h>
#include "FireGLControl.h"
#include "watermark.xpm"
#include "buttons.xpm"
#include "FGLRXExtensions.h"
extern "C" {
bool ExtGetDriverData(FGLRXDriverDataPtr pDriverData);
bool ExtSetGamma(FGLRXGammaSettingsPtr pGammaSettings);
}
QString InstallPath ;
int main ( )
{
bool RetC=FALSE ;
FGLRXGammaSettingsRec GammaSettings;
GammaSettings.Monitor = 0;
GammaSettings.ulGamma = 10496010;
/* (unsigned long) ((((unsigned long)(m_Gamma.red
* 100)) << 20 ) |
(((unsigned long)(m_Gamma.green
* 100)) << 10 ) |
(((unsigned long)(m_Gamma.blue
* 100))));*/
RetC = ExtSetGamma(&GammaSettings);
// printf("Second method\tGammaSettings.ulGamma:
%X\n",GammaSettings.ulGamma);
return 0;
}
Важно! Работает для Screen 0! Запускайте на первых иксах.
Для компиляции ее нужно положить в папку fglrx_panel, при сборке
пакета fglrx_tools (после rpm -i fglrx_glx-3.7.6-alt1.src.rpm &&
rpm -bc ~/RPM/SPECS/fglrx_glx.spec ).
Собирается строчками:
g++ -c -O2 -fno-strength-reduce -funsigned-char -Wall -W -Dlinux
-DFGLRX_USE_XEXTENSIONS -DFGLRX_OGL_INFO -DQT_NO_STL
-I/usr/lib/qt3//include -I. -I./include_dummy gamma_corr.cpp
g++ FGLRXExtensions.o ATITVOExtensions.o gamma_corr.o Sheet.o
Page.o InfoPage.o DualScreenPage.o AdjustPage.o TVoutAdjustPage.o
BoardInfo.o moc_Sheet.o moc_Page.o moc_InfoPage.o
moc_DualScreenPage.o moc_AdjustPage.o moc_TVoutAdjustPage.o -o
gamma_corr -L/usr/lib/qt3//lib -L/usr/X11R6/lib -lqt -lGLU -lGL
-lXmu -lICE -lSM -ldl -lXext -lX11 -lm -lXinerama -lXrender
-lfreetype -lXxf86vm -L/usr/X11R6/lib -lXft
Собирать естественно надо после запуска make all в этой папке.
Я эту програмку прописал на запуск вместе с иксами -- как
следствие экран не портится. Хотя не факт что это решение будет
работать у кого-то другого, но у меня работает.
Вот такие вот дела, за корявость написания/компиляции прошу не
ругать, не ставил своей целью написать готовую обособленную
утилиту. Это всего-лишь элюстрация решения, вмоем случае,
проблемы с порчей экрана, которая, возможно, поможет кому-нибудь
более опытному найти грамотное и более правильное решение этой
проблемы.
Готовую программу можно скачать здесь
http://www.hmepas.yauza.ru/gamma_corr.gz (~124Kb)
Осторожно! Апач отдает ее как text/plain поэтому не качайте
браузером, лучше
wget http://www.hmepas.yauza.ru/gamma_corr.gz
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] fglrx: screen corrupt after switch from console [workaround]
2004-04-07 21:03 [devel] fglrx: screen corrupt after switch from console [workaround] Pavel S. Khmelinsky
@ 2004-04-08 3:21 ` Alexey Morozov
2004-04-08 8:14 ` Pavel S. Khmelinsky
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Morozov @ 2004-04-08 3:21 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 955 bytes --]
On Thu, Apr 08, 2004 at 01:03:44AM +0400, Pavel S. Khmelinsky wrote:
> При использовании драйвера fglrx для карточек ATI Radeon на
> большинтсве конфигураций наблюдается следующий эффект: если
> переключится в консоль а потом обратно в иксы, портятся цвета и
> шрифты на экране.
(Меланхолично) портятся. Я даже репортил про это ATI'шникам
А еще второй X сервер не запустить. Точнее, запустить, но при
переключении на первый машина вешается. Тоже репортил.
> Лечится как правило запуском fgl_glxgears.
Вау!
> И что я заметил, если запустить fireglcontrol и во вкладке
> Adjustments поставить ползунки в крайнее левое положение
> (значение 0.10) то изображение гамму не изменит, зато при
> переключение в консоль и обратно оно не будет порится.
Круто! А если отрепортить об этом в ATI?
> Поковырявшись в сорцах fglrx_panel и подсмотрев что происходит
> при изменении гаммы я написал простенькую программку.
Спасибо!
Сегодня дома проверять буду.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] fglrx: screen corrupt after switch from console [workaround]
2004-04-08 3:21 ` Alexey Morozov
@ 2004-04-08 8:14 ` Pavel S. Khmelinsky
0 siblings, 0 replies; 3+ messages in thread
From: Pavel S. Khmelinsky @ 2004-04-08 8:14 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey Morozov wrote:
> On Thu, Apr 08, 2004 at 01:03:44AM +0400, Pavel S. Khmelinsky wrote:
>
>>При использовании драйвера fglrx для карточек ATI Radeon на
>>большинтсве конфигураций наблюдается следующий эффект: если
>>переключится в консоль а потом обратно в иксы, портятся цвета и
>>шрифты на экране.
>
> (Меланхолично) портятся. Я даже репортил про это ATI'шникам
> А еще второй X сервер не запустить. Точнее, запустить, но при
> переключении на первый машина вешается. Тоже репортил.
>
>>Лечится как правило запуском fgl_glxgears.
> Вау!
Это я от vsu узнал.
>
>>И что я заметил, если запустить fireglcontrol и во вкладке
>>Adjustments поставить ползунки в крайнее левое положение
>>(значение 0.10) то изображение гамму не изменит, зато при
>>переключение в консоль и обратно оно не будет порится.
>
> Круто! А если отрепортить об этом в ATI?
Ага а они его в > /dev/null . Поповоду экрана они и так в курсе,
а мое решение не самое правильное.
Тут еще надо добавить что при любой гамме выставленной в
firecontrol и не равной 1.0 изображение не попртится, т.е. если
число получаемое
(unsigned long) ((((unsigned long)(1 * 100)) << 20 ) |
(((unsigned long)(1 * 100)) << 10 ) |
(((unsigned long)(1 * 100))));
заменять на
(unsigned long) ((((unsigned long)(0.1 * 100)) << 20 ) |
(((unsigned long)(0.1 * 100)) << 10 ) |
(((unsigned long)(0.1 * 100))));
то визуально ничего не изменится а картинка портится перестанет.
На этот предмет можно будет пропатчить firecontrol .
>>Поковырявшись в сорцах fglrx_panel и подсмотрев что происходит
>>при изменении гаммы я написал простенькую программку.
>
> Спасибо!
>
> Сегодня дома проверять буду.
Проверяйте, если и Вам поможет, то можно будет доводить до ума и
опакечивать или встраивать в fglrx_tools. Хотя может и не помочь
особо глубоко не тестировал, а конфиги мои уже нельзя назвать общими.
--
Pavel S. Khmelinsky <hmepas@yauza.ru>
System Administrator,
ISP Yauza Telecom
http://www.yauza.ru
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-04-08 8:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-07 21:03 [devel] fglrx: screen corrupt after switch from console [workaround] Pavel S. Khmelinsky
2004-04-08 3:21 ` Alexey Morozov
2004-04-08 8:14 ` Pavel S. Khmelinsky
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git