Bug 956525

Summary: Review Request: xorg-x11-drv-opentegra - open source Nvidia Tegra driver
Product: [Fedora] Fedora Reporter: Jiri Kastner <jkastner>
Component: Package ReviewAssignee: Nicolas Chauvet (kwizart) <kwizart>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dennis, kusmabite, kwizart, mitr, package-review
Target Milestone: ---Flags: dennis: fedora-review-
dennis: fedora-cvs-
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-23 20:44:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 245418    

Comment 1 Nicolas Chauvet (kwizart) 2013-04-25 09:22:07 UTC
There is a Virtual Provide for Xorg server requirement to be independant from the package name: Xorg . At least that's what is used for xorg-x11-drv-ati

Dropping a 00-opentegra.conf is annoying, because it will prevent the driver to be installed on a system that aren't based on tegra.
Best would be to patch xorg-x11-server to pick this driver by default if the official vendor tegra driver isn't here.
Would you mind to open a bug for xorg-x11-server to state that ?

I can test for f18 armhfp on ac100 tonight or even over the week-end, but will be away next weeks:
http://fedoraproject.org/wiki/Vacation

Comment 2 Nicolas Chauvet (kwizart) 2013-04-28 11:11:49 UTC
This is what should be changed in order to avoid the 00-opentegra.conf http://gitorious.org/thierryreding/xserver/commit/184335e5442bb347cea5d4599da88c74562d0c4d

Comment 3 Dennis Gilmore 2013-06-03 13:41:19 UTC
you can't ship a xorg.conf snippet in /etc/X11/xorg.conf.d/ images have all the X drivers installed. right now as X doesnt autodetect the driver to use on arm the images have a snippet that sets fbdev as the driver so it can work everywhere. we would need to document or write a tool and document that it needs running to set the correct X driver. you could put the snippet into the docs

Comment 4 Dennis Gilmore 2013-06-03 13:55:00 UTC
[45838.641091] tegra-host1x 50000000.host1x: failed to allocate buffer with size 8294400
[root@trimslice02 ~]# tail /var/log/Xorg.0.log
Fatal server error:
[ 45840.930] AddScreen/ScreenInit failed for driver 0
[ 45840.930] 
[ 45840.930] (EE) 
Please consult the Fedora Project support 
        at http://wiki.x.org
 for help. 
[ 45840.931] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 45840.931] (EE) 
[ 45840.955] Server terminated with error (1). Closing log file.

this fails to run on a trimslice plugged into a 22" monitor @1920x1080

