Bug 99351 - Screen looks strange
Summary: Screen looks strange
Status: RESOLVED DUPLICATE of bug 57527
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/openchrome (show other bugs)
Version: unspecified
Hardware: x86 (IA32) All
: lowest minor
Assignee: Kevin Brace
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-10 21:19 UTC by Gajdos Tamás
Modified: 2017-01-22 20:54 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
1) What I see. (904.25 KB, image/jpeg)
2017-01-10 21:19 UTC, Gajdos Tamás
no flags Details
2 Max/min (919.26 KB, image/jpeg)
2017-01-10 21:21 UTC, Gajdos Tamás
no flags Details
xorg.conf on 17.04 (742 bytes, text/plain)
2017-01-10 21:23 UTC, Gajdos Tamás
no flags Details
Xorg.0.log (39.83 KB, text/x-log)
2017-01-10 21:24 UTC, Gajdos Tamás
no flags Details
xorg.conf from Lubuntu 16.04.1 (534 bytes, text/plain)
2017-01-10 21:33 UTC, Gajdos Tamás
no flags Details

Description Gajdos Tamás 2017-01-10 21:19:45 UTC
Created attachment 128867 [details]
1) What I see.

Dear Developers,

I am trying to bring my old laptop (Fujistu Siemens Amilo L7320) back to life. It has a Via Unichrome GPU (I think P4M800). I hope you can give me some advice, how I can solve this problem.

My problem is with the display (see attached picture). It looks like it has a strange layer of a static color noise. The pattern only changes a bit between reboots and if I maximize/minimize an application (see second attached picture). (On FreeBSD 10.x it even got stanger, I saw a Windows XP logo on this "noise layer".) With the VESA driver, I don't have this issue.

With XP and Ubuntu 10.04 I don't have this issue. I think from Xubuntu 12.04 to 16.04 the VESA driver was used on my laptop, so I don't know when it went wrong.

Now I tried FreeBSD 10.2 and 10.3 with the unichrome driver, and Lubuntu 17.04 (to test unichrome v0.5.0) but I got the same results for each of them. This screen issue. If I switch to VESA, this layer disappears.

I included my current xorg.conf, which I wrote to enable openchrome driver on 17.04 and correct the screen resolution for the laptop.
(I had to add some extra modules, because X failed to start. The problem in Xorg.0.log was "undefined symbol:" like shadowremove, vgahwfreehwrec, ... These were not loaded automatically. I also tested some additional options suggested by forums and the man page, but they are now commented out.)

I included my latest Xorg.0.log also.

Can you give me some advice what to try? Or how to debug this problem?

I will test the machine with Lubuntu 12,04, 14.04 and 16,04. Maybe I can narrow down which versions are working and which aren't and give a follow-up. 

Thank you for reviving the the openchrome project.

Regards, Thomas
Comment 1 Gajdos Tamás 2017-01-10 21:21:57 UTC
Created attachment 128868 [details]
2 Max/min
Comment 2 Gajdos Tamás 2017-01-10 21:23:12 UTC
Created attachment 128869 [details]
xorg.conf on 17.04
Comment 3 Gajdos Tamás 2017-01-10 21:24:01 UTC
Created attachment 128870 [details]
Xorg.0.log
Comment 4 Gajdos Tamás 2017-01-10 21:33:23 UTC
Created attachment 128871 [details]
xorg.conf from Lubuntu 16.04.1

I almost forgot, I started with a Lubuntu 16.10 before updated to 17.04. The laptop showed the same noisy layer.with yakkety version (openchrome 0.3.3+git20160310-1) I included that xorg.conf too.
Comment 5 Gajdos Tamás 2017-01-11 11:01:26 UTC
Lubuntu 12.04 works. Even after applying all updates.
xerver-xorg-video-openchrome: 0.2.904+svn1050-1ubuntu0.1
linux-generic: 3.2.0.120.135

Lubuntu 12.04+Quantal HWE does not. Produces the issue.
xserver-xorg-video-openchrome-lts-quantal: 0.3.1-0ubuntu1~precise3
Kernel: 3.5.0.54.59
Comment 6 Kevin Brace 2017-01-12 00:26:39 UTC
Hi Thomas,

Okay, my guess is you may have to be ready to compile the latest OpenChrome from the Git repository, and see what happens.

https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/

Here is the detailed instructions on how to do it.

https://lists.freedesktop.org/archives/openchrome-users/2016-February/007237.html

