Segfault on X startup with VX900

Bug #1554004 reported by Dariusz Gadomski
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openchrome
Fix Released
Medium
xserver-xorg-video-openchrome (Ubuntu)
Fix Released
High
Dariusz Gadomski
Trusty
Fix Released
High
Unassigned
Wily
Fix Released
High
Unassigned

Bug Description

[Impact]

 * Prevents from using X at all with some VIA chipsets - a segfault occurs and is logged in Xorg.log

[Test Case]

 * Start X on a affected hw (e.g. VX900).

 * Examine Xorg.log after crash.

[Regression Potential]

 * This is a bug fixed upstream (https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=ecb1695ac2de1d840c036f64b5b71602e0f522a4).

 * The fix is a one-liner with minimal impact.

[Other Info]

 * Original bug description:

There is a segfault in Xorg.log visible when starting X on Trusty 14.04 with the following hardware:

00:01.0 VGA compatible controller [0300]: VIA Technologies, Inc. VX900 Graphics [Chrome9 HD] [1106:7122] (prog-if 00 [VGA controller])
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
        Region 2: Memory at f0000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at febf0000 [disabled] [size=64K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000 Data: 0000

Snip of the Xorg.log:
[ 549.260] (EE) Backtrace:
[ 549.260] (EE) 0: /usr/bin/X (xorg_backtrace+0x4f) [0xb77551bf]
[ 549.261] (EE) 1: /usr/bin/X (0xb75ac000+0x1acfa4) [0xb7758fa4]
[ 549.261] (EE) 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb7589410]
[ 549.261] (EE) 3: /usr/lib/xorg/modules/drivers/openchrome_drv.so (0xb6c84000+0x13ccc) [0xb6c97ccc]
[ 549.261] (EE) 4: /usr/bin/X (InitOutput+0xb43) [0xb762f623]
[ 549.261] (EE) 5: /usr/bin/X (0xb75ac000+0x410c7) [0xb75ed0c7]
[ 549.262] (EE) 6: /usr/bin/X (0xb75ac000+0x2ae1e) [0xb75d6e1e]
[ 549.262] (EE) 7: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [0xb7197a83]
[ 549.262] (EE) 8: /usr/bin/X (0xb75ac000+0x2ae54) [0xb75d6e54]
[ 549.262] (EE)
[ 549.262] (EE) Segmentation fault at address 0x0
[ 549.262] (EE)
[ 549.263] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 549.263] (EE)
[ 549.263] (EE)
[ 549.263] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 549.263] (EE)
[ 549.269] (EE) Server terminated with error (1). Closing log file.

Revision history for this message
In , Dariusz Gadomski (dgadomski) wrote :
Download full text (5.6 KiB)

Created attachment 121841
Full Xorg log

I am experiencing a Xorg error while using the latest git version of the driver with the following device (with VendorId/ProductId present in src/via_id.c):

