apt-getのアップグレード後、システムが常に低グラフィックモードで起動する


10

しばらく前に、Ubuntu 13.10を搭載したNvidia 420M用のxorg edgers nvidia 331ドライバーをインストールしました。

今日はいつも通り走りました

sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

それ以来、私のラップトップは常にlow-graphics mode問題をトラブルシューティングするか、ログを確認するかなどを尋ねるプロンプトで起動しますが、起動を低グラフィックスモードに設定した後でも、動作しません(xでハングアップしますが、それでも可能CtrlAltF1-6です。グラフィックスドライバーをアンインストールしましたその後、それらを再インストールしました(同じ効果)xorg edgers PPAを削除し、nvidia-319ドライバーをインストールしました(同じ)。

常に低グラフィックモード。

インストールした3.12カーネルにも問題がありました(kernel.orgから手動で削除し、GRUBを完全に削除してから、ドライバーに問題があります)。

つける Xorg.0.log

[     9.912] 
X.Org X Server 1.14.5
Release Date: 2013-12-12
[     9.912] X Protocol Version 11, Revision 0
[     9.912] Build Operating System: Linux 3.2.0-37-generic x86_64 Ubuntu
[     9.912] Current Operating System: Linux icanseeyou 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64
[     9.912] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.11.0-15-generic root=UUID=cd852128-b5f9-4c66-82c0-08ffd489da5d ro persistent quiet splash
[     9.912] Build Date: 17 December 2013  10:06:15AM
[     9.912] xorg-server 2:1.14.5-1ubuntu2~saucy1 (For technical support please see http://www.ubuntu.com/support) 
[     9.912] Current version of pixman: 0.30.2
[     9.913]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[     9.913] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     9.913] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan  2 22:53:36 2014
[     9.913] (==) Using config file: "/etc/X11/xorg.conf"
[     9.913] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[     9.913] (==) ServerLayout "Layout0"
[     9.913] (**) |-->Screen "Screen0" (0)
[     9.913] (**) |   |-->Monitor "Monitor0"
[     9.913] (**) |   |-->Device "Device0"
[     9.913] (**) |-->Input Device "Keyboard0"
[     9.913] (**) |-->Input Device "Mouse0"
[     9.913] (==) Automatically adding devices
[     9.913] (==) Automatically enabling devices
[     9.913] (==) Automatically adding GPU devices
[     9.913] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[     9.913]    Entry deleted from font path.
[     9.913] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[     9.913] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[     9.913] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[     9.913] (WW) Disabling Keyboard0
[     9.913] (WW) Disabling Mouse0
[     9.913] (II) Loader magic: 0x7fd9888bfd20
[     9.913] (II) Module ABI versions:
[     9.913]    X.Org ANSI C Emulation: 0.4
[     9.913]    X.Org Video Driver: 14.1
[     9.913]    X.Org XInput driver : 19.1
[     9.913]    X.Org Server Extension : 7.0
[     9.914] (--) PCI:*(0:1:0:0) 10de:0df1:1025:0487 rev 161, Mem @ 0xb2000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00003000/128, BIOS @ 0x????????/524288
[     9.915] (II) Open ACPI successful (/var/run/acpid.socket)
[     9.915] Initializing built-in extension Generic Event Extension
[     9.915] Initializing built-in extension SHAPE
[     9.915] Initializing built-in extension MIT-SHM
[     9.915] Initializing built-in extension XInputExtension
[     9.915] Initializing built-in extension XTEST
[     9.915] Initializing built-in extension BIG-REQUESTS
[     9.915] Initializing built-in extension SYNC
[     9.915] Initializing built-in extension XKEYBOARD
[     9.915] Initializing built-in extension XC-MISC
[     9.915] Initializing built-in extension SECURITY
[     9.915] Initializing built-in extension XINERAMA
[     9.915] Initializing built-in extension XFIXES
[     9.915] Initializing built-in extension RENDER
[     9.915] Initializing built-in extension RANDR
[     9.915] Initializing built-in extension COMPOSITE
[     9.915] Initializing built-in extension DAMAGE
[     9.915] Initializing built-in extension MIT-SCREEN-SAVER
[     9.915] Initializing built-in extension DOUBLE-BUFFER
[     9.915] Initializing built-in extension RECORD
[     9.915] Initializing built-in extension DPMS
[     9.915] Initializing built-in extension X-Resource
[     9.915] Initializing built-in extension XVideo
[     9.915] Initializing built-in extension XVideo-MotionCompensation
[     9.915] Initializing built-in extension SELinux
[     9.915] Initializing built-in extension XFree86-VidModeExtension
[     9.915] Initializing built-in extension XFree86-DGA
[     9.915] Initializing built-in extension XFree86-DRI
[     9.915] Initializing built-in extension DRI2
[     9.915] (II) "glx" will be loaded by default.
[     9.915] (WW) "xmir" is not to be loaded by default. Skipping.
[     9.915] (II) LoadModule: "dri2"
[     9.915] (II) Module "dri2" already built-in
[     9.915] (II) LoadModule: "glamoregl"
[     9.916] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    10.024] (II) Module glamoregl: vendor="X.Org Foundation"
[    10.024]    compiled for 1.14.3, module version = 0.5.1
[    10.024]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.024] (II) LoadModule: "glx"
[    10.024] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[    10.071] (II) Module glx: vendor="NVIDIA Corporation"
[    10.071]    compiled for 4.0.2, module version = 1.0.0
[    10.071]    Module class: X.Org Server Extension
[    10.071] (II) NVIDIA GLX Module  319.60  Wed Sep 25 14:24:11 PDT 2013
[    10.071] Loading extension GLX
[    10.071] (II) LoadModule: "nvidia"
[    10.071] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[    10.085] (II) Module nvidia: vendor="NVIDIA Corporation"
[    10.085]    compiled for 4.0.2, module version = 1.0.0
[    10.085]    Module class: X.Org Video Driver
[    10.091] (II) NVIDIA dlloader X Driver  319.60  Wed Sep 25 14:04:14 PDT 2013
[    10.091] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    10.092] (++) using VT number 7