I do not currently own a UniChrome Pro based laptop. so that is part of the reason why I was not aware of the weird screen you are seeing.
That being said, it is possible that the screen is fine with OpenChrome Version 0.2.906 (or 904) that shipped with Ubuntu 10.04 and 12.04, but not with Version 0.3.3 that shipped with Ubuntu 14.04 and possibly 16.04.0.
I believe Canonical recently took Version 0.5 code since Debian people "finally" moved away from Version 0.3.3. (I tried to get one of their developer to do this, but he refused in April 2016.)
A lot of changes happened between the two, and I was not involved in the project during that period.
That being said, I am very interested in fixing the bug, but you will have to be aware that I do not own the exact same equipment you currently have.
Other than trying out the latest pre-Version 0.6 Git repository code, you will need to narrow down the version that broke your screen.
We will also be using via_reg_dump tool to figure out how the display registers are being set.
Comment 7 Gajdos Tamás 2017-01-12 15:49:29 UTC
Hi Kevin,

Thanks for the guide. I followed it and compiled/installed OpenChrome with debugging enabled, and happy to report that I see no screen problem on Lubuntu 12.04.

$ sed -e 's/\[.*\]//' /var/log/Xorg.0.log | grep -A 3 "openchrome"
 (II) LoadModule: "openchrome"
 (II) Loading /usr/lib/xorg/modules/drivers/openchrome_drv.so
 (II) Module openchrome: vendor="http://www.freedesktop.org/wiki/Openchrome/"
 	compiled for 1.11.3, module version = 0.5.180
 	Module class: X.Org Video Driver
        ABI class: X.Org Video Driver, version 11.0

The current xorg.xonf is very minimal:
Section "Device"
	Identifier	"CardVia"
	Driver	"openchrome"
#	Option	"AccelMethod"	"EXA"
#	Option  "SWCursor"	"True"
EndSection

Note: I also tested AccelMethod "EXA" on openchrome 0.2.904 yesterday, it was okay, but I got some minor artifacts.

What debug information, outputs do you require?