Comment 5 Jiri Kastner 2013-06-04 15:54:34 UTC
(In reply to Dennis Gilmore from comment #3)
> you can't ship a xorg.conf snippet in /etc/X11/xorg.conf.d/ images have all
> the X drivers installed. right now as X doesnt autodetect the driver to use
> on arm the images have a snippet that sets fbdev as the driver so it can
> work everywhere. we would need to document or write a tool and document that
> it needs running to set the correct X driver. you could put the snippet into
> the docs


can you, please, paste here kernel cmdline from xorg.conf?

Comment 6 Dennis Gilmore 2013-06-04 16:02:58 UTC
[    0.000000] Kernel command line: ro rootwait root=UUID=742359f5-772a-4db4-8873-ef9408df9025 console=ttyS0,115200n8

Comment 7 Jiri Kastner 2013-06-04 19:14:05 UTC
mine is: ro rootwait root=UUID=dca12d24-8a35-4704-a950-11e5941f8c27 cma=64M console=tty1 rd.driver.pre=fixed,i2c-core,tegra-drm,drm,drm-kms-helper,of-i2c,i2c-tegra rhgb

Comment 8 Nicolas Chauvet (kwizart) 2014-07-04 12:54:43 UTC
Quick update on this review.

The current package fails to build with recent xorg-server in rawhide.
But the newer snapshot (1) depends on non yet upstreamed patches from libdrm (2).
(I don't know what is holding there, maybe kernel-headers related to tegra drm interface)


From the kernel side, I still hope to have CMA bumped to 64M
I'm also working on a kernel with tagr and tegra-3.17-next patches applied on top of 3.16 rawhide kernel. (and few CONFIG options builtin).

Here is my tests report on this kernel:
- AC100 panel works, but need to sort out which modules to bundle into the initramfs (specially pwm_tegra, backlight, etc) (4)
- Trimslice, doesn't work for me. the hdmi output a black screen from where I can see lxdm gliches on VT switches. Looking at Xorg.0.log everything is normal.
(probably a problem from the kernel side and hdmi init).
Switching to modesettings ( DDX cannot find the device).



(1) - http://cgit.freedesktop.org/~tagr/xf86-video-opentegra
(2) - http://cgit.freedesktop.org/~tagr/drm/
(3) - http://repos.fedorapeople.org/repos/kwizart/ac100/fedora-20/armhfp/
(4) - http://www.spinics.net/lists/linux-initramfs/msg03636.html

Comment 9 Nicolas Chauvet (kwizart) 2014-07-09 14:48:31 UTC
SRPM: http://kwizart.fedorapeople.org/review/xorg-x11-drv-opentegra-0.7.0-1.fc20.src.rpm
SPEC: http://kwizart.fedorapeople.org/review/xorg-x11-drv-opentegra.spec
Summary: Xorg X11 opentegra driver


Changelog:
- Update to 0.7.0
Note that the config files installed will assume xorg-server 1.16.
It can be deleted so this package will work with older fedora releases.

rpmlint is clean on produced binary

Koji scratch build on rawhide
http://koji.fedoraproject.org/koji/taskinfo?taskID=7121051

Comment 10 Nicolas Chauvet (kwizart) 2014-07-09 15:15:53 UTC
Scratch build on f20 with a little fix as outputclass is automatically detected
So opentegra.conf isn't installed when not supported.
http://koji.fedoraproject.org/koji/taskinfo?taskID=7121229

Comment 11 Nicolas Chauvet (kwizart) 2014-07-10 08:24:47 UTC
Scratch build for aarch64 (and updated ExclusiveArch)
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=2485462

Comment 12 Jiri Kastner 2014-07-17 08:50:56 UTC
uploaded scratch build to xorg-x11-drv-opentegra repo:

http://repos.fedorapeople.org/repos/jkastner/xorg-x11-drv-opentegra/

so "wget -P /etc/yum.repos.d/ http://repos.fedorapeople.org/repos/jkastner/xorg-x11-drv-opentegra/fedora-xorg-x11-drv-opentegra.repo" should work

Comment 13 Nicolas Chauvet (kwizart) 2014-07-17 09:47:12 UTC
@jiri, do you have a chance to test on trimslice (or else ?)
It's working fine on f20 on ac100, but I get a black screen on trimslice despite everything is properly detected according to xrandr.
I wonder if this has something to do with my uboot that would toggle some gpio that would prevent.

I'm also preparing a new rc of my fedora 20 tegra remix.

About this review, I'm supposed to be the reviewer but given that I've made the last update I don't know what the status wrt the review.
I would just request a formal ack from your side and approve the package, so we can make more work within the fedora repository. Obviously I volunteer to co-maintain the package.

Is it okay for you ?

Comment 14 Nicolas Chauvet (kwizart) 2014-07-17 09:51:04 UTC
Note that I've built the git version that rely on the non-yet-upstream libdrm to enable exa support. The unpatched version was tested along with the exa enabled ddx for tegra.

Comment 15 Jiri Kastner 2014-07-17 11:19:14 UTC
@nicolas - sure (regarding trimslice and co-maintainer)
trimslice works with latest kernel (3.15.5-200.fc20.armv7hl), but needed to use 00-opentegra.conf, see http://ur1.ca/hrl5e

idea - there should be check during installation, based on /proc/device-tree:

[root@dhcp-26-155 ~]# ls -1 /proc/device-tree/ | grep host1x
host1x@50000000

i tried on bbb load host1x module and it loaded without problem, but not having host1x@NNNNNNN under /proc/device-tree/

sooooo, we may have 00-opentegra.conf in docs and add also some systemd oneshot unit, which checks after boot, that it is running on nvidia :)

Comment 16 Nicolas Chauvet (kwizart) 2014-07-17 12:13:58 UTC
(In reply to Jiri Kastner from comment #15)
> @nicolas - sure (regarding trimslice and co-maintainer)
> trimslice works with latest kernel (3.15.5-200.fc20.armv7hl), but needed to
> use 00-opentegra.conf, see http://ur1.ca/hrl5e
Which uboot version number are you using ? 
(is it a vendor provided one or upstream uboot ?)

I would handle the 00-opentegra.conf at the remix step for f20.
http://fedorapeople.org/cgit/kwizart/public_git/spin-kickstarts.git/log/?h=f20

For F-21 and xorg-server 1.16 there is a dedicated file that will support the outputclass feature:
http://lists.x.org/archives/xorg-devel/2014-February/040578.html


> i tried on bbb load host1x module and it loaded without problem, but not
> having host1x@NNNNNNN under /proc/device-tree/
I'm still not sure but the tegra_drm isn't automatically loaded (host1x is actually handling the modalias), maybe we can use something similar to the way dracut tries to detect "hostonly" modules ?
http://www.spinics.net/lists/linux-initramfs/msg03636.html

Comment 17 Nicolas Chauvet (kwizart) 2014-07-17 12:40:32 UTC
New Package SCM Request
=======================
Package Name: xorg-x11-drv-opentegra
Short Description: open source Nvidia Tegra driver
Upstream URL: http://cgit.freedesktop.org/xorg/driver/xf86-video-opentegra/
Owners: kwizart jkastner
Branches: f20 f21
InitialCC:

Comment 18 Jiri Kastner 2014-07-17 13:39:07 UTC
(In reply to Nicolas Chauvet (kwizart) from comment #16)
> Which uboot version number are you using ? 
> (is it a vendor provided one or upstream uboot ?)

U-Boot 2012.04.01-1.02 from compulab

Comment 19 Nicolas Chauvet (kwizart) 2014-07-17 13:47:39 UTC
New Package SCM Request
=======================
Package Name: xorg-x11-drv-opentegra
Short Description: open source Nvidia Tegra driver
Upstream URL: http://cgit.freedesktop.org/xorg/driver/xf86-video-opentegra/
Owners: kwizart jkastner
Branches: f19 f20 f21
InitialCC:

Comment 20 Dennis Gilmore 2014-07-17 14:38:56 UTC
this is not teh right way to handle package reviews I am naking it all, do it right.

Comment 21 Nicolas Chauvet (kwizart) 2014-07-17 15:56:57 UTC
@Dennis,
We can certainly provide informations on what's happened in this review, specifically the problematic role switch that occurred during the review was mentioned here:
https://bugzilla.redhat.com/show_bug.cgi?id=956525#c13

Jiri and I are basically both fedora contributors who want to go ahead with this package. The current shape of the opentegra DDX package satisfies both party. That being said if there is anything left to your eyes we can still take your advices into account.

I consider your escalation to fesco for this issue a bit rush, specially since I am a very rational person. That been said I agree to fix the review to satisfy the fedora due process.

Please let me know what you believe would be the appropriate way to fix this situation.

Comment 22 Jiri Kastner 2014-07-22 06:57:56 UTC
as we swapped roles, here is some verbosity of that review:

[indy@dhcp-27-216 ~]$ rpmlint rpmbuild/SPECS/xorg-x11-drv-opentegra.spec 
rpmbuild/SPECS/xorg-x11-drv-opentegra.spec: E: specfile-error sh: xserver-sdk-abi-requires: command not found
rpmbuild/SPECS/xorg-x11-drv-opentegra.spec: E: specfile-error sh: xserver-sdk-abi-requires: command not found
0 packages and 1 specfiles checked; 2 errors, 0 warnings.
[indy@dhcp-27-216 ~]$ rpmlint rpmbuild/results/xorg-x11-drv-opentegra/fedora-20/armhfp/xorg-x11-drv-opentegra-0.7.0-1.fc20.armv7hl.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[indy@dhcp-27-216 ~]$ rpmlint rpmbuild/results/xorg-x11-drv-opentegra/fedora-20/armhfp/xorg-x11-drv-opentegra-debuginfo-0.7.0-1.fc20.armv7hl.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

and because already reviewed and approved package contains same errors and in addition some warnings:

[indy@dhcp-27-216 ~]$ rpmlint rpmbuild/SPECS/xorg-x11-drv-ati.spec
rpmbuild/SPECS/xorg-x11-drv-ati.spec:20: W: macro-in-comment %{tarball}
rpmbuild/SPECS/xorg-x11-drv-ati.spec:20: W: macro-in-comment %{gitdate}
rpmbuild/SPECS/xorg-x11-drv-ati.spec:12: W: mixed-use-of-spaces-and-tabs (spaces: line 12, tab: line 3)
rpmbuild/SPECS/xorg-x11-drv-ati.spec: E: specfile-error sh: xserver-sdk-abi-requires: command not found
rpmbuild/SPECS/xorg-x11-drv-ati.spec: E: specfile-error sh: xserver-sdk-abi-requires: command not found
0 packages and 1 specfiles checked; 2 errors, 3 warnings.

.. so it looks good, but let's wait for somebody else to make process happy as i'm submitter

Comment 23 Miloslav Trmač 2014-07-23 18:18:15 UTC
FESCo discussed this today, and decided to ask for a separate review of this package from a third party.  Also, please make sure to do future reviews in a documented and transparent way.

Comment 24 Nicolas Chauvet (kwizart) 2014-07-23 20:44:09 UTC

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