00:01.0 VGA compatible controller [0300]: VIA Technologies, Inc. VX900 Graphics [Chrome9 HD] [1106:7122] (prog-if 00 [VGA controller])
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
        Region 2: Memory at f0000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at febf0000 [disabled] [size=64K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000 Data: 0000

And here's what I got in Xorg.log:
[ 549.070] (==) Matched openchrome as autoconfigured driver 0
[ 549.070] (II) LoadModule: "openchrome"
[ 549.071] (II) Loading /usr/lib/xorg/modules/drivers/openchrome_drv.so
[ 549.071] (II) Module openchrome: vendor="http://openchrome.org/"
[ 549.086] (II) OPENCHROME: Driver for VIA Chrome chipsets: CLE266, KM400/KN400,
[ 549.088] (!!) For support, please refer to http://www.openchrome.org/.
[ 549.089] (EE) open /dev/dri/card0: No such file or directory
[ 549.090] (EE) open /dev/fb0: No such file or directory
[ 549.090] (II) CHROME(0): VIAPreInit
[ 549.090] (II) CHROME(0): VIAGetRec
[ 549.090] (--) CHROME(0): Chipset: VX900
[ 549.091] (--) CHROME(0): Chipset revision: 0
[ 549.251] (EE) CHROME(0): [drm] Failed to open DRM device for pci:0000:00:01.0: No such file or directory
[ 549.253] (--) CHROME(0): Probed amount of VideoRAM = 131072 kB
[ 549.253] (II) CHROME(0): VIAMapMMIO
[ 549.253] (--) CHROME(0): mapping MMIO @ 0xfc000000 with size 0xd000
[ 549.253] (--) CHROME(0): mapping BitBlt MMIO @ 0xfc200000 with size 0x200000
[ 549.253] (II) CHROME(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0
[ 549.253] (II) CHROME(0): VIAMapFB
[ 549.253] (--) CHROME(0): mapping framebuffer @ 0xf0000000 with size 0x8000000
[ 549.254] (--) CHROME(0): Frame buffer start: 0xaea5a000, free start: 0x0 end: 0x8000000
[ 549.254] (==) CHROME(0): Depth 24, (--) framebuffer bpp 32
[ 549.255] (==) CHROME(0): RGB weight 888
[ 549.255] (==) CHROME(0): Default visual is TrueColor
[ 549.255] (II) CHROME(0): VIASetupDefaultOptions - Setting up default chipset options.
[ 549.255] (==) CHROME(0): Shadow framebuffer is disabled.
[ 549.255] (==) CHROME(0): Hardware acceleration is enabled.
[ 549.255] (==) CHROME(0): Using EXA acceleration architecture.
[ 549.255] (==) CHROME(0): EXA composite acceleration enabled.
[ 5...

Read more...

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :

Hi Dariusz,

This looks like a duplicate of Bug 92711 and Bug 94130 even though the chipset is different.
I am not sure where you exactly obtained the code, but I can tell from Xorg.0.log that the code you used is not the latest master branch code.
I wrote a tutorial on how to install the latest master branch code, so please follow the instructions.

https://lists.freedesktop.org/archives/openchrome-devel/2016-February/001753.html

Let me know what happens with the latest master branch code.

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :

Hi Dariusz,

Okay, I just noticed that you have a Canonical e-mail address.
I am the project maintainer for OpenChrome at this point (I obtained commit privilege about 2 weeks ago.) since no one other than myself has done commits for the past 8 months or so.

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

I am getting OpenChrome Version 0.3.4 ready for release within a week, and I will like to know how I can get Canonical to adopt it.

https://lists.freedesktop.org/archives/openchrome-devel/2016-February/001745.html

This is what I will like to see happen.

- For those Ubuntu with OpenChrome Version 0.3.3, please replace it with OpenChrome Version 0.3.4.

This includes Ubuntu 14.04 LTS and later releases.
Version 0.3.3 has the very bug you are dealing with, and this bug has been fixed between the current master branch and when Version 0.3.3 was released.

- For those Ubuntu with OpenChrome Version 0.2.x, please hold off from updating it with OpenChrome Version 0.3.4 at this point

I am talking about Ubuntu 12.04 LTS specifically.
This is due to the fact that there is a bug in the code that affects computers with a DVI-I output (i.e., a DVI connector that has both DVI and VGA signals come out of it), and more specifically, if DVI to VGA adapter is used.
This feature was working in OpenChrome Version 0.2.904 that shipped with Ubuntu 12.04 LTS.
Unfortunately, OpenChrome Version 0.3.x appear to have broken it.

https://bugs.freedesktop.org/show_bug.cgi?id=91966

It is taking a long time in fixing this bug due to the fact that the person who reported it uses a thin client (i.e., no hard drive), and he needs to update his SD card to boot PuppyLinux (Ubuntu based).
I do not really have a functioning computer with VIA Technologies IGP that comes with DVI-I at this point, so I am not really able to fix it in a timely manner.
Version 0.3.4 will likely ship without fixing this bug.
I will try to fix this bug in the future release.

Revision history for this message
In , Bartosz Kosiorek (gang65) wrote :

Hello Dariusz.
Unfortunately the backtrace is not so useful as it could be with debug symbols.

Please install following packages, reproduce crash and paste Xorg.0.log file.

  sudo apt-get install xserver-xorg-core-dbg xserver-xorg-video-openchrome-dbg

Also I would recommend to build latest openchrome version from git, with Debug symbols enabled. It could be easily done with following commands:

    git clone git://anongit.freedesktop.org/openchrome/xf86-video-openchrome
    cd xf86-video-openchrome
    ./autogen.sh --prefix=/usr --enable-debug --enable-xv-debug
    make
    sudo make install

More information how to build and install you could find at:
https://www.freedesktop.org/wiki/Openchrome/Installation/

or:

https://help.ubuntu.com/community/OpenChrome

Revision history for this message
In , Dariusz Gadomski (dgadomski) wrote :

Created attachment 121928
Updated Xorg log produced using the git head

Thank you Bartosz. Unfortunately the debugging symbols were already installed - despite this fact the stacktrace remains cryptic.

The latest HEAD from git (built according to https://lists.freedesktop.org/archives/openchrome-devel/2016-February/001753.html) produces a different Xorg (update attached). However, the card remains unrecognized, but this time no segfault occurs - hopefully this was fixed by https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=ecb1695ac2de1d840c036f64b5b71602e0f522a4

Revision history for this message
In , Dariusz Gadomski (dgadomski) wrote :

Kevin, I will appreciate taking a look at the updated Xorg.log - the segfault is gone, but the driver still does not recognize the card.

Regarding your expectations towards 0.3.4 version adoption in Ubuntu: unfortunately the Stable Release Updates policy (https://wiki.ubuntu.com/StableReleaseUpdates) prevents upgrading packages during the lifetime of the stable releases. The only available option seems to be backporting individual changes (in response to reported bugs) to the version already available in a particular release.

Sadly, we also missed the opportunity to release it with 16.04 - as it has entered the feature freeze state.

I will check if there are any other options.

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :
Download full text (4.4 KiB)

(In reply to Dariusz Gadomski from comment #5)

Hi Dariusz,

> Kevin, I will appreciate taking a look at the updated Xorg.log - the
> segfault is gone, but the driver still does not recognize the card.
>
> Regarding your expectations towards 0.3.4 version adoption in Ubuntu:
> unfortunately the Stable Release Updates policy
> (https://wiki.ubuntu.com/StableReleaseUpdates) prevents upgrading packages
> during the lifetime of the stable releases. The only available option seems
> to be backporting individual changes (in response to reported bugs) to the
> version already available in a particular release.
>
> Sadly, we also missed the opportunity to release it with 16.04 - as it has
> entered the feature freeze state.
>
> I will check if there are any other options.

Thank you very much for getting back with me.
Please ignore the unknown device message you see in Xorg.0.log.
This occurs due to the use of a weird known device table inside OpenChrome.
I am not a fan of the use of something like this,
The code is gradually moving towards all automatic detection of display devices, but this will take some time to complete.
I am considering getting rid of this weird known device table in OpenChrome Version 0.3.5, but I will likely keep it in there for Version 0.3.4.
This is what the weird known device table looks like

_____________________________________________________________________________
. . .
    /*** VX900 ***/
    {"Simmtronics SIMM-PC VX900i", VIA_VX900, 0x1019, 0x3126, VIA_DEVICE_CRT},
    {"ECS VX900-I", VIA_VX900, 0x1019, 0x7C8E, VIA_DEVICE_CRT},
    {"Foxconn L740", VIA_VX900, 0x105B, 0x0CFD, VIA_DEVICE_LCD | VIA_DEVICE_CRT},
    {"HP T5550 Thin Client", VIA_VX900, 0x1106, 0x7122, VIA_DEVICE_CRT},
    {"Biostar Viotech 3200+", VIA_VX900, 0x1565, 0x120A, VIA_DEVICE_CRT},
    {"ASRock PV530", VIA_VX900, 0x1849, 0x7122, VIA_DEVICE_CRT},
    {"Fujitsu Futro A300", VIA_VX900, 0xA0A0, 0x080F, VIA_DEVICE_CRT},

    /* keep this */
    {NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
_____________________________________________________________________________

Looking at the link you provided, I feel like updating OpenChrome Version 0.3.3 is quite warranted based on the following clauses I saw in the link you provided.

___________________________________________________________________________
2.1. High-impact bugs

Stable release updates will, in general, only be issued in order to fix high-impact bugs. Examples of such bugs include:

. . .

- Bugs which represent severe regressions from the previous release of Ubuntu. This includes packages which are totally unusable, like being uninstallable or crashing on startup.

. . .

2.2. Other safe cases

In the following cases a stable release update is also applicable as they have a low potential for regressing existing installations but a high potential for improving the user experience, particularly for Long Term Support releases:

- Bugs which do not fit under above categories, but (1) have an obvi...

Read more...

Revision history for this message
In , Benno Schulenberg (bennoschulenberg) wrote :

(In reply to Kevin Brace from comment #6)
> If necessary, I can release OpenChrome Version 0.3.4 immediately,

I'd say: release as soon as possible. You can always release 0.3.5 a week later, or two, or whenever. There's not just Canonical to consider, there are likely also users of Arch and Debian and Gentoo and other distros who will grab the new version and test it. The earlier, the better.

Revision history for this message
In , Huangran (huangran) wrote :
Download full text (5.6 KiB)

Created attachment 121948
attachment-27653-0.html

Hi Kevin,

         Recent two days, I am looking into the UMS xf86-video-openchrome code and also be shocked by ViaCardID[] struct in Via_id.c file. Why does the UMS driver use this table to identify the board? I am also buying some old boards including VX700/VX855/VX900 and I found some boards(i.e., Wyse Thin Clients) are not in this list. So I can guess same error will be reported.

         So It seems this ViaCardID table will only bring faults instead of any good things. Why not remove it?

Thanks,

Frank

发件人: Openchrome-devel [mailto:<email address hidden>] 代表 <email address hidden>
发送时间: 2016年2月24日 12:15
收件人: <email address hidden>
主题: [Openchrome-devel] [Bug 94210] Unknown Card-Ids (7122|1458|D000), Chipset: VX900

Comment # 6 <https://bugs.freedesktop.org/show_bug.cgi?id=94210#c6> on bug 94210 <https://bugs.freedesktop.org/show_bug.cgi?id=94210> from <mailto:<email address hidden>> Kevin Brace

(In reply to Dariusz Gadomski from comment #5 <https://bugs.freedesktop.org/show_bug.cgi?id=94210#c5> )

Hi Dariusz,

> Kevin, I will appreciate taking a look at the updated Xorg.log - the
> segfault is gone, but the driver still does not recognize the card.
>
> Regarding your expectations towards 0.3.4 version adoption in Ubuntu:
> unfortunately the Stable Release Updates policy
> (https://wiki.ubuntu.com/StableReleaseUpdates) prevents upgrading packages
> during the lifetime of the stable releases. The only available option seems
> to be backporting individual changes (in response to reported bugs) to the
> version already available in a particular release.
>
> Sadly, we also missed the opportunity to release it with 16.04 - as it has
> entered the feature freeze state.
>
> I will check if there are any other options.

Thank you very much for getting back with me.
Please ignore the unknown device message you see in Xorg.0.log.
This occurs due to the use of a weird known device table inside OpenChrome.
I am not a fan of the use of something like this,
The code is gradually moving towards all automatic detection of display
devices, but this will take some time to complete.
I am considering getting rid of this weird known device table in OpenChrome
Version 0.3.5, but I will likely keep it in there for Version 0.3.4.
This is what the weird known device table looks like

_____________________________________________________________________________
. . .
    /*** VX900 ***/
    {"Simmtronics SIMM-PC VX900i", VIA_VX900, 0x1019, 0x3126,
VIA_DEVICE_CRT},
    {"ECS VX900-I", VIA_VX900, 0x1019, 0x7C8E,
VIA_DEVICE_CRT},
    {"Foxconn L740", VIA_VX900, 0x105B, 0x0CFD,
VIA_DEVICE_LCD | VIA_DEVICE_CRT},
    {"HP T5550 Thin Client", VIA_VX900, 0x1106, 0x7122,
VIA_DEVICE_CRT},
    {"Biostar Viotech 3200+", VIA_VX900, 0x1565, 0x120A,
VIA_DEVICE_CRT},
    {"ASRock PV530", VIA_VX900, 0x1849, 0x7122,
VIA_DEVICE_CRT},
    {"Fujitsu Futro A300", VIA_VX900, 0xA0A0, 0x080F,
VIA_DEVI...

Read more...

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :

(In reply to HuangRan from comment #8)

Hi Frank,

> Hi Kevin,
>
>
>
> Recent two days, I am looking into the UMS xf86-video-openchrome
> code and also be shocked by ViaCardID[] struct in Via_id.c file. Why does
> the UMS driver use this table to identify the board? I am also buying some
> old boards including VX700/VX855/VX900 and I found some boards(i.e., Wyse
> Thin Clients) are not in this list. So I can guess same error will be
> reported.
>
> So It seems this ViaCardID table will only bring faults instead of
> any good things. Why not remove it?
>
>
>
> Thanks,
>
> Frank

We could remove the table, or maybe for now, we could just disable it.
My view is that by in about 1 to 2 more releases after Version 0.3.4, the table will be removed or disabled.
I am just trying to avoid making substantial changes for soon to be released Version 0.3.4.
I am also considering getting rid of VESA BIOS Extension (VBE) support at the same time.
VBE support is not longer necessary since most devices can be detected automatically.
I still think that a small "quirk" table may be necessary (i.e., Linux kernel has it) in some cases, but only for very few devices that truly need it.
In a sense, this weird known device table is a very large quirk table, and I think it outlived its usefulness.

Revision history for this message
In , Huangran (huangran) wrote :

Hi Kevin,

   Sorry to reply previous mail directly instead Bugzilla which generates two copies of my reply.
   For that ViaCardID table, I think the only useful idea is for guys who wanted to invovle OpenChrome development to buy a board which is in that list:). I checked the RADEON KMS driver, actually when it determines whether the driver can support a board or not, it will see the deviceID and vendorID which will skip subDeviceID and subVendorID. So I suggest to disable this table too as you said.
   For quirk table, I also notice that in current KMS driver, sometimes we will use quirk table for some specific vendor's devices which we can adopt.
   For VBE, I see the log shows:
             "[ 1197.429] (==) CHROME(0): Will not enable VBE modes."
   So it seems VBE is not used anymore although the code is there, right?

Thanks,
Frank

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :

(In reply to HuangRan from comment #10)

Hi Frank,

> Hi Kevin,
>
> Sorry to reply previous mail directly instead Bugzilla which generates
> two copies of my reply.
> For that ViaCardID table, I think the only useful idea is for guys who
> wanted to invovle OpenChrome development to buy a board which is in that
> list:). I checked the RADEON KMS driver, actually when it determines whether
> the driver can support a board or not, it will see the deviceID and vendorID
> which will skip subDeviceID and subVendorID. So I suggest to disable this
> table too as you said.
> For quirk table, I also notice that in current KMS driver, sometimes we
> will use quirk table for some specific vendor's devices which we can adopt.
> For VBE, I see the log shows:
> "[ 1197.429] (==) CHROME(0): Will not enable VBE modes."
> So it seems VBE is not used anymore although the code is there, right?
>
> Thanks,
> Frank

The thing is, VBE code is still inside OpenChrome, and can be activated as an option.
Even as a backup, I still do not like its mere existence.
If people want to rely on VBE, they should use VESA device driver instead as a fallback.
There are other things that should be removed from the code like software cursor option, in my opinion, assuming that the code will always display mouse cursor correctly (This is not the case with Lubuntu 10.04. Even the software cursor is broken in Lubuntu 10.04).
    As a general rule, I do not really like legacy stuff that has outlived its usefulness.
VBE option and known device table are such examples.

Revision history for this message
In , Huangran (huangran) wrote :

Hi Kevin,

>
> The thing is, VBE code is still inside OpenChrome, and can be activated as
> an option.
Okay. So do you mean "vga=XXX" option in grub?

> Even as a backup, I still do not like its mere existence.
> If people want to rely on VBE, they should use VESA device driver instead as
> a fallback.
Agree on that. xf86-video-vesa can be used with VBE. And current new driver(i.e. Intel/ATI) does not apply VBE anymore. They have already has its CRTC/Encoder/Connector routines to initialize the port and video card.

> There are other things that should be removed from the code like software
> cursor option, in my opinion, assuming that the code will always display
> mouse cursor correctly (This is not the case with Lubuntu 10.04. Even the
> software cursor is broken in Lubuntu 10.04).
For SW cursor option, I suggest you keep it now. Because based on my experience before, for some cases(i.e. rotation), the HW cursor has the possibility to be broken.

> As a general rule, I do not really like legacy stuff that has outlived
> its usefulness.
> VBE option and known device table are such examples.
:). I does not like legacy stuff too.

Thanks,
Frank

Revision history for this message
In , Huangran (huangran) wrote :

Okay,I found if we remove ViaCardID table directly, there are some possible issue. i.e., for notebook(i.e., your environment), there is an option named VIA_DEVICE_LCD which is used by LVDS initialization function(via_lvds_init). If "ForcePanel" is disabled and pVia->Id->Outputs does not have VIA_DEVICE_LCD flag, the output is not created anymore which could lead X crash.

Thanks,
Frank

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :

(In reply to HuangRan from comment #12)

Hi Frank,

> Hi Kevin,
>
> Okay. So do you mean "vga=XXX" option in grub?
>

No, the option to activate VBE in xorg.conf.
These 2 links talk about some of the options xorg.conf can have.

https://www.freedesktop.org/wiki/Openchrome/Configuration/
https://www.freedesktop.org/wiki/Openchrome/SuppaortedHardware/

VBE is mentioned, although it is not well explained.

> Agree on that. xf86-video-vesa can be used with VBE. And current new
> driver(i.e. Intel/ATI) does not apply VBE anymore. They have already has its
> CRTC/Encoder/Connector routines to initialize the port and video card.
>

Yes, display initialization support is near complete, at least on paper.
This is why I think the time has come to remove VBE support.

> For SW cursor option, I suggest you keep it now. Because based on my
> experience before, for some cases(i.e. rotation), the HW cursor has the
> possibility to be broken.
>
> :). I does not like legacy stuff too.
>
> Thanks,
> Frank

Yeah, we can leave the software cursor option for now, but in the long run, the support for it should be dropped.
I do agree that it should not be remove in the near future.

Revision history for this message
In , Dariusz Gadomski (dgadomski) wrote :

Hey Kevin

(In reply to Kevin Brace from comment #6)
> Thank you very much for getting back with me.
> Please ignore the unknown device message you see in Xorg.0.log.
> This occurs due to the use of a weird known device table inside OpenChrome.

Ok, so if the unknown Card-id is not the problem do you see anything suspicious there that could be the reason of a blank display currently? After switching the display driver to VESA X starts up the given app correctly, while using OpenChrome it stops at a blank display.

The only suspicious lines I could spot there are:
(EE) CHROME(0): [drm] Failed to open DRM device for pci:0000:00:01.0: No such file or directory
(...)
(EE) AIGLX: reverting to software rendering

but I guess in that case it should just work without hardware rendering. Do you think anything else that could cause that behaviour?

> Looking at the link you provided, I feel like updating OpenChrome Version
> 0.3.3 is quite warranted based on the following clauses I saw in the link
> you provided.
> (...)
> Anyway, since the bug is a fatal one, and a severe regression from Version
> 0.2.904, is there a way the newer version can be treated as a security fix
> update so that Canonical can replace OpenChrome Version 0.3.3?
> Also, can OpenChrome Version 0.3.4 go into Ubuntu 16.04.1 LTS if not Ubuntu
> 16.04 LTS?

It's totally doable for 16.04.1 once the release is ready - I will provide any help necessary in that area.

Regarding 14.04: I will be more than happy to help you with backporting the fix and releasing it on top of 0.3.3 - as this is what the SRU allows.

Was this the fix you had in mind for this issue?
https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/?id=ecb1695ac2de1d840c036f64b5b71602e0f522a4

Once we agree on which changes are needed to backport I can start with the paperwork.

However, I doubt that the Ubuntu Security Team would agree to introduce a whole new release of the driver to a stable release as a security update.
There are some rigid requirements for this: https://wiki.ubuntu.com/SecurityTeam/UpdateProcedures

Nonetheless I can provide any help necessary to fix the already-released 0.3.3.

Revision history for this message
In , Huangran (huangran) wrote :

Hi Kevin,

   Sorry for late reply.
   Yup, "VBEModes" option can be used in xorg.conf to enable VBE mode.
   And for "vga=xxx" option, please see:
      https://en.wikipedia.org/wiki/VESA_BIOS_Extensions
   It can also be used for VBE setting I think.
   As far as I digged into the OpenChrome code, I found right now DP/HDMI port is not supported, especially for VX900. So do think VBE can be used before they are supported?

Thanks,
Frank

(In reply to Kevin Brace from comment #14)
> (In reply to HuangRan from comment #12)
>
> Hi Frank,
>
> > Hi Kevin,
> >
> > Okay. So do you mean "vga=XXX" option in grub?
> >
>
> No, the option to activate VBE in xorg.conf.
> These 2 links talk about some of the options xorg.conf can have.
>
> https://www.freedesktop.org/wiki/Openchrome/Configuration/
> https://www.freedesktop.org/wiki/Openchrome/SuppaortedHardware/
>
> VBE is mentioned, although it is not well explained.
>
>
> > Agree on that. xf86-video-vesa can be used with VBE. And current new
> > driver(i.e. Intel/ATI) does not apply VBE anymore. They have already has its
> > CRTC/Encoder/Connector routines to initialize the port and video card.
> >
>
> Yes, display initialization support is near complete, at least on paper.
> This is why I think the time has come to remove VBE support.
>
>
> > For SW cursor option, I suggest you keep it now. Because based on my
> > experience before, for some cases(i.e. rotation), the HW cursor has the
> > possibility to be broken.
> >
> > :). I does not like legacy stuff too.
> >
> > Thanks,
> > Frank
>
> Yeah, we can leave the software cursor option for now, but in the long run,
> the support for it should be dropped.
> I do agree that it should not be remove in the near future.

Revision history for this message
In , Brace Computer Laboratory (bracecomputerlab) wrote :
Download full text (3.6 KiB)

(In reply to Dariusz Gadomski from comment #15)

Hi Dariusz,

> Hey Kevin
>
> Ok, so if the unknown Card-id is not the problem do you see anything
> suspicious there that could be the reason of a blank display currently?
> After switching the display driver to VESA X starts up the given app
> correctly, while using OpenChrome it stops at a blank display.
>
> The only suspicious lines I could spot there are:
> (EE) CHROME(0): [drm] Failed to open DRM device for pci:0000:00:01.0: No
> such file or directory
> (...)
> (EE) AIGLX: reverting to software rendering
>
> but I guess in that case it should just work without hardware rendering. Do
> you think anything else that could cause that behaviour?
>
>

I am a little getting lost.
Are you saying that the current master branch OpenChrome code produces a blank screen after OS boots?
One known configuration that causes this is if you use DVI to VGA adapter.
Another configuration is if you use VX900 chipset (or possibly CX700, VX700, VX800, or VX855 chipset) where VGA is not available, device is detected via weird known device table, and LCD enable option is not listed in the weird known device table.
If you can clarify your particular system configuration, that will be appreciated.

> It's totally doable for 16.04.1 once the release is ready - I will provide
> any help necessary in that area.
>

Okay, that is fair.
People who install Ubuntu 16.04 LTS will eventually update system via patches, so they will eventually get the fix via Update Manager.

> Regarding 14.04: I will be more than happy to help you with backporting the
> fix and releasing it on top of 0.3.3 - as this is what the SRU allows.
>
> Was this the fix you had in mind for this issue?
> https://cgit.freedesktop.org/openchrome/xf86-video-openchrome/commit/
> ?id=ecb1695ac2de1d840c036f64b5b71602e0f522a4
>

You are probably right that the particular commit fixes the bug.
That being said, this happened way before I assumed the project maintainer role, so there is no incentive for me to figure this out.

> Once we agree on which changes are needed to backport I can start with the
> paperwork.
>
> However, I doubt that the Ubuntu Security Team would agree to introduce a
> whole new release of the driver to a stable release as a security update.
> There are some rigid requirements for this:
> https://wiki.ubuntu.com/SecurityTeam/UpdateProcedures
>
> Nonetheless I can provide any help necessary to fix the already-released
> 0.3.3.

I do understand that Canonical people do not want to tinker with the code, and "think" that the current code is stable.
It is not.
Between Version 0.2.904 (used by Ubuntu 10.04 LTS and 12.04 LTS) and Version 0.3.3, the previous developer broke VGA detection code if DVI to VGA adapter is used.
This is a fatal regression.
One of the reason why I am holding up Version 0.3.4 release is due to this.
The major difference between Version 0.2.x and Version 0.3.x is the OpenChrome DDX support for KMS.
However, the DRM module that supports KMS has not been mainlined, and the instructions on building was not sufficient for me to build it for now.

https://www.freedesktop.org/wiki/Openchrome/TtmGemKms/

Other than...

Read more...

Revision history for this message
In , Huangran (huangran) wrote :

I am totally supportive for Kevin's suggestion to make 0.3.4 to be merged into latest Linux distribution OS. No need to wait anything on that!
For example, for DVI VT1632 support, v0.3.3 does not have it supported because this file is added in 2015/1 which is not merged in v0.3.3. Furthermore, Recently, Kevin helped OpenChrome users fixed a lot of mode setting bugs which improved driver's stability.
By the way, to make OpenChrome in a more active working mode, we have to make an unreleased 0.3.4 driver released as soon as possible since last release 3 years ago!
Then after I worked on KMS driver for OpenChrome and new chip VX11, I definitely want this project more active!

Thanks,
Frank

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :
Changed in xserver-xorg-video-openchrome (Ubuntu):
assignee: nobody → Dariusz Gadomski (dgadomski)
summary: - Segfault on X startup
+ Segfault on X startup with VX900
Changed in xserver-xorg-video-openchrome (Ubuntu):
status: New → Confirmed
Changed in openchrome:
importance: Unknown → Medium
status: Unknown → Confirmed
description: updated
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Fix for xenial.

description: updated
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "xenial_xserver-xorg-video-openchrome_0.3.3-1ubuntu6.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Revision history for this message
In , Bartosz Kosiorek (gang65) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-openchrome - 1:0.3.3-1ubuntu6

---------------
xserver-xorg-video-openchrome (1:0.3.3-1ubuntu6) xenial; urgency=medium

  * Fix a segfault on X startup. (LP: #1554004)

 -- Dariusz Gadomski <email address hidden> Thu, 10 Mar 2016 12:28:54 +0100

Changed in xserver-xorg-video-openchrome (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

SRU proposal for Wily

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

SRU proposal for Trusty

Changed in openchrome:
status: Confirmed → Fix Released
Mathew Hodson (mhodson)
Changed in xserver-xorg-video-openchrome (Ubuntu):
importance: Undecided → High
Changed in xserver-xorg-video-openchrome (Ubuntu Trusty):
importance: Undecided → High
Changed in xserver-xorg-video-openchrome (Ubuntu Wily):
importance: Undecided → High
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

SRU proposal for trusty (changed version number to avoid collision with Wily)

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

SRU proposal for Wily (changed version number to avoid collision with Xenial)

Louis Bouchard (louis)
Changed in xserver-xorg-video-openchrome (Ubuntu Trusty):
status: New → In Progress
Changed in xserver-xorg-video-openchrome (Ubuntu Wily):
status: New → In Progress
tags: added: sts sts-sru
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Dariusz, or anyone else affected,

Accepted xserver-xorg-video-openchrome into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/1:0.3.3-1ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in xserver-xorg-video-openchrome (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
Changed in xserver-xorg-video-openchrome (Ubuntu Wily):
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Dariusz, or anyone else affected,

Accepted xserver-xorg-video-openchrome into wily-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/1:0.3.3-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Works correctly with Trusty. Unfortunately I don't have any feedback for Wily.

tags: added: verification-done-trusty verification-needed-wily
removed: verification-needed
Revision history for this message
In , Dariusz Gadomski (dgadomski) wrote :

(In reply to Kevin Brace from comment #17)
Hi Kevin

> I am a little getting lost.
> Are you saying that the current master branch OpenChrome code produces a
> blank screen after OS boots?

That's true.

> One known configuration that causes this is if you use DVI to VGA adapter.
> Another configuration is if you use VX900 chipset (or possibly CX700, VX700,
> VX800, or VX855 chipset) where VGA is not available, device is detected via
> weird known device table, and LCD enable option is not listed in the weird
> known device table.
> If you can clarify your particular system configuration, that will be
> appreciated.

The device has a DVI *and* VGA output and while using DVI output (without adapter of any kind) we're getting a blank output. VGA output to VGA display works fine - this is what we use currently as a work-around.

This is another issue however and is probably related to the topic you mentioned above and is not related to this bug.

> I do understand that Canonical people do not want to tinker with the code,
> and "think" that the current code is stable.
> It is not.
> Between Version 0.2.904 (used by Ubuntu 10.04 LTS and 12.04 LTS) and Version
> 0.3.3, the previous developer broke VGA detection code if DVI to VGA adapter
> is used.
> This is a fatal regression.
> One of the reason why I am holding up Version 0.3.4 release is due to this.

I fully agree with you and I also want to see this fixed and present in Ubuntu. Unfortunately the rules (btw. those are Ubuntu rules rather than Canonical) are very strict and I don't think they can be bypassed in any way other that those described at the wiki pages (SRU and MRE).

However, I would still like to provide any help necessary in making sure the new releases will be included in upcoming Ubuntu releases. Would you mind if we continue the discussion on the openchrome-devel mailing list?

Thank you,
Dariusz

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

To the SRU team:
Due to lack of hardware to test it under Wily we can either ignore it (since it EOLs in 3 moths anyway) or take under consideration the minimal impact and the fact that it is available in Trusty and Xenial and release it.
It's your call, thank you.

Revision history for this message
Jeffrey Walton (noloader) wrote :

I'm trying to add tag:verification-done-wily.

The updated driver at http://launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/1:0.3.3-1ubuntu1.1 was tested under Wily/15.10 it tested OK. The driver was installed from wily-proposed.

The test rig for Wily/15.10 was a Qotom T26 (http://www.amazon.com/dp/B01AXR2KBQ). It has a C7-D processor, and a P4M400 chipset.

Here are some other bug reports related to the faulty OpenChrome driver. Once the updated OpenChrome dirver passes its quality/security gates, they can be closed, too:

* https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/+bug/1540774
* https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-openchrome/+bug/1561275

Revision history for this message
Jeffrey Walton (noloader) wrote :

> I'm trying to add tag:verification-done-wily.

Well, this is a pretty useless page: "PerformingSRUVerification", https://wiki.ubuntu.com/QATeam/PerformingSRUVerification. The section "Tagging the report" is especially useless.

Revision history for this message
Bartosz Kosiorek (gang65) wrote :

After apply the patch it is working perfectly for wily and trusty.
Thanks.

tags: added: verification-done
removed: verification-done-trusty verification-needed-wily
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-openchrome - 1:0.3.3-1ubuntu0.1

---------------
xserver-xorg-video-openchrome (1:0.3.3-1ubuntu0.1) trusty; urgency=medium

  * Fix a segfault on X startup. (LP: #1554004)

 -- Dariusz Gadomski <email address hidden> Mon, 14 Mar 2016 12:30:51 +0100

Changed in xserver-xorg-video-openchrome (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for xserver-xorg-video-openchrome has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-openchrome - 1:0.3.3-1ubuntu1.1

---------------
xserver-xorg-video-openchrome (1:0.3.3-1ubuntu1.1) wily; urgency=medium

  * Fix a segfault on X startup. (LP: #1554004)

 -- Dariusz Gadomski <email address hidden> Mon, 14 Mar 2016 14:26:39 +0100

Changed in xserver-xorg-video-openchrome (Ubuntu Wily):
status: Fix Committed → Fix Released
Louis Bouchard (louis)
tags: removed: sts-sru
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.