1

После двух с половиной месяцев разработки Линус Торвальдс выпустил ядро Linux 3.13. Среди наиболее заметных улучшений: интеграция пакетного фильтра Nftables, включение по умолчанию режима TCP Fast Open, увеличение производительности Squashfs, поддержка протокола HSR для создания отказоустойчивых сетевых конфигураций, добавление нового высокопроизводительного слоя блочных устройств, поддержка автоматического переключения между GPU в драйвере Radeon, фреймворк для ограничения энергопотребления устройств, классификатор трафика на основе BPF, реализация средств для проведения защищённых финансовых транзакций по NFC, поддержка архитектуры Intel MIC.

В новую версию принято 12 тысяч исправлений от 1339 разработчиков, размер патча - 32 Мб (изменения затронули 9849 файлов, добавлено 441972 строки кода, удалено 237897 строк). Около 44% всех представленных в 3.13 изменений связаны с драйверами устройств, примерно 21% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра. 11.9% изменений внесено сотрудниками компании Intel, 9.7% - Linaro, 9% - Red Hat, 5% - Samsung, 3.5% - IBM, 2.7% - SUSE, 1.7% - Google, 1.5% - NVIDIA, 1.1% - Oracle, 1.0% - Huawei, 0.9% - ARM.


Подробности: http://www.opennet.ru/opennews/art.shtml?num=38845


Патчи kernel_v3.13.patch для блобов NVIDIA 331.38, 304.117(119) и 173.14.39

2

verg пишет:

Intel, 9.7% - Linaro, 9% - Red Hat, 5% - Samsung, 3.5% - IBM, 2.7% - SUSE, 1.7% - Google, 1.5% - NVIDIA, 1.1% - Oracle, 1.0% - Huawei, 0.9% - ARM.

Отсутствие в данном спиcке AMD, не удивило, и в принципе было ожидаемым.

In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

3

Вообще-то они есть, видимо вклад совсем мизерный по сравнению с другими компаниями. Свободный драйвер radeon пилится и становится лучше от релиза к релизу.

openSUSE 13.2 x64, KDE 4.14 | AMD Phenom II X2 550 Black Edition | ASUS M4A785TD-M EVO | RAM DDR3 8 GB | ASUS Radeon HD 6770
openSUSE 13.2 x64, KDE 4.14 | Samsung 300V4A

4

redix пишет:
verg пишет:

Intel, 9.7% - Linaro, 9% - Red Hat, 5% - Samsung, 3.5% - IBM, 2.7% - SUSE, 1.7% - Google, 1.5% - NVIDIA, 1.1% - Oracle, 1.0% - Huawei, 0.9% - ARM.

Отсутствие в данном спиcке AMD, не удивило, и в принципе было ожидаемым.

Как и Canonical ab

А прогресс радеонов продолжает радовать.

5

Vascom, ценой? ab

Linux Mint 19.3 Mate Edition
Windows 7

6

Wolfenberg, Поддержкой uvd, реализацией dpm, повышенной производительностью

openSUSE 13.2 x64, KDE 4.14 | AMD Phenom II X2 550 Black Edition | ASUS M4A785TD-M EVO | RAM DDR3 8 GB | ASUS Radeon HD 6770
openSUSE 13.2 x64, KDE 4.14 | Samsung 300V4A

7

Quarck, аналогично Nvidia ab

Linux Mint 19.3 Mate Edition
Windows 7

8

Не аналогично, а совсем по другому. Всё-таки radeon свободный драйвер всё это умеет. А нвидиа лишь проприетарщину свою пилит.
Надеюсь все понимают, что вклад Нвидиа в ядро относится только к их процессорам Tegra.

9

Vascom, если бы AMD выпускало свои драйвера в нормальном виде, то свободный драйвер был бы аналогией nouveau.

Linux Mint 19.3 Mate Edition
Windows 7

10

