1 # Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the "Software"),
5 # to deal in the Software without restriction, including without limitation
6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 # and/or sell copies of the Software, and to permit persons to whom the
8 # Software is furnished to do so, subject to the following conditions:
10 # The above copyright notice and this permission notice (including the next
11 # paragraph) shall be included in all copies or substantial portions of the
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 # DEALINGS IN THE SOFTWARE.
21 --- xorg-server-1.18.4/hw/xfree86/common/xf86Config.c.orig 2016-09-17 00:07:50.879400615 +0200
22 +++ xorg-server-1.18.4/hw/xfree86/common/xf86Config.c 2016-09-17 00:08:09.608273665 +0200
25 fixup_video_driver_list(const char **drivers)
28 + const char **end, **drv;
31 /* walk to the end of the list */
32 for (end = drivers; *end && **end; end++);
35 qsort(drivers, end - drivers, sizeof(const char *), driver_sort);
38 + * Since the nvidia kernel driver interferes with the nv Xorg driver,
39 + * make sure to prefer nvidia if it's installed
41 + for (drv = drivers; drv != end; drv++) {
42 + char **nv, **nvidia;
43 + if (!strcmp(*drv, "nv")) {
45 + for (drv = nv; drv != end; drv++) {
46 + if (!strcmp(*drv, "nvidia")) {
48 + x = *nvidia; *nvidia = *nv; *nv = x;
52 + /* if we get here, nvidia was already ahead of nv */