[    10.096] (II) Loading sub module "fb"
[    10.096] (II) LoadModule: "fb"
[    10.096] (II) Loading /usr/lib/xorg/modules/libfb.so
[    10.097] (II) Module fb: vendor="X.Org Foundation"
[    10.097]    compiled for 1.14.5, module version = 1.0.0
[    10.097]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.097] (WW) Unresolved symbol: fbGetGCPrivateKey
[    10.097] (II) Loading sub module "wfb"
[    10.097] (II) LoadModule: "wfb"
[    10.097] (II) Loading /usr/lib/xorg/modules/libwfb.so
[    10.100] (II) Module wfb: vendor="X.Org Foundation"
[    10.100]    compiled for 1.14.5, module version = 1.0.0
[    10.100]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.100] (II) Loading sub module "shadow"
[    10.100] (II) LoadModule: "shadow"
[    10.100] (II) Loading /usr/lib/xorg/modules/libshadow.so
[    10.101] (II) Module shadow: vendor="X.Org Foundation"
[    10.101]    compiled for 1.14.5, module version = 1.1.0
[    10.101]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.101] (II) Loading sub module "ramdac"
[    10.101] (II) LoadModule: "ramdac"
[    10.101] (II) Module "ramdac" already built-in
[    10.103] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    10.103] (==) NVIDIA(0): RGB weight 888
[    10.103] (==) NVIDIA(0): Default visual is TrueColor
[    10.103] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    10.103] (**) NVIDIA(0): Enabling 2D acceleration
[    10.109] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
[    10.109] (EE) NVIDIA(0):     system's kernel log for additional error messages and
[    10.109] (EE) NVIDIA(0):     consult the NVIDIA README for details.
[    10.109] (EE) NVIDIA(0):  *** Aborting ***
[    10.109] (EE) NVIDIA(0): Failing initialization of X screen 0
[    10.109] (II) UnloadModule: "nvidia"
[    10.109] (II) UnloadSubModule: "shadow"
[    10.109] (II) UnloadSubModule: "wfb"
[    10.109] (II) UnloadSubModule: "fb"
[    10.109] (EE) Screen(s) found, but none have a usable configuration.
[    10.109] (EE) 
Fatal server error:
[    10.109] (EE) no screens found(EE) 
[    10.109] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[    10.109] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    10.109] (EE) 
[    10.110] (EE) Server terminated with error (1). Closing log file.

インストールしたLinuxカーネルとヘッダー