Аналогией он быть не может.
Спеки АМД открыты, драйвер radeon полноценный. Спеки Нвидиа закрыты, nouveau реверсинжиниринговый драйвер.

11

Vascom, ух ты! А что тогда за архивчики на сайте www.nvidia.ru лежат?

Linux Mint 19.3 Mate Edition
Windows 7

12

Вероятно что-то неполноценное и малоценное.
Или ты не веришь мне?

13 (22.01.2014 13:47:15 отредактировано Wolfenberg)

Vascom, почему же, верю.
Только вот не странно ли выпускать кастрата для Linux?
Скачал файл .run. Исходный код - вижу....

Linux Mint 19.3 Mate Edition
Windows 7

14

Вот этот кастрат (новость о частичном открытии спеков) http://liquidat.wordpress.com/2013/09/2 … ification/
Конечно странно, но такова Нвидиа на сегодняшний момент.

15

Wolfenberg пишет:

Скачал файл .run. Исходный код - вижу....

Нет там никаких исходников драйвера.
Пруф:

wget ftp://download.nvidia.com/XFree86/Linux-x86/173.14.37/NVIDIA-Linux-x86-173.14.39-pkg1.run
./NVIDIA-Linux-x86-173.14.39-pkg1.run --extract-only

Там только headers, заголовки к интерфейсам драйвера c ядром и исходники этого самого интерфейса. А драйвер - это заранее скомпилированный shared object, библиотека.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

16

Патчи kernel_v3.13.patch для блобов nvidia 331.38, 304.117(119) и 173.14.39:

+ 331.38
--- a/kernel/nv-acpi.c
+++ b/kernel/nv-acpi.c
@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de
 
     if (pNvAcpiObject->notify_handler_installed)
     {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
         NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
+#endif
 
         // remove event notifier
         status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
--- a/kernel/uvm/nvidia_uvm_linux.h
+++ b/kernel/uvm/nvidia_uvm_linux.h
@@ -405,11 +405,17 @@ typedef void irqreturn_t;
 // not require the RCU's read lock on current->cred.
 //
 //
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+#define NV_KUID_TO_UID(value) (__kuid_val(value))
+#else
+#define NV_KUID_TO_UID(value) (value)
+#endif
+
 #if defined(NV_TASK_STRUCT_HAS_CRED)
 #define NV_CURRENT_EUID() \
-    (((typeof(*current->cred) __force __kernel *)current->cred)->euid)
+        NV_KUID_TO_UID(((typeof(*current->cred) __force __kernel *)current->cred)->euid)
 #else
-#define NV_CURRENT_EUID() (current->euid)
+#define NV_CURRENT_EUID() NV_KUID_TO_UID(current->euid)
 #endif
 
 #define NV_ATOMIC_SET(data,val)         atomic_set(&(data), (val))
+ 304.117, 304.119
--- a/kernel/nv-acpi.c
+++ b/kernel/nv-acpi.c
@@ -299,7 +299,10 @@ static int nv_acpi_remove(struct acpi_de
 
     if (pNvAcpiObject->notify_handler_installed)
     {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
         NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
+#endif
 
         // remove event notifier
         status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
+ 173.14.39
--- a/usr/src/nv/nvacpi.c
+++ b/usr/src/nv/nvacpi.c
@@ -259,7 +259,10 @@ static int nv_acpi_remove(struct acpi_de
 
     if (pNvAcpiObject->notify_handler_installed)
     {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
         NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
+#endif
 
         // remove event notifier
         status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);

Установка:
1) Распаковать *.run файл:

sh NVIDIA-Linux-XXX.run -x

3) Перейти в распакованный каталог:

cd NVIDIA-Linux-XXX

4) Установить патч:

patch -p1 < /путь_до_патча/kernel_v3.13.patch

5) Установка драйвера из полноэкранной консоли:

# /путь_до_распакованного_каталога_с_драйвером/nvidia-installer