I can try later a newer HWE (i.e. quantal 12.04.2), and install the latest OpenChrome there.
Comment 8 Kevin Brace 2017-01-13 18:14:49 UTC
(In reply to Gajdos Tamás from comment #7)

Hi Thomas,

> Hi Kevin,
> 
> Thanks for the guide. I followed it and compiled/installed OpenChrome with
> debugging enabled, and happy to report that I see no screen problem on
> Lubuntu 12.04.
> 
> $ sed -e 's/\[.*\]//' /var/log/Xorg.0.log | grep -A 3 "openchrome"
>  (II) LoadModule: "openchrome"
>  (II) Loading /usr/lib/xorg/modules/drivers/openchrome_drv.so
>  (II) Module openchrome: vendor="http://www.freedesktop.org/wiki/Openchrome/"
>  	compiled for 1.11.3, module version = 0.5.180
>  	Module class: X.Org Video Driver
>         ABI class: X.Org Video Driver, version 11.0
> 
> The current xorg.xonf is very minimal:
> Section "Device"
> 	Identifier	"CardVia"
> 	Driver	"openchrome"
> #	Option	"AccelMethod"	"EXA"
> #	Option  "SWCursor"	"True"
> EndSection
> 
> Note: I also tested AccelMethod "EXA" on openchrome 0.2.904 yesterday, it
> was okay, but I got some minor artifacts.
> 
> What debug information, outputs do you require?
> 
> I can try later a newer HWE (i.e. quantal 12.04.2), and install the latest
> OpenChrome there.

Okay, I am glad the latest OpenChrome is now working fine.
The thing is, due to the code condition of where OpenChrome used to be and is now, inevitably we will have to handle its support only on a rolling release basis.
What this means is that, we (In practice, it should be "I." I am really the only one writing the code and doing validation, and most technical support is done by me as well.) cannot support or fix past releases.
The current release is the only version we support, and the last official version is Version 0.5 released in July 2016.
In practice, only the latest code in the Git repository is what we really care about.
The past releases are only useful for pointing out regression of the code, and if it used to work properly in the past release, but no longer works in the current release or latest code, we will fix the latest code so that it will work like it did in the past releases.
We do maintain code backward compatibility all the way to X.Org Server 1.7 officially (i.e., Ubuntu 10.04 LTS), and in practice, OpenChrome code can be compiled against X.Org Server 1.4 as well. (i.e., Ubuntu 8.04 LTS)
That being said, there are issues with rendering on X.Org Server 1.4 under Ubuntu 8.04 LTS, so it is not really that useful for such an old release of X.Org Server.
What this all means is that, if one wants to use OpenChrome, you will need to use the latest version even if the OS you are using is rather dated. (i.e., Ubuntu 10.04 LTS)
But, unlike other device driver projects, we will not drop code support for older OSes in exchange.
Mode setting code in OpenChrome DDX will stay there indefinitely even when the next generation OpenChrome DRM is someday mainlined with the Linux kernel.
    Another thing that might leading to some confusion is that the official homepage of the OpenChrome Project has not been updated for a while (i.e. 3 years) because I do not really have much ties with the past developers, and the homepage was done by previous maintainers / developers.
    Regarding EXA, that's the only acceleration architecture the latest code supports since XAA code was removed between Version 0.3.2 and 0.3.3.
I believe the EXA is in very good condition, and I personally have not seen rendering issues with the latest code.
Please note that I have never changed the rendering code since I got involved in the project, and I have only been involved in rewriting initialization and display detection code.
And again, due to our rolling release support policy, we will not fix Version 0.2.904's EXA related issues.
    Regarding Canonical's device driver update policy, I was not really able to get them to update the still supported older releases' device driver like Ubuntu 12.04 LTS. (Lubuntu 12.04 still benefits from Ubuntu 12.04 LTS being an LTS release.) when I tried with one of their developers
Apparently, they have a policy of not offering new device drivers even if the device driver author assures them that it will work and also improves the stability of past OS releases.
I think I may have to learn to create a PPA repository, in order to support Ubuntu 12.04 LTS / 14.04 LTS / 16.04 LTS users since I develop OpenChrome actively on Lubuntu 12.04.
    I do not really use a xorg.conf file except to test 16-bit color mode.
The current OpenChrome can run without xorg.conf.
That being said, if you want to test dual screen (i.e., flat panel + VGA), you may have to activate software cursor like you have in your xorg.conf. (The example you showed to me has it commented out.)
This is due to the fact that P4M800 Pro chipset apparently having the ability to display only one hardware cursor (It is strictly speaking called hardware icon or HI by VIA Technologies.) even if two screens are being mirrored.
Very likely, there will have to be some additional code in the future that forces software cursor use when two screens are being used.
So, for your xorg.conf, you can drop "Identifier" and "Driver" options for Ubuntu 10.04 LTS or later, but you may want to keep the software cursor option just in case you want to use dual screen.
If you want to use dual screen mode, especially left and right wide screen, I recommend that you use it in 16-bit color mode.
This is due to the hardware limitation of Chrome IGP that it can handle only 2048 dots in the X direction when 32-bit color mode is in use, and in practice, it works okay only up to 2044 dots.
I just committed a new version (Version 0.5.181) that fixes an issue with wide screen, so if you want to try, use Version 0.5.181.
But the resolution restriction is more reasonable in 16-bit color mode since 4088 dots in the X direction is now allowed.
To do this, you can install ARandR from Synaptic Package Manger, and you can now do wide screen display.
Comment 9 Gajdos Tamás 2017-01-14 15:47:38 UTC
Hi Kevin,

My first guess was that my problem is EXA related, because with XAA there was no issue. But I wasn't able to reproduce the issue on 0.2.904 with AccelMethod "EXA".

I did an upgrade to Lubuntu 14.04 and Lubuntu 16.04. Both times the issue appeared. But after compiling the openchrome from your git and installing it, everything returned to normal. No strange layer.

Maybe later I will do an update to 16.10 and maybe to 17.04 again to see if the problem is solvable there also with the git version.

I will mark this bug resolved/fixed.

Thank you for the advices, infos and for the working driver!
Comment 10 Kevin Brace 2017-01-22 18:41:56 UTC
(In reply to Gajdos Tamás from comment #9)

Hi Thomas,

I am glad the stuff is working correctly with the latest code.
While I have not figured out the procedure yet, I am planning to create an Ubuntu PPA (Personal Package Archive) for OpenChrome.
That should make it easier to upgrade OpenChrome in the future.


> Hi Kevin,
> 
> My first guess was that my problem is EXA related, because with XAA there
> was no issue. But I wasn't able to reproduce the issue on 0.2.904 with
> AccelMethod "EXA".
> 
> I did an upgrade to Lubuntu 14.04 and Lubuntu 16.04. Both times the issue
> appeared. But after compiling the openchrome from your git and installing
> it, everything returned to normal. No strange layer.
> 
> Maybe later I will do an update to 16.10 and maybe to 17.04 again to see if
> the problem is solvable there also with the git version.
> 
> I will mark this bug resolved/fixed.
> 
> Thank you for the advices, infos and for the working driver!
Comment 11 Gajdos Tamás 2017-01-22 20:54:30 UTC

*** This bug has been marked as a duplicate of bug 57527 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.