ii  linux-generic                          3.11.0.15.16                                     amd64        Complete Generic Linux kernel and headers
ii  linux-headers-3.11.0-15                3.11.0-15.23                                     all          Header files related to Linux kernel version 3.11.0
ii  linux-headers-3.11.0-15-generic        3.11.0-15.23                                     amd64        Linux kernel headers for version 3.11.0 on 64 bit x86 SMP
ii  linux-headers-generic                  3.11.0.15.16                                     amd64        Generic Linux kernel headers
ii  linux-image-3.11.0-15-generic          3.11.0-15.23                                     amd64        Linux kernel image for version 3.11.0 on 64 bit x86 SMP
ii  linux-image-extra-3.11.0-15-generic    3.11.0-15.23                                     amd64        Linux kernel extra modules for version 3.11.0 on 64 bit x86 SMP
ii  linux-image-generic                    3.11.0.15.16                                     amd64        Generic Linux kernel image

インストールされたnvidiaパッケージ

ii  nvidia-319-updates                     319.60-0ubuntu1                                  amd64        NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-settings-319-updates            319.60-0ubuntu1                                  amd64        Tool for configuring the NVIDIA graphics driver

dmesg

http://paste.ubuntu.com/6681226/


1
dmesgの出力も投稿できますか?(システムのカーネルログをチェックするように言われているので私は尋ねます、そして私はdmesgがそれをカバーすると信じています)
user1974

@ user1974質問を更新しました。ぜひご覧ください。
Patryk、2014年

2
今日の午後、この同じアップグレードでまったく同じ問題があり、他の質問の解決策が機能しないため、これは重複ではありません。これは、この特定のバージョンのドライバーに固有の問題です。
animaletdesequia 2014年

私も同じ問題を抱えていました。私は、NVIDIA 331インストールすることにより、それを解決してきました
mrroboaat

回答:


8

ほんの数時間前に同じ問題が発生しました。最新の331が壊れています。オープンソースnouveauを含む以前のドライバーまたはその他のドライバーへのダウングレードは機能しません。唯一の解決策は、すべてのnvidiaパッケージをアンインストールし、nvidia Webサイトからダウンロードできる.runからドライバーをインストールすることです。

http://www.nvidia.com/Download/index.aspx?lang=en-us

そこで、グラフィックカード、アーキテクチャなどを選択し、インストーラをダウンロードします。完了したら、Xを実行せずにコマンドラインからインストールする必要があります。Ctrl + Alt + F6キーを押し、ログイン後:

sudo service lightdm stop
sudo apt-get remove nvidia-319 nvidia-331 # (change this line to match the drivers you have installed).

ここで、ドライバーが「ダウンロード」フォルダーにダウンロードされていると仮定します。

cd Downloads
chmod +x NVIDIA*
sudo ./NVIDIA*.run

ここでアスタリスクを使用しました。これは、ダウンロードしたドライバーがGPUに依存するため、私のドライバーとまったく同じ名前かどうかわからないためです。タブキーでオートコンプリートを使用して、正確な.run名を使用できます。

画面の指示に従います。完了したら、再起動します。

sudo shutdown -r now

再起動後に同じ問題が発生する場合は、TTYに再度ログインして次の操作を試してください。

sudo nvidia-xconfig

これにより、新しい/etc/X11/xorg.confが再生成されます

私のソリューションを使用した人のための簡単な更新:今日、いくつかのglライブラリの新しい更新により、システムが再び壊れました。私はNVIDIA実行パッケージを再インストールする必要がありましたが、一部のライブラリが変更され、動作状態に復元されたという不満がありました。公式リポジトリのライブラリとドライバにパ​​ッケージされているライブラリの間に互換性の問題があるようです。これが、外部のパッケージャからインストールしたくない理由です...ドライバを再インストールするには、Xを

sudo service lightdm stop

と.runを再インストールします

sudo ./NVIDIA....run 

1
私はこれらのドライバからインストールするには、次のエラーを取得:-> Installing NVIDIA driver version 331.20. -> Running distribution scripts executing: '/usr/lib/nvidia/pre-install'... -> done. -> The distribution-provided pre-install script failed! Continue installation anyway? (Answer: No)
はPatryk

1
私はあなたに言うのを忘れていました、私はまったく同じメッセージを受け取りました。最初は慎重に[いいえ]を選択しましたが、システム全体をあきらめて再インストールしようとしたときに、もう一度試して[はい]を選択して続行し、インストールは正常に終了しました。
animaletdesequia 2014年

同じことをして、今度はシステムに再起動しました:)ありがとう。
Patryk 2014年

1
それが助けてうれしい。今日はゲームをするつもりだったので、一日中PCに頭をぶつけてきました。1つ覚えておいてください。ドライバーがパッケージシステムの外部のソースからインストールされるようになったため、後でxorg-edgersまたは公式のPPAからドライバーをインストールする場合は、最初にこのドライバーを手動でアンインストールする必要があります。apt-getまたはsoftware-centerを使用してこのドライバーを上書きしようとすると、構成が壊れる可能性があります。
animaletdesequia 2014年

1
簡単な更新:一部のパッケージをアップグレードした後、システムを再起動したところ、再び壊れました。どうやら、新しいバージョンのxserver-xorg-video-nouveauは手動でインストールされたnvidiaドライバーを壊しました。これが発生した場合は、別のドライバーを試していたと言ったので、sudo apt-get remove xserver-xorg-video-nouveauで削除して再起動します。再度、プライベートドライバをロードする必要があります。
animaletdesequia 2014年

11

バンブルビーです。バンブルビーはnvidia-driverをブラックリストに載せます。したがって、Ubuntuは起動時にドライバーをロードしようとしていますが、それらはブラックリストに登録されています。Bumblebeeをアンインストールすると助かった。


1
+1 xorg-edgersからのアップデート後に同じ問題が発生し、bumblebeeをアンインストールすると問題が修正されました。
マットデイビス2014年

これも私を助け、マルハナバチをアンインストールすることですべてが解決しました。
Stefan Radovanovici 2014年

どうもありがとうございます!私はこれを4時間修正しようとしていました。バンブルビーをアンインストールすると修正されました。
EmbMicro、2014年

1
削除することを忘れないでください。削除しないと、マルハナバチはブラックリストを削除しません。
Ethereal、2014年

これも私の問題を解決しました。「sudo apt-get purge bumblebee」。バンブルビーは私にとって問題の多いものでした。これはUbuntu 14.04で私にとってはうまくいきました。
mrinterweb 14

5

2日前からnvidia-331パッケージ(331.20-0ubuntu8〜xedgers〜saucy1)のアップグレード後、まったく同じ問題が発生しました。

次に、いくつかの方法を試しました。ppa-purge、ubuntuリポジトリの公式nvidia-current、nvidia-319を使用。しかし、それは自動的に適切にグラフィカルインターフェイスを起動できませんでした(常に低解像度モードで実行し、続行するとハングする)。グラフィカルインターフェイスを復元するには、コンソールモードに戻り、以下を入力する必要がありました。

sudo modprobe nvidia-<ver>
sudo lightdm start

次に、xedgersのWebページに、より安定したパッケージであると想定されているので、(xedgersではなく)x-swatパッケージを使用してみました。

nvidia-331を再インストールしました(ただし、異なるマイナーバージョン331.20-0ubuntu1〜xedgers〜saucy1)、その後起動時にグラフィカルインターフェイスを自動的にロードできるようになりました。

x-swat nvidia-331パッケージのインストール中に関連パッケージが追加/構成されたことが原因である可能性があります。根本的な原因はnvidia-331パッケージ自体ではない可能性がありますが、少なくとも通常の起動に戻すことができます。

試してみる価値があるかもしれません。


x-swatも試したかったのですが、それからdarentの答えを使用して、.runファイルからドライバーをインストールしました。
Patryk 2014年

4

2014-01-05でデュアルグラフィックカードを搭載したThinkpad W520にUbuntu 13.10インストールをアップグレードした後も、同じことが起こりました。アップグレードには、xorg-edgers PPAからのnvidia-331-driver(331.20-0ubuntu1〜xedgers〜saucy1)が含まれていました。

unity-greeter、lightdm、xorg、xserver-xorg、linux-headersを削除して再インストールし、nvidia-currentまたはnvidia-current-updatesにダウングレードしてgdmに切り替えても効果がありませんでした。

問題は間違いなくバンブルビーにあり、これはその特定のアップグレードでnvidia-331にバンドルされているようです。マルハナバチを取り除くまで、コンピューターは通常の状態に戻りません。

すでにドライバをいじった場合に備えて、問題を修正するためのやや手の込んだ手順を次に示します。

「システムは低グラフィックモードで実行されています」画面からCtrl-Alt-F1を押して端末を取得し、ログインします。または、Shiftキーを押しながらシステムを起動し、リカバリモードを選択してネットワークをアクティブにしてから、ルートシェル。

sudo apt-get purge nvidia-*
sudo apt-get purge bumblebee*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install nvidia-331
sudo apt-get remove --purge bumblebee

以前にnvidia-packagesとX11-configファイルをいじったことがある場合は、すべてのxorg.conf-filesをバックアップしてから削除し、新しいファイルを作成する必要がある場合があります。

