From: "Pavel S. Khmelinsky" <hmepas@altlinux.ru> To: ALT Devel discussion list <devel@altlinux.ru> Subject: [devel] fglrx: screen corrupt after switch from console [workaround] Date: Thu, 08 Apr 2004 01:03:44 +0400 Message-ID: <40746CB0.9050405@altlinux.ru> (raw) При использовании драйвера 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
next reply other threads:[~2004-04-07 21:03 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-04-07 21:03 Pavel S. Khmelinsky [this message] 2004-04-08 3:21 ` Alexey Morozov 2004-04-08 8:14 ` Pavel S. Khmelinsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=40746CB0.9050405@altlinux.ru \ --to=hmepas@altlinux.ru \ --cc=devel@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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