sudo cp /etc/X11/xorg.conf* ~/YOURBACKUPDESTINATION/
sudo rm /etc/X11/xorg.conf*
sudo nvidia-xconfig

最後にコンピュータを再起動すると、問題ないはずです。

sudo reboot

「システムが低グラフィックスモードで実行されている」問題には多くの理由があり、この解決策は1つの考えられる理由、つまりnvidia-331のマルハナバチに感染したアップグレードのみをカバーしていることに注意してください。

また、この問題は今後のアップグレードで再発する可能性があるため、次回nvidia-driverをアップグレードするときにbumblebeeがインストールされていないことを確認してください。



1

バンブルビーが問題を引き起こしていることを確認できます。/etc/modules.dのbumblebee設定ファイルを見ると、nvidia-331モジュールがブラックリストに登録されていることがわかります。これはおそらくバンブルビーへの最近の変更です。次のコマンドラインを使用してバンブルビーを削除すると、問題が修正されます。

apt-get purge bumblebee 

明らかにこれは、実際にbumblebeeモジュールを使用していない場合にのみ行う必要があります(nvidiaドライバーを使用している場合はおそらく使用しないでしょう)。

この問題は、バージョン311までのすべてのnvidiaドライバーに影響します


0

上記の問題と同様に、2日前のアップグレード後にUbuntu 13.10システムとの戦いもありました。公式のNVIDIAインストーラーを実行しても助けにはなりませんでした。

これは記憶からのものであるため、正確な詳細の欠如を許してください。

別の13.10システムでいくつかの違いはありましたが、問題なく動作していました。nvidia-331とカーネルはどちらも「保持」されています。だから私は、カーネルとnvidia-331パッケージがこの作業システムのようであることを確認する必要があると考えました。

私の解決策は、すべてのnvidiaパッケージをアンインストールすることでしたapt-get remove --purge nvidia *

カーネル3.11.0-15-genericなどをアンインストールします。

カーネル3.11.0-14-generic(3.11.0-14.21)とlinux-headers-3.11.0-14をインストールします

次に、Xedgersパッケージの以前のバージョンが必要でした。これらの各パッケージをグーグルで検索し、launchpad.net nvidia-331_331.20-0ubuntu1〜xedgers〜saucy1_amd64.deb nvidia-persistenced_331.20-0ubuntu1〜xedgers〜saucy1_amd64.deb nvidia-settings-331_20.1-0untu1〜3x3u1〜3x3u1〜3x3〜3x3〜3〜3〜3〜3〜3〜3〜0〜0ubuntu1〜xedgers〜saucy1_amd64.deb 〜saucy1_amd64.deb

apt-get install nvidia-common次に、上記のXedgersパッケージをインストールします...(dpkg -i package.deb)

私はいくつかの依存関係の問題に遭遇し、nvidia-331を後のXedgersパッケージにアップグレードしたいと思っていました。 (「=」を押します)。

この後も「apt-get -f install」が必要だったと思います。わからない。

すべてが順調に進んでいると、DKMSはカーネル3.11.0-14のドライバーを吐き出すはずです。つまり、次の場所に「nvidia_331.ko」というファイルがあるはずです。/lib/modules/3.11.0-14-generic/updates/dkms

ない場合は、「dpkg-reconfigure nvidia-331」でDKMSプロセスを再度実行する必要があります。

「dpkg -l | grep nvidia」の最終結果

ii nvidia-331 331.20-0ubuntu1〜xedgers〜saucy1 amd64 NVIDIAバイナリXorgドライバー、カーネルモジュール、およびVDPAUライブラリsaucy1 amd64 NVIDIAカーネルドライバーを読み込み、デバイスファイルを作成しますii nvidia-settings-331 331.20-0ubuntu1〜xedgers〜saucy1 amd64 NVIDIAグラフィックスドライバーを構成するためのツール

おそらく関係のない最後のものは、何らかの理由で/ etc / X11にxorg.confが存在しなかったことです。「service lightdm stop」はまだ何もしていませんでしたが、X関連のプロセスが「lightdm」と「failsafe」を参照しているのがわかりました。

/etc/X11/xorg.conf.failsafeを/etc/X11/xorg.conf.failsafe.backupに移動しました。アップグレードプロセスから以前のxorg.confファイルのバックアップがあったので、そのうちの1つを/etc/X11/xorg.confとしてコピーしました。

すべてソートされました。

別のシステムでこのプロセスを繰り返しましたが、Xorg.confの問題は発生しませんでした。

ここでの私のコメントが誰かを助けることを願っています。

乾